1. 程式人生 > >java===java基礎學習(3)---數據類型轉換,運算符級別,枚舉類型

java===java基礎學習(3)---數據類型轉換,運算符級別,枚舉類型

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)---數據類型轉換,運算符級別,枚舉類型