Java是一種強型別語言,這意味著在使用它之前必須首先宣告所有變數。在java中宣告變數包括帶有可選值賦值的型別和名稱。如果未分配任何值,則變數保持預設值。對於基本型別,有不同的預設值,但對於Object
資料型別,它始終為null
。
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;
。
從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;