java===java基礎學習(3)---數據類型轉換,運算符級別,枚舉類型
阿新 • • 發佈:2018-02-27
test [] sof 進度 如果 nbsp math 否則 枚舉
數據類型轉換:
有的時候,程序需要將數據類型,比如 int + float ,結果是float, 這裏的int就被轉換為float類型,屬於合法轉換。
Java中的合法轉換如下圖:
紅色表示無信息丟失的轉換,橙色表示可能有進度損失的轉換。
package testbotoo;
public class shuzhileixingzhuanhuan {
public static void main(String[] args){
int n = 123456789;
float f = n; //int類型轉換為float類型
System.out.println(f);
//強制類型轉換
double x = 9.9997;
int nx = (int) x ; //強轉操作,這樣就能截斷小數部分 nx = 9
//當然我們也可以進行舍入運算,用到的是Math.round()方法
double x1 = 9.9997;
int nx1 = (int) Math.round(x1);
System.out.println(nx1);
//運算級別
a && b || c 等價於 (a && b) || c
a += b += c 等價於 a += (b += c)
運算級別如下圖所示:
}
}
轉換規則:
*如果兩個操作數中有一個是double類型,另一個操作數就會轉換為double類型
*否則,如果其中一個操作數是float類型,另一個操作數將會轉換為float類型
*否則,如果其中一個操作數是long類型,另一個操作數將會轉換為long類型
*否則兩個操作數都將被轉換為int類型摘自:《java核心技術》3.5.5
強制換換:
double x = 9.9997;
int nx = (int) x ; //強轉操作,這樣就能截斷小數部分 nx = 9
//當然我們也可以進行舍入運算,用到的是Math.round()方法
double x1 = 9.9997;
int nx1 = (int) Math.round(x1);
System.out.println(nx1);
運算符的級別:
a && b || c 等價於 (a && b) || c
a += b += c 等價於 a += (b += c)
如下圖所示:
java===java基礎學習(3)---數據類型轉換,運算符級別,枚舉類型