Java является строго типизированным языком. В нём определены следующие простые типы данных.
· Целочисленные данные
o byte — 8 бит
o short — 16 бит
o int — 32 бита
o long —64 бита
· Данные с плавающей точкой
o float — 32 бита
o double — 64 бита
· Символьные данные
o char — 16 бит
· Логические данные
o boolean — принимают два значения: true или false.
В Java такое свободное обращение с типами недопустимо, ведь средства, обеспечивающие работу Java, должны обеспечивать реальную переносимость программ. Таким образом, в Java, в отличие от некоторых версий C, типы short и int — не синонимы.
Число бит в переменных типа long увеличилось вдвое по сравнению с языком C. Кроме того, среди целочисленных типов появился тип byte. В языке C роль хранилища байтовых значений выполняли переменные типа char.
Ещё одно отличие целочисленных данных состоит в том, что в Java отсутствуют беззнаковые типы.
Символьные данные в Java и C также различаются. Основное отличие состоит в том, что в 16-битовой переменной типа char хранятся значения Unicode. Таким образом, в Java решается проблема поддержки национальных кодировок.
В Java нельзя использовать переменные int, char, long и т. д. для храпения логических значений.