Одной из основных особенностей Java является то, что данный язык является строго типизированным. А это значит, что каждая переменная и константа представляет определенный тип и данный тип строго определен. Тип данных определяет диапазон значений, которые может хранить переменная или константа. Рассмотрим систему встроенных базовых типов данных, которая используется для создания переменных в Java. А она представлена следующими типами:
хранит значение true или false
- boolean isActive = false;
- boolean isAlive = true;
хранит целое число от -128 до 127 и занимает 1 байт
- byte a = 3;
- byte b = 8;
хранит целое число от -32768 до 32767 и занимает 2 байта
- short a = 3;
- short b = 8;
хранит целое число от -2147483648 до 2147483647 и занимает 4 байта
- int a = 4;
- int b = 9;
хранит целое число от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 и занимает 8 байт
- long a = 5;
- long b = 10;
хранит число с плавающей точкой от ±4.9*10-324 до ±1.8*10308 и занимает 8 байт
- double x = 8.5;
- double y = 2.7;
В качестве разделителя целой и дробной части в дробных литералах используется точка.
хранит число с плавающей точкой от -3.4*1038 до 3.4*1038 и занимает 4 байта
- float x = 8.5F;
- float y = 2.7F;
хранит одиночный символ в кодировке UTF-16 и занимает 2 байта, поэтому диапазон хранимых значений от 0 до 65535
При этом переменная может принимать только те значения, которые соответствуют ее типу. Если переменная предствляет целочисленный тип, то она не может хранить дробные числа.
Целые числа
Все целочисленные литералы, например, 10,4, -5, воспринимаются как значения типа int, однако мы можем присваивать целочисленные литералы другим целочисленным типам: byte, long, short. В этом случае Java автоматически осуществляет соответствующие преобразования:
- byte a = 1;
- short b = 2;
- long c = 2121;
- long num = 2147483649;
- long num = 2147483649L;
Как правило, значения для целочисленных переменных задаются в десятичной системе счисления, однако мы можем применять и другие системы исчисления. Например:
- int num111 = 0x6F; // 16-тиричная система, число 111
- int num8 = 010; // 8-ричная система, число 8
- int num13 = 0b1101; // 2-ичная система, число 13
- int x = 123_456;
- int y = 234_567__789;
- System.out.println(x); // 123456
- System.out.println(y); // 234567789
- float fl = 30.6f;
- double db = 30.6;
- char ch=102; // символ ‘f’
- System.out.println(ch);
- String hello = «Hello…»;
- System.out.println(hello);