變數是一個記憶體位置的名稱。 java中有三種型別的變數:區域性變數,範例變數和靜態變數。java中有兩種型別的資料型別:原始資料型別和非原始資料型別。
變數是在記憶體中分配的保留區域的名稱。換句話說,它是記憶體位置的名稱。這意味著它的值可以改變。
int data=50;// 這裡 data 就是一個變數。
java中有三種型別的變數:
1)區域性變數
在方法內宣告的變數稱為區域性變數。
2)範例變數
在類中宣告但在方法外部的變數稱為範例變數。但它不被宣告為靜態(未加static
修辭符)。
3)靜態變數
被宣告為static
的變數(加static
修辭符)稱為靜態變數。它不能是區域性的。
我們將在下一章中詳細學習這些變數。
下面看幾個範例來了解java中的變數型別。
class A{
int data=50;//範例變數
static int m=100;// 靜態變數
void method(){
int n=90;//區域性變數
}
}//end of class
資料型別表示要儲存在變數中的不同型別的值。 在Java中,有兩種型別的資料型別:
資料型別 | 預設值 | 預設長度 |
---|---|---|
boolean | false | 1 bit |
char | '\u0000' |
2 byte |
byte | 0 | 1 byte |
short | 0 | 2 byte |
int | 0 | 4 byte |
long | 0L | 8 byte |
float | 0.0f | 4 byte |
double | 0.0d | 8 byte |
為什麼char在java中使用2個位元組以及什麼是\u0000?
這是因為java使用Unicode
系統而非ASCII
碼系統編碼。 \u0000
是Unicode系統的最低範圍。要了解有關Unicode的詳細說明,請存取下一頁。
class Simple{
public static void main(String[] args){
int a = 10;
int b = 10;
int c = a + b;
System.out.println(c);
}
}
輸出結果:
20
class Simple{
public static void main(String[] args){
int a=10;
float f=a;
System.out.println(a);
System.out.println(f);
}
}
輸出結果:
10
10.0
class Simple{
public static void main(String[] args){
float f=10.5f;
//int a=f;//Compile time error
int a=(int)f;
System.out.println(f);
System.out.println(a);
}
}
輸出結果:
10.5
10
class Simple{
public static void main(String[] args){
//Overflow
int a=130;
byte b=(byte)a;
System.out.println(a);
System.out.println(b);
}
}
輸出結果:
130
-126
class Simple{
public static void main(String[] args){
byte a=10;
byte b=10;
//byte c=a+b;//Compile Time Error: because a+b=20 will be int
byte c=(byte)(a+b);
System.out.println(c);
}
}
輸出結果:
20