Java数据类型–基元和二进制文字

时间:2020-02-23 14:36:29  来源:igfitidea点击:

Java是一种强类型语言,这意味着在使用它之前必须先声明所有变量。
在Java中声明变量包括类型和名称以及可选的值分配。
如果未分配任何值,则该变量将保留默认值。
对于基本类型,默认值有所不同,但对于Object数据类型,默认值始终为NULL。

Java原始数据类型

Java编程语言包含八种原始数据类型。
四种原始数据类型用于整数值–字节,短,整数和长整数。
浮点型十进制值有两种原始数据类型-浮点型和双精度型。
一种用于字符-char,一种用于条件-布尔值。
包装器类还为所有这些原始数据类型提供了Java编程语言。

下表显示了所有这些原始数据类型,包括大小,范围,默认值和不同的分配方式。

TypeSizeRangeDefault ValueExamples
boolean1 bitNAfalseboolean bool = true;
char16 bitsUnicode Characters'\u0000' or 0, whichis nothing but a white spacechar c = 'A';char c = '\u0041';char c = 65;char c = '';
byte8 bits[-128,127] or[-2^7 to 2^7-1]0byte b = 10;byte b = 0b010;
short16 bits[-32768,32767]0short s = 32;short s = 'A';
int32 bits[-2147483648,2147483647]0int i = 10;int i = 'A';
long64 bits[-2^63,2^63-1]0long l = 3200L;long l = 3200;
float32 bits[-3.4E38, 3.4E38]0.0ffloat f = (float) 12.34;float f = 12.34f;
double64 bits[-1.7E308, 1.7E308]0.0double d = 12.34;

下面是一个简单的Java程序,显示了声明原始数据类型的不同方法-仔细查看char以及将int通过显式转换转换为字节时发生的情况。

package com.theitroad.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 ccNum = 1234_5678_9101_1121L;
您可以在"数字文字"中的"下划线"中阅读有关它们的更多信息。

二进制文字

从Java 7开始,整数类型(字节,短型,整型和长型)也可以使用二进制数字系统表示。
我们需要在数字前面加上0b或者0B。
一些例子是;

//An 8-bit 'byte' value:
byte aByte = (byte)0b00100001;

//A 16-bit 'short' value:
short aShort = (short)0b1010000101000101;