A Java variable is a piece of memory that can contain a data value. A variable thus has a data type. Data types are covered in more detail in the text on Java data types.
Java Variable Types
In Java there are four types of variables:
- Non-static fields
- Static fields
- Local variables
A non-static field is a variable that belongs to an object. Objects keep their internal state in non-static fields. Non-static fields are also called instance variables, because they belong to instances (objects) of a class. Non-static fields are covered in more detail in the text on Java fields.
A static field is a variable that belongs to a class. A static field has the same value for all objects that access it. Static fields are also called class variables. Static fields are also covered in more detail in the text on Java fields.
A local variable is a variable declared inside a method. A local variable is only accessible inside the method that declared it. Local variables are covered in more detail in the text on Java methods.
A parameter is a variable that is passed to a method when the method is called. Parameters are also only accessible inside the method that declares them, although a value is assigned to them when the method is called. Parameters are also covered in more detail in the text on Java methods.
Java Variable Declaration
Exactly how a variable is declared depends on what type of variable it is (non-static, static, local, parameter). However, there are certain similarities that
In Java you declare a variable like this:
type name ;
Instead of the word
type, you write the data type of the variable. Similarly, instead
of the word
name you write the name you want the variable to have.
Here is an example declaring a variable named
myVariable of type
Here are examples of how to declare variables of all the primitive data types in Java:
byte myByte; short myShort; char myChar; int myInt; long myLong; float myFloat; double myDouble;
Here are examples of how to declare variables of the object types in Java:
Byte myByte; Short myShort; Character myChar; Integer myInt; Long myLong; Float myFloat; Double myDouble; String myString;
Notice the uppercase first letter of the object types.
When a variable points to an object the variable is called a "reference" to an object. I will get back to the difference between primitive variable values and object references in a later text.
Java Variable Assignment
In Java you assign a value to a variable like this:
myByte = 127; myFloat = 199.99; myString = "string value";
You can also assign a value to a variable already when it is declared. Here is how that is done:
byte myByte = 127; float myFloat = 199.99; String myString = "string value";
Java Variable Reading
You can read the value of a Java variable by writing its name where a variable or constant variable can be used in the code. For instance, as the right side of a variable assignment, as parameter to a method call, or inside a arithmetic expression. For instance:
float myFloat1 = 199.99; float myFloat2 = myFloat1; // right hand side value in assignment float myFloat3 = myFloat2 + 123.45; // as part of arithmetic expression System.out.println(myFloat3); // as parameter in method call.
Java Variable Naming Conventions
There are a few rules and conventions related to the naming of variables.
The rules are:
- Variable names are case sensitive. The name
moneyis not the same as
- Variable names must start with a letter, or the $ or _ character.
- After the first character in a variable name, the name can also contain numbers (in addition to letters, the $, and the _ character).
Variable names cannot be equal to reserved key words in Java. For instance, the words
forare reserved words in Java. Therefore you cannot name your variables
There are also a few variable naming conventions. Conventions are not necessary to follow. The compiler to not enforce them. But it may still be a good idea to follow them. The conventions are:
- Variable names are written in lowercase. For instance,
- If variable names consist of multiple words, each word after the first word has its first letter written in uppercase.
- Even though it is allowed, you do not normally start a variable name with $ or _ .
Static final fields (constants) are named in all uppercase, typically using an _ to separate the words in the name.