Рубрики
Без рубрики

Типы данных Java – Примитивы и двоичные литералы

Java-это строго типизированный язык, это означает, что все переменные должны быть сначала объявлены, прежде чем мы сможем его использовать. Объявление переменной в java включает в себя тип

Автор оригинала: 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. Пожалуйста, внимательно ознакомьтесь с программой, чтобы понять, что происходит, когда мы проводим кастинг.