boolean
1-bit. May take on the values true
and
false
only.
true
and false
are defined constants
of the language and are not the same as True
and
False
, TRUE
and FALSE
, zero
and nonzero, 1 and 0 or any other numeric value. Booleans may not
be cast into any other type of variable nor may any other variable
be cast into a boolean.
byte
1 signed byte (two's complement). Covers values from -128 to 127.
short
2 bytes, signed (two's complement), -32,768 to 32,767
int
4 bytes, signed (two's complement). -2,147,483,648 to 2,147,483,647. Like all numeric types ints may be cast into other numeric types (byte, short, long, float, double). When lossy casts are done (e.g. int to byte) the conversion is done modulo the length of the smaller type.
long
8 bytes signed (two's complement). Ranges from -9,223,372,036,854,775,808 to +9,223,372,036,854,775,807.
float
4 bytes, IEEE 754. Covers a range from 1.40129846432481707e-45 to 3.40282346638528860e+38 (positive or negative).
Like all numeric types floats may be cast into other numeric
types (byte
, short
, long
,
int
, double
). When lossy casts to
integer types are done (e.g. float
to
short
) the fractional part is truncated and the conversion
is done modulo the length of the smaller type.
double
char
2 bytes, unsigned, Unicode, 0 to 65,535
Chars are not the same as bytes, ints, shorts or Strings.