Автор оригинала: Pankaj Kumar.
Java-это строго типизированный язык, это означает, что все переменные должны быть сначала объявлены, прежде чем мы сможем его использовать. Объявление переменной в java включает тип и имя с необязательным присвоением значения. Если значение не присвоено, переменная содержит значение по умолчанию. Для примитивных типов существуют различные значения по умолчанию, но для объектных типов данных они всегда равны НУЛЮ.
Примитивные типы данных Java
Язык программирования Java содержит восемь примитивных типов данных. Четыре примитивных типа данных предназначены для целочисленных значений – byte, short, int и long. Два примитивных типа данных предназначены для десятичных значений с плавающей запятой – float и double. Один предназначен для символов – символов, а другой – для условия- логического. Язык программирования Java также поставляется с классами-оболочками для всех этих примитивных типов данных.
В таблице ниже показаны все эти примитивные типы данных с размером, диапазоном, значением по умолчанию и различными способами их назначения.
1 бит | логический | NA | логический; | ложный |
16 бит | обуглить | Символы Юникода | чар; чар; чар; чар; | “\u0000” или 0, что является не чем иным, как пробелом |
8 бит | байт | [-128,127] или [от -2^7 до 2^7-1] | байт; байт; | 0 |
16 бит | короткий | [-32768,32767] | короткий; короткий; | 0 |
32 бита | инт | [-2147483648,2147483647] | int; int; | 0 |
64 бита | длинный | [-2^63,2^63-1] | долго, долго; | 0 |
32 бита | плыть | [-3.4E38, 3.4E38] | поплавок f = (поплавок) 12,34; поплавок.34f; | “\u0000” или 0, что является не чем иным, как пробелом |
64 бита | двойной | [-1.7E308, 1.7E308] | двойной.34; | 0.0 |
Ниже приведена простая программа на Java, показывающая различные способы объявления примитивных типов данных – внимательно посмотрите на символ и на то, что происходит, когда int преобразуется в байт с помощью явного приведения.
package com.journaldev.collections; public class DataTypes { public static void main(String[] args) { char c = 'A'; System.out.println(c); //prints A char c1 = '\u0041'; System.out.println(c1); //prints A char c2 = 0; System.out.println("Default Value:"+c2+":"); // prints Default Value: : char c3 = 65; System.out.println(c3); //prints A char c4 = '\t'; System.out.println("Tab Start:"+c4+":End"); //prints Tab Start: :End byte b = 10; System.out.println(b); //prints 10 byte b1 = (byte) 200; System.out.println(b1); // prints -56 //<0...>_11001000 (int), converted to 11001000 (byte) by stripping leading 24 bits // since left most bit is 1, we need to find the value // Ones complement 11001000 -1 = 11000111 //invert digits 00111000 i.e 56, hence printing -56 b1 = (byte) 0b11001000; System.out.println(b1); //prints -56 byte b2 = (byte) 320; //256+64 i.e 00000000_00000000_00000001_01000000, byte 01000000 //since leading bit is 0, nothing is required to determine value System.out.println(b2); //prints 64 short s = 32; short s1 = 'A'; //implicit char to short conversion System.out.println(s1); //prints 65 int i = 'A'; System.out.println(i); //prints 65 long l = 3200L; long l1 = 3200; float f = 12.34f; //Examples byte x, y = 1, z = 2; x = (byte) (y + z); } }
Использование подчеркивания в числовых литералах
Начиная с Java 7 и далее, мы можем использовать подчеркивание в числовых литералах, таких как long;
. Вы можете прочитать больше о них по адресу Подчеркивания в числовых литералах .
Двоичные литералы
Начиная с Java 7 и далее, целочисленные типы (byte, short, int и long) также могут быть выражены с помощью двоичной системы счисления. Нам нужно поставить перед номером префикс 0b или 0B . Вот некоторые из примеров;
// An 8-bit 'byte' value: byte aByte = (byte)0b00100001; // A 16-bit 'short' value: short aShort = (short)0b1010000101000101;
Это все для примитивных типов данных в java. Пожалуйста, внимательно ознакомьтесь с программой, чтобы понять, что происходит, когда мы проводим кастинг.