mapped_pages:
A variable loads and stores a value for evaluation during operations.
Declare a variable before use with the format of type followed by identifier. Declare an array type variable using an opening [
token and a closing ]
token for each dimension directly after the identifier. Specify a comma-separated list of identifiers following the type to declare multiple variables in a single statement. Use an assignment operator combined with a declaration to immediately assign a value to a variable. A variable not immediately assigned a value will have a default value assigned implicitly based on the type.
Errors
Grammar
declaration : type ID assignment? (',' ID assignment?)*;
type: ID ('.' ID)* ('[' ']')*;
assignment: '=' expression;
Examples
Different variations of variable declaration.
int x; <1>
List y; <2>
int x, y = 5, z; <3>
def d; <4>
int i = 10; <5>
float[] f; <6>
Map[][] m; <7>
int x
; store default null
to x
List y
; store default null
to y
int x
; store default int 0
to x
; declare int y
; store int 5
to y
; declare int z
; store default int 0
to z
;def d
; store default null
to d
int i
; store int 10
to i
float[] f
; store default null
to f
Map[][] m
; store default null
to m
Use the assignment operator '='
to store a value in a variable for use in subsequent operations. Any operation that produces a value can be assigned to any variable as long as the types are the same or the resultant type can be implicitly cast to the variable type.
Errors
Grammar
assignment: ID '=' expression
Examples
Variable assignment with an integer literal.
int i; <1>
i = 10; <2>
int i
; store default int 0
to i
int 10
to i
Declaration combined with immediate assignment.
int i = 10; <1>
double j = 2.0; <2>
int i
; store int 10
to i
double j
; store double 2.0
to j
Assignment of one variable to another using primitive type values.
int i = 10; <1>
int j = i; <2>
int i
; store int 10
to i
int j
; load from i
→ int 10
; store int 10
to j
Assignment with reference types using the new instance operator.
ArrayList l = new ArrayList(); <1>
Map m = new HashMap(); <2>
ArrayList l
; allocate ArrayList
instance → ArrayList reference
; store ArrayList reference
to l
Map m
; allocate HashMap
instance → HashMap reference
; implicit cast HashMap reference
to Map reference
→ Map reference
; store Map reference
to m
Assignment of one variable to another using reference type values.
List l = new ArrayList(); <1>
List k = l; <2>
List m; <3>
m = k; <4>
List l
; allocate ArrayList
instance → ArrayList reference
; implicit cast ArrayList reference
to List reference
→ List reference
; store List reference
to l
List k
; load from l
→ List reference
; store List reference
to k
; (note l
and k
refer to the same instance known as a shallow-copy)List m
; store default null
to m
k
→ List reference
; store List reference
to m
; (note l
, k
, and m
refer to the same instance)Assignment with array type variables using the new array operator.
int[] ia1; <1>
ia1 = new int[2]; <2>
ia1[0] = 1; <3>
int[] ib1 = ia1; <4>
int[][] ic2 = new int[2][5]; <5>
ic2[1][3] = 2; <6>
ic2[0] = ia1; <7>
int[] ia1
; store default null
to ia1
1-d int array
instance with length [2]
→ 1-d int array reference
; store 1-d int array reference
to ia1
ia1
→ 1-d int array reference
; store int 1
to index [0]
of 1-d int array reference
int[] ib1
; load from ia1
→ 1-d int array reference
; store 1-d int array reference
to ib1
; (note ia1
and ib1
refer to the same instance known as a shallow copy)int[][] ic2
; allocate 2-d int array
instance with length [2, 5]
→ 2-d int array reference
; store 2-d int array reference
to ic2
ic2
→ 2-d int array reference
; store int 2
to index [1, 3]
of 2-d int array reference
ia1
→ 1-d int array reference
; load from ic2
→ 2-d int array reference
; store 1-d int array reference
to index [0]
of 2-d int array reference
; (note ia1
, ib1
, and index [0]
of ia2
refer to the same instance)