Variables in Java

Introduction

In Java, objects store their states in variables. Variables are used as containers to hold values (int, long, string…) during the life cycle of an application.

Variable Definition

To define a variable, we need to assign a data type for that variable. Data type defines the kind of value this variable can hold (int, long or String etc.).

Example of variable definition

	public final int var ;
public :  Access Modifier applied to variable
final    :  Non Access Modifier applied to this variable
int       :  Data type. It defines kind of value this variable can hold (int in this case)
var      :   Name of the variable

Variable Initialization

Now that we are done defining a variable, we can initialize the above variable by assigning a value to it . In this case, we assign the variable an integer value.

	public final int var = 9;

Different Primitive Data Types

Java supports the below mentioned primitive data types.

  • byte
  • short
  • int
  • long
  • float
  • double
  • char
  • boolean

 Note*: Corresponding Wrapper Classes are also available.

Variables Types in Java

Variables in Java can be defined anywhere in the code (inside a class, inside a method or as a method argument) and can have different modifiers. Depending on these conditions variables in Java can be divided into four categories.

  • Instance Variable
  • Static Variable
  • Local Variable
  • Method Parameter

Instance Variable(Non Static Fields)

Instance variables are used by objects to store their states. Variables which are defined without the STATIC keyword  and are outside any method declaration are object specific and are known as Instance Variables. Such variables are called instance variables because their values are instance specific and values of these variables are not shared among instances. For more details go to Instance Variable topic.

Class Variable(Static Fields)

 Variables which are declared with a STATIC keyword inside a Class (outside any Method) are known as Class variable / Static variable. They are known as Class level variables because values of these variables are not specific to any instance but are common to all instances of a class. Such variables will be shared by all instances of an Object. For more d

Local Variables(Method Local)

When a variable is declared inside a Method it is known as Method Local Variable. The scope of local variables is only inside the Method, which means local variables cannot be accessed outside that Method.  There are some restrictions on access modifier that can be applied on local variables. To know more about access modifier CLICK HERE. For more detail go to Local Variable article.

Parameters

Parameters are variables that are passed in Methods. For example, String args[] variables in the main Method is a parameter.

package com.jbt;

/*
 * Here we will discuss about different type of Variables available in Java
 */
public class VariablesInJava {

	public static void main(String args[]) {
		System.out.println("Hello");
	}
}

Series Navigation<< Constructors in JavaLocal Variable in Java >>
By | 2017-08-14T10:54:21+00:00 September 3rd, 2012|Core Java|46 Comments

About the Author:

46 Comments

  1. siva November 1, 2013 at 10:25 am - Reply

    Why there is no navigation provided for next chapters in every page

  2. Zahangir Alam November 20, 2013 at 9:49 am - Reply

    “Why there is no navigation provided for next chapters in every page”- Right. It is very necessary to follow the tutorials….

    • Vivekanand Gautam November 20, 2013 at 5:16 pm - Reply

      Right NAV is already provided. Same can be used for navigation from one topic to another. Meanwhile your point is taken and will try to resolve this problem with next template for my blog.

      Thanks

  3. senthilkumar January 1, 2014 at 4:30 am - Reply

    nice program and tips…..

  4. Jeevan January 20, 2014 at 12:52 pm - Reply

    Dear Mr. Gautam,

    1. Could you please take an example when should we use final ?
    2. In this example where are the parameters?

    package com.jbt;
    public class VariablesInJava {

    public static void main(String args[]) {
    System.out.println("Hello");
    }
    }

    Shouldn’t be like this? (Excuse me for asking silly questions)

    package com.jbt;
    public class VariablesInJava {

    public static void main(username) {
    System.out.println(username);
    }
    }

    • Vivekanand Gautam January 22, 2014 at 3:17 am - Reply

      Hi Jeevan,

      Que 1: Final keyword is used to make sure that once value assigned to a variable doesn’t get changed(If used with Variable).

      Final int i=10;

      i=20; // Here compiler will give you error. As i can not be assigned this value as i is Final.

      Que 2 : Here method(Main) you are referring is not a normal method. It is a Special method used by JVM as starting point for application. Moment you change the signature as you are doing by replacing “String []” with “username”. It will become a normal method in a class. I am not sure exactly what do you mean by parameter.

      Thanks

  5. nantha kumar February 6, 2014 at 7:13 pm - Reply

    dear gautham sir .i’m the beginner in core java.
    so could you show me the basic pakages like What is swing? and related this please.
    i’m already search many times but none of the sites give me the perfect answers what i expected….

    another one query,
    show me tree diagrams for java and their subdivides , if any.

    • Vivekanand Gautam February 7, 2014 at 3:17 am - Reply

      Please check your mail.

      • Garima Jaitly February 8, 2014 at 10:11 am - Reply

        hi
        My name is garima. I am also a beginner in java, so can you please give me the tree diagram of java.
        thanks
        garima

      • shanmugam January 29, 2015 at 3:18 am - Reply

        Sir pls send the headers files and also where they are using ,and their usage

        • Vivekanand Gautam January 31, 2015 at 1:51 pm - Reply

          Which header file you are talking about??

  6. Prince February 25, 2014 at 6:38 am - Reply

    Hello Guys,

    navigation is available. please see on left and right side. are you guys are able to see there is a arrow both side in between page. on mouse hover you will see next and previous page link.

  7. Darshan Mutha March 19, 2014 at 7:32 am - Reply

    Sir, I’m also core java beginner… will you please post the necessary information regarding collection frameworks….

  8. Shwetha March 19, 2014 at 9:34 am - Reply

    Please provide navigation to the next page..

    • Vivekanand Gautam March 19, 2014 at 4:31 pm - Reply

      Hi Shwetha,

      On right nav you will get link to different topic in same category. Also below every article there is a link to next and Previous page. Which can be useful if you want to navigate to other Article.

      Thanks

  9. Deepak March 29, 2014 at 10:37 am - Reply

    Hi Mr.Vivek
    I am Beginner to core java… Basically I am having knowledge about .NET… Here in my work location they asked me to work in JAVA and android.. So plz help me to develop myself by sending me a mail like simple sample programs to my mail……

  10. Raj April 10, 2014 at 2:24 pm - Reply

    Very informative article.

    Few spelling mistakes:
    Under “Instance Variable(Non Static Fields)” section.

    …. used by Objects to store “there” states… There should be “their” instead of there.

    Thanks.

  11. srisiva May 12, 2014 at 10:11 am - Reply

    very useful website

  12. surya June 3, 2014 at 9:12 am - Reply

    Hello Vivekanand Gautam Sir,

    your blogs are very well formed..and easy to understand.i want to know that what is most important thing in java to learn ..means in which topic have to focus to cover java as soon as possible…i am seeing first time java programming…and want to cover java quickly..please guide me how to start study about java….

  13. ayushi July 12, 2014 at 8:49 am - Reply

    hello
    gautam sir,
    I m also a beginner in a core java.
    could you please help me out with the swing section.
    as i have to give interview next week.

  14. swetha July 16, 2014 at 11:55 am - Reply

    dear gautham sir .i’m the beginner in core java.
    so could you show me the basic pakages like What is swing? and related this please.
    i’m already search many times but none of the sites give me the perfect answers what i expected….

    another one query,
    show me tree diagrams for java and their subdivides , if any.

    and please tell me what is heap memory and garbage collector

  15. sumit kumar July 20, 2014 at 10:08 am - Reply

    Hello gautam sir,
    i am also a beginner in core java.
    sir provide package for topic applets And swing with example in Netbeans IDE.

  16. karthick Ramamoorthy August 4, 2014 at 4:32 pm - Reply

    Hi
    Why don’t you give some simple example, as this chapter deals with variable why we want to use objects ,and iam at the bottom level of java just started to learn very basic so it would be better if the examples overs only exact topic.

  17. viany August 27, 2014 at 12:59 pm - Reply

    i am java beginner dont have subject in java plz help

  18. Bhavesh Rathod September 15, 2014 at 10:45 am - Reply

    final String localVariable = “Initial Value”;
    System.out.println(localVariable);

    this line may be not working.
    I ran the same code which you mention but it is not print the localvariable value

  19. anubha October 15, 2014 at 5:47 pm - Reply

    dear gautham sir .i’m the beginner in core java.
    so could you show me the basic pakages like What is swing? and related this please.
    i’m already search many times but none of the sites give me the perfect answers what i expected….

    another one query,
    show me tree diagrams for java and their subdivides , if any.

  20. Anantha November 19, 2014 at 9:51 am - Reply

    Hi, Your post is nice and very useful to start java.having one doubt. Method parameter also come under local variable right? Variable also declared in block.({}).can you please explian these two?.

  21. sanapathi ramesh November 24, 2014 at 4:06 am - Reply

    Hi sir,

    can you tell me why can not use public keyword inside method infront of local variables..

    • Vivekanand Gautam December 2, 2014 at 5:08 pm - Reply

      It is not allowed because there is no point in using the same. public means it should be available to everything in JVM. But Local Variable can not be made available to anything outside Method. Hence it is not allowed to use public keyword.

      Regards

  22. Balan January 14, 2015 at 3:00 am - Reply

    I am new to java. Yet, I felt I should make some suggestions. This lesson could be preceded by a brief write up on the structure of java programmes – say, package>import statements>Classes, including Public Class>methods and main method.

    The examples for both Instance Variables and Class Variables appear similar. One has to read it twice. The relevant portions could have been highlighted differently for the two examples.

    You have said Instance Variables are Instance specific. The obj could have been followed by say obj2 and then whether the variable could have been used by both or not could have been explained ( I am not clear myself as I am learn this area more).

  23. Shekhar January 14, 2015 at 10:24 am - Reply

    Good effort done for the java beginners……Thanks

  24. tamil January 23, 2015 at 6:21 am - Reply

    super sir…

    .i’m the beginner in core java.

    show me tree diagrams for java and their subdivides .

  25. sakshi sharma March 6, 2015 at 9:15 am - Reply

    hii sir,
    can you help in collection framework and gernic data type. actually I studied these topics but I didnt get basic usage whr we can use these topic .

  26. rams June 27, 2015 at 10:01 am - Reply

    Hi Sir, very interesting I am new to programming, can you send the learning tree to place in the industry.

  27. keerthi July 23, 2015 at 9:47 am - Reply

    Hi Sir, very interesting I am new to programming, can you send the learning tree to place in the industry.

  28. Shashikala November 27, 2015 at 9:40 am - Reply

    hi Sir

  29. Shashikala November 27, 2015 at 9:42 am - Reply

    when I click a button “My computer window should appear” can you please help me writing code for this
    Thanks in advance

  30. toni June 8, 2016 at 2:06 am - Reply

    can you explain for me about “public final static int a”, please ?

  31. Manvendra V Singh February 20, 2017 at 7:39 pm - Reply

    Hi ,

    You have mentioned that- “Instance variable can only be accessed by Object of the class only as below.” in first example. But it is NOT correct. A method can use instance variable of it’s own class without using it’s object.

    For Example –
    class Employee {

    public Employee(String n, double s){
    name=n;
    salary=s;
    }

    public void print(){
    System.out.println(“Name = “+name+”Salary = “+salary);
    }
    private String name;
    private double salary;

    }

    • J Singh February 22, 2017 at 5:26 pm - Reply

      When we talk about accessing anything we talk about accessing it from outside of the class. Any method can access any variable irrespective of Access Modifier. There is no point in discussing that behavior. Hope it clarifies.

Leave A Comment