A variable is defined by an identifier, a type, and an optional initializer. The variables also have a scope(visibility / lifetime).
In Java, all variables must be declared before they can be used. The basic form of a variable declaration is shown here:
type identifier [ = value][, identifier [= value] ...] ;
There are three parts in variable definition:
type
could be int
or float
.identifier
is the variable's name. To declare more than one variable of the specified type, use a comma-separated list.
int a, b, c; // declares three ints, a, b, and c. int d = 3, e, f = 5; // declares three more ints, initializing d and f.
The following variables are defined and initialized in one expression.
public class Main { public static void main(String[] argv) { byte z = 2; // initializes z. double pi = 3.14; // declares an approximation of pi. char x = 'x'; // the variable x has the value 'x'. } }
Variable cannot be used prior to its declaration.
public class Main { public static void main(String[] argv) { count = 100; // Cannot use count before it is declared! int count; } }
Compiling the code above generates the following error message:
The assignment operator is the single equal sign, =. It has this general form:
var = expression;
type of var
must be compatible with the type of expression.
The assignment operator allows you to create a chain of assignments.
public class Main { public static void main(String[] argv) { int x, y, z; x = y = z = 100; // set x, y, and z to 100 System.out.println("x is " + x); System.out.println("y is " + y); System.out.println("z is " + z); } }
The output:
Java allows variables to be initialized dynamically.
In the following code the Math.sqrt
returns the square root of 2 * 2
and assigns
the result to c
directly.
public class Main { public static void main(String args[]) { // c is dynamically initialized double c = Math.sqrt(2 * 2); System.out.println("c is " + c); } }
The output from the code above is