重要規則:
//byte short char 做混合運算時,先各自轉換為 int 型別,再做運算
//以下在編譯期就出錯,因為編譯器只檢查語法,jvm不允許 int 轉換為 byte(丟失精度),雖然結果為30,但是運算是在執行期
byte a = 10;
short b = 20;
byte c = (a + b); //報錯
system.out.println(c);
結論:
關於基本資料型別轉換規則:
1、8中基本資料型別除boolean外都可以相互轉換;
2、小容量向大容量轉換為自動轉換(預設轉換):
byte3、byte short char 做混合運算時,各自都先轉換為 int 型別在做運算;
4、大容量向小容量轉換是強制型別轉換,需要加強制型別轉換符,這樣編譯器能通過,但執行期可能損失精度;
5、如果整數沒有超出 byte short char 的取值範圍,可以直接將這個整數賦值給 byte short char;
6、多種資料型別做運算,先轉換成容量大的那種再做運算。
eg:int f = 10/3;能否正常執行?
可以,因為10為int,3為int,運算後還為int,10/3=3,再賦值給f;
重要語法:
擴充套件運算子不改變運算結果型別:
byte a = 10;
a += a; //相當於 a = (byte) a + a;
混合型別運算規則
混合型別運算規則 在表示式遇到不同資料型別的混合運算時,要求不同型別的資料要先轉換成同一型別然後才能進行運算。預設編譯器會有個規則進行自動轉換 自動轉換遵循以下規則 1 若參與運算的兩個引數型別不同,則先轉換成同一型別,然後再進行運算 2 按照資料長度增加的方向進行 即 由 少位元組型別 向 多位元...
C語音混合運算規則
c語言中的基本資料型別 資料之間的混合運算 在程式執行中,變數的資料型別是可以轉換的,轉換方式有兩種。一 自動轉換 自動轉換發生在不同資料型別的量運算時,由編譯系統自動完成。1.自動轉換遵循的規則 1 若參與運算的量的資料型別不同,則先轉換成同一型別,然後進行運算。2 轉換資料始終往長度增加的方向進...
乘 除法運算及其混合運算
乘 除法運算及其混合運算 a 熟練掌握組合語言的框架 b 熟悉 掌握乘法 除法指令 c 熟練掌握使用 debug 命令檢視實驗結果 d 實現乘 除法運算及其混合運算 二 實驗重難點 a 重點 在進行乘除法及其混合運算時,需用到乘法指令 除法 指令,須熟悉 掌握各條指令的格式及功能 乘除法運算結果也 ...