### Primitive Data Types

ICS 111 with Blanca

The following table lists, by keyword, all of the primitive data types supported by Java, their sizes and formats, and a brief description of each. The `MaxVariablesDemo` program declares one variable of each primitive type.

Primitive Data Types

Keyword Description Size/Format
(integers)
`byte` Byte-length integer 8-bit two's complement
`short` Short integer 16-bit two's complement
`int` Integer 32-bit two's complement
`long` Long integer 64-bit two's complement
(real numbers)
`float` Single-precision floating point 32-bit IEEE 754
`double` Double-precision floating point 64-bit IEEE 754
(other types)
`char` A single character 16-bit Unicode character
`boolean` A boolean value (`true` or `false`) true or false

Purity Tip: In other languages, the format and size of primitive data types may depend on the platform on which a program is running. In contrast, the Java programming language specifies the size and format of its primitive data types. Hence, you don't have to worry about system-dependencies.

You can put a literal primitive value directly in your code. For example, if you need to assign the value 4 to an integer variable you can write this:

```int anInt = 4;
```
The digit 4 is a literal integer value. Here are some examples of literal values of various primitive types:

Examples of Literal Values and Their Data Types

 Literal Data Type 178 `int` 8864L `long` `37.266` `double` 37.266D `double` `87.363F` `float` 26.77e3 `double` ' `c` ' `char` ` true` `boolean` `false` `boolean`

Generally speaking, a series of digits with no decimal point is typed as an integer. You can specify a long integer by putting an `'L'` or `'l'` after the number. `'L'` is preferred as it cannot be confused with the digit `'1'`. A series of digits with a decimal point is of type double. You can specify a float by putting an `'f'` or `'F'` after the number. A literal character value is any single Unicode character between single quote marks. The two boolean literals are simply `true` and `false`.