Java является строго типизированным языком. Это означает, что все переменные должны быть объявлены прежде, чем мы можем их использовать. Объявление переменной в Java включает в себя тип, имя и значение. Если объявлена переменная без какого-либо значения, то она содержит значение по умолчанию. Для примитивных типов существуют различные значения по умолчанию, но это всегда null для объектных типов данных.
Примитивные типы данных в Java
Язык программирования Java содержит восемь примитивных типов данных. Четыре типа данных для целочисленных значений — byte, short, int и long. Два примитивных типа данных с плавающей точкой — float и double. Один символьный — char, один для условия — boolean.
В таблице ниже показаны все эти примитивные типы данных с размером, диапазоном, значением по умолчанию и различными способами присвоить их.
Тип | Размер | Диапазон | Значение по умолчанию | Пример |
---|---|---|---|---|
boolean | 1 bit | NA | false | boolean bool = true; |
char | 16 bits | Символы Unicode | ‘\u0000′ или 0 | char c = ‘A’; char c = ‘\u0041′; char c = 65; char c = ‘\t’; |
byte | 8 bits | [-128,127] или [-2^7 to 2^7-1] |
0 | byte b = 10; byte b = 0b010; |
short | 16 bits | [-32768,32767] | 0 | short s = 32; short s = ‘A’; |
int | 32 bits | [-2147483648,2147483647] | 0 | int i = 10; int i = ‘A’; |
long | 64 bits | [-2^63,2^63-1] | 0 | long l = 3200L; long l = 3200; |
float | 32 bits | [-3.4E38, 3.4E38] | 0.0f | float f = (float) 12.34; float f = 12.34f; |
double | 64 bits | [-1.7E308, 1.7E308] | 0.0 | double d = 12.34; |
Пример программы с примитивными типами в Java
Ниже простой Java-программы, показывающая различные способы объявления примитивных типов данных.
Посмотрите внимательно на char и что происходит, когда int преобразуется в байт через явное приведение.
DataTypes.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
package ua.com.prologistic.collections; public class DataTypes { public static void main(String[] args) { char c = 'A'; System.out.println(c); //печатаем A char c1 = '\u0041'; System.out.println(c1); //печатаем A char c2 = 0; System.out.println("Стандартное значение: "+c2+":"); // печатает стандартное значение: : char c3 = 65; System.out.println(c3); //печатаем A char c4 = '\t'; System.out.println("Табуляция:"+c4+":конец табуляции"); //печатаем табуляцию byte b = 10; System.out.println(b); //печатаем 10 byte b1 = (byte) 200; System.out.println(b1); // печатаем -56 //<0...>_11001000 (int), конвертируется в 11001000 (byte) путем удаления ведущих 24 бит // с левый бит равен 1, нам нужно найти значение // дополняет 11001000 -1 = 11000111 //инвертируем 00111000 т.е 56, следовательно, печатаем 56 b1 = (byte) 0b11001000; System.out.println(b1); //печатаем -56 byte b2 = (byte) 320; //256+64 i.e 00000000_00000000_00000001_01000000, byte 01000000 //так как первый бит равен 0, то ничего не мешает определить значение System.out.println(b2); //печатаем 64 short s = 32; short s1 = 'A'; //неявное преобразование char в short System.out.println(s1); //печатаем 65 int i = 'A'; System.out.println(i); //печатаем 65 long l = 3200L; long l1 = 3200; float f = 12.34f; //примеры byte x, y = 1, z = 2; x = (byte) (y + z); } } |
Использование подчеркивания в числовых литералах
Начиная с Java 7, мы можем использовать подчеркивания в числовых литералов, таких как long ccNum = 1234_5678_9101_1121L;
Бинарные литералы
Начиная с Java 7, встроенные типы (byte, short, int и long) также могут быть выражены с помощью двоичной системы исчисления. Мы должны добавить префикс: 0b или 0B.
Парочка примеров:
1 2 3 4 5 |
// 8-битный byte: byte aByte = (byte)0b00100001; // 16-битный short: short aShort = (short)0b1010000101000101; |
Это все, что нужно знать о примитивных типах данных в Java.
Следите за обновлениями на prologistic.com.ua