2.變量、數據類型、運算符

第2章 變量、數據類型、運算符

一、標識符:

標識符

二、關鍵字,也叫保留字

在這裏插入圖片描述

三、變量

1.變量定義:程序中爲存儲數據而定義的名稱。變量就是存儲空間數據的表示,它可以表示數據在內存中的地址。通過變量改變存儲的值,任何變量都有類型。
2.變量的命名規範:遵循“駱峯命名法”,變量首字符小寫,各單詞連接的首字符必須大寫。如:studentName, myName, ……。變量名稱命名必須含義清晰,可由一或多個單詞組成或由單詞的簡寫形式組成。
在這裏插入圖片描述
注意:變量名是標識符,所以變量的命名與標識符命名是完全一樣的。
3.聲明變量語法:
i.方式1)數據類型 變量名 = 值;//計算機會分配內存來存儲值
ii.方式2)數據類型 變量名; //這種方式不佔用計算機的內存
變量名 = 值; //接着再給變量賦值
如: int money = 1000;
System.out.println(money);
或者
int money;
Money = 1010;
注意:如果變量在使用前必須初始化(即賦值)否則將會報編譯錯誤。
int money; //未賦值
System.out.println(money); //編譯錯誤

四、 數據類型的分類


基本數據類型(也叫值類型、原始類型)。值類型僅僅表示內存一個簡單的數值。
引用類型(對象類型,如數組、接口,即使是基本數據類型的數組也是引用類型)。在Java中任何一種基本數據類型(值類型)都有一個相對應的類進行封裝;這點後面會講到現在先了解即可。
值類型 –-> 引用類型(包裝類型)
int java.lang.Integer類
short java.lang.Short類
byte java.lang.Byte類
long java.lang.Long類
char java.lang.Character類
float java.lang.Float類
double java.lang.Double類
boolean java.lang.Boolean類
基本數據類型(值類型)的細分如下:
基本數據類型
在這裏插入圖片描述
byte:字節,佔8個二進制位,數值範圍256:-128 ~ +127
char: 字符,佔2個字節,16個二進制位。
boolean: 布爾類型,false/true.
short: 短整型,佔2個字節,數值範圍65536:-32768 ~ +32767
int: 整型,佔4個字節
long: 長整型,佔8個字節
float: 單精度浮點型,佔4個字節
double:雙精度浮點型,佔8個字節
注意:String不屬於基本數據類型,是引用類型。引用類型(對象)纔會有屬性和方法(後面會詳細講解)。
五、各數據類型的使用:
//整數類型

byte bt = 10;   // -128 ~ +127
short sh = 90;  //-32768 ~ +32767
int i = 22;
long ln = 784354353L;
System.out.println("byte bt=" + bt);
System.out.println("short sh=" + sh);
System.out.println("int i=" + i);
System.out.println("long ln=" + ln);

//小數類型,在實際開發應用中double使用的多,float使用少。
float fl = 3.1415926F; //單精度浮點類型,定義時要加一個"f/F"
//float fl = 3.1415926; //錯誤

double db = 543.099;  //雙精度浮點類型
System.out.println("float fl=" + fl);
System.out.println("double db=" + db);

注意:Java裏小數默認的數據類型是double,如果是float類型要在值後面加一個”F”或”f”。

六、常量

常量:值永遠不變, 常量一但聲明就不能給它重新賦值。
語法:
public static final 數據類型 常量名(全大寫)= 值;//定義常量時必須初始化
final double PI = 3.1415926; //正確
PI = 899.98342; //錯誤
注意:如果是局部常量聲明時不能有public static

七、運算符

賦值運算符: =
算術運算符:+, -, *, / (取整), % (取餘數)
關係運算符:>,<,,<=,>=,!=。其運算結果是boolean值。
邏輯運算符: &, &&, |, ||, !。用來連接多個關係運算符表達式。
boolean bln = (1
2 & 1<2);
位運算符:>>>,<<<, &, |如果用於數值運算則爲位運算

算術運算符: +, -, , / (取整), % (取餘數)
int a = 10;
int b = 3;
/

int a = 99, b=10;
a += b; 等價於 a = a + b;
其它的幾個運算符( -,*,/,%)類似。
*/
a /= b; //等價於:int a = a/b;
System.out.println(“a=” + a);

八、運算符的優先級

(1) 先執行算數運算(+ - * / %)
(2) 然後執行比較運算(> <…)
(3) 然後執行邏輯運算
(4) 最後執行賦值運算

九、 自增(遞增)++和自減(遞減)

後++,後–
i.變量的原值先被使用或先輸出後,變量的值再自增1或自減1,其優先級低。

int age = 20;
System.out.println( age++ ); //輸出20
System.out.println( age-- ); //輸出20

前++,前–
i.變量值先自增或先自減後,變量的新值再參與運算或輸出,其優先級高。

int age = 20;
System.out.println( ++age ); //輸出21
System.out.println( --age ); //輸出19

十、數據類型轉換

自動類型轉換
制類型轉
在這裏插入圖片描述
自動類型轉換
i.將一種類型的變量賦給另一種類型的變量時,只要滿足以下條件,就會發生
自動類型轉換:
a)兩種類型兼容,如數值類型;
b)目標類型大於源類型;

// float->double 會發生自動轉換
		float fl = 0.9F;
		double db = fl;
		System.out.println("float->double: " + db);
		
	//byte->short->int->long->double 會發生自動轉換
	//float -> double
	byte bt = 11;
	short sh = bt;
	int i = sh;
	long ln = i;
	System.out.println("byte->short->int->long: " + ln);

注意:自動類型轉總是安全的,可以放心使用的,也就是說數值的精度不受影響。

 強制類型轉換
i.強制轉換用於顯式類型轉換。如果被轉換的值的數據類型大於其目標類型,就會丟失部分信息。
特別需要注意:強制類型轉換是不安全的,數據精度可能會受到影響。
類型提升規則
1.兩種類型兼容;
i.例如:int 和 double、float等兼容。
2.目標類型大於源類型;
例如:
i.byte、char和 short 型值可提升爲 int 型。
ii.例如:double 型 大於 int 型。
3.對於表達式
i.如果一個操作數爲 long 型,則整個表達式提升爲 long 型。
ii.如果一個操作數爲 float 型,則整個表達式提升爲 float 型。
iii.如果一個操作數爲 double 型,則整個表達式提升爲 double 型。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章