Java是一种强类型语言,这意味着在使用它之前必须首先声明所有变量。在java中声明变量包括带有可选值赋值的类型和名称。如果未分配任何值,则变量保持默认值。对于基本类型,有不同的默认值,但对于Object
数据类型,它始终为null
。
1. Java原始数据类型
Java编程语言包含八种原始数据类型。四种原始数据类型用于整数值 - byte
,short
,int
和long
。两种原始数据类型用于浮点型十进制值 - float
和double
。表示一个是字符的char
类型,表示一个是条件的boolean
类型。Java编程语言还附带了所有这些原始数据类型的Wrapper
类。
下表显示了所有这些原始数据类型,包括大小,范围,默认值和分配它们的不同方式。
下面是一个简单的java程序,它显示了声明原始数据类型的一些方法 - 仔细阅读char
转换,以及通过显式将int
转换为byte
时会发生什么。
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("Default Value:"+c2+":"); // 打印默认值
char c3 = 65;
System.out.println(c3); //打印 A
char c4 = '\t';
System.out.println("Tab Start:"+c4+":End"); //打印 Tab
byte b = 10;
System.out.println(b); //打印 10
byte b1 = (byte) 200;
System.out.println(b1); // 打印 -56
//<0...>_11001000 (int),转换为 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); //打印 -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;
。
2. 二进制文字
从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;