1. 程式人生 > 其它 >|NO.Z.00028|——————————|^^ 筆試 ^^|——|Java&變數資料型別.V12|----------------------------------------|Java.v12|資料型別.v07|整數型別程式設計|

|NO.Z.00028|——————————|^^ 筆試 ^^|——|Java&變數資料型別.V12|----------------------------------------|Java.v12|資料型別.v07|整數型別程式設計|



[BigDataJava:Java&變數資料型別.V12]                                                                      [BigDataJava.語言基礎] [|章節二|變數資料型別|整數型別概念|整數型別程式設計|整數型別筆試|]








一、整數型別概念
### --- 資料型別

~~~     ——>Java語言中描述整數資料的型別有:# byte、short、int、long、薦int型別
~~~     ——>其中byte型別在記憶體空間中佔1個位元組,表示範圍:-2^7 ~ 2^7-1
~~~     ——>其中short型別在記憶體空間中佔2個位元組,表示範圍是:-2^15 ~ 2^15-1
~~~     ——>其中int型別在記憶體空間中佔4個位元組,表示範圍是:-2^31 ~ 2^31-1
~~~     ——>其中long型別在記憶體空間中佔8個位元組,表示範圍是:-2^63 ~ 2^63-1
~~~     ——>在Java程式中直接寫出的整數資料叫做直接量/字面值/常量,預設為int型別,若希望表達更大的直接量,則在直接量的後面加上l或者L,推薦L
二、整數型別的程式設計使用
### --- 程式設計實現整數型別的使用

/*
    程式設計實現整數型別的使用
*/
public class IntTest {
    
    public static void main(String[] args) {
        
        // 1.宣告一個byte型別的變數並初始化
        byte b1 = 25;
        //byte b1 = 250;     // 錯誤: 不相容的型別: 從int轉換到byte可能會有損失  250這樣直接寫出的整數資料叫做直接量/常量/字面值 預設為int型別 
        // 2.列印變數的數值
        System.out.println("b1 = " + b1); // b1 = 25
        
        System.out.println("---------------------------------------------");
        // 3.宣告一個short型別的變數並初始化
        short s1 = 250;
        //short s1 = 250250;  // 錯誤:不相容的型別:從int轉換到short可能會有損失
        System.out.println("s1 = " + s1); // s1 = 250
        
        System.out.println("---------------------------------------------");
        // 4.宣告一個int型別的變數並初始化
        int i1 = 250250;
        //int i1 = 2502505006; // 錯誤: 整數太大   預設為int型別,這個資料自身已經出錯,無法表示
        //int i1 = 2502505006L;  // 錯誤:不相容的型別:從long轉換到int可能會有損失
        System.out.println("i1 = " + i1); // i1 = 250250
        
        System.out.println("---------------------------------------------");
        // 5.宣告一個long型別的變數並初始化,若描述比long型別還大的資料則使用java.math.BigInteger型別
        long g1 = 2502505006L;
        System.out.println("g1 = " + g1); // g1 = 2502505006
        
        System.out.println("---------------------------------------------");
        // 6.請問下面的程式碼是否有錯誤?若有請指出並說明原因
        //int i2 = 25;
        //byte b2 = i2;  // 錯誤: 不相容的型別: 從int轉換到byte可能會有損失
        //System.out.println("b2 = " + b2);
        
    }
}
### --- 編譯執行

~~~     # 編譯
C:\Users\Administrator\Desktop\project>javac IntTest.java
~~~     # 列印輸出

C:\Users\Administrator\Desktop\project>java IntTest
b1 = 25
---------------------------------------------
s1 = 250
---------------------------------------------
i1 = 250250
---------------------------------------------
g1 = 2502505006
---------------------------------------------

附錄一:整數型別筆試考點
### --- 宣告變數:數字不能開頭

~~~     ——>到底是識別符號還是直接量,就比較容易混淆。
        long g1 = 2502505006L;
        System.out.println("g1 = " + g1); // g1 = 2502505006
### --- 判斷程式碼的錯誤
~~~     請問下面的程式碼是否有錯誤?若有請指出並說明原因
~~~     變數和直接量之間的區別

        //int i2 = 25;
        //byte b2 = i2;                         // 錯誤: 不相容的型別: 從int轉換到byte可能會有損失
        //System.out.println("b2 = " + b2);








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)