資料型別,變數

死瘦宅發表於2019-01-26

不管任何東西在計算機儲存都是數字,資料都是數字的形式儲存的,而數字轉成二進位制由記憶體中和處理器互動。

而記憶體是有大小的,選擇合適的型別可以避免不必要的記憶體浪費。

整數型(規定必須轉成10進位制使用)

int(32位,四個位元組 )

long(64位,八個位元組)

byte   萬能型資料型別 一個位元組 8位 網路傳輸的最小單位也是一個位元組,計算機的所有檔案都能進行儲存,是計算機中最小的單位。

short  兩個位元組16位,因為有正負級計算,在二進位制的最高位,0表示正數,1表示負數

字元型:英文用的是 ASCII – 0~127  128個符號 用的是一個位元組,而中文要用的是2個位元組

char(16位,兩個位元組) 沒有負數寄存,java中文書處理是 unicode 編碼

布林型:boolean(8位,一個位元組) 0  false,1  true,實際上儲存 只耗去了一位 儲存的是邏輯值,true false  真與假。

浮點型(小數):小數型別今後計算的時候不精確,放大成整數再計算,float(32位,4個位元組) 後保留 6位小數,double(64位,8個位元組) 後保留 15位小數

public class T5{
    public static void main(String args[]){
        System.out.println(0.05+0.01);
        System.out.println(1.0-0.42);
        System.out.println(123.3/100);
    }
};
結果:
0.060000000000000005
0.5800000000000001
1.2329999999999999

解決辦法:

public class T5{
    public static void main(String args[]){
    System.out.println(((0.05*100)+(0.01*100))/100);
        System.out.println(((1.0*100)-(0.42*100))/100);
        System.out.println(((123.3*10)/(100*10))/10);
    }
};
0.06
0.58
0.1233

常用的資料型別:整數 int  ,小數  double ,字元 char , 字串 String ,邏輯值( 布林值) boolean, 檔案(照片,程式,壓縮包….) byte

變數,是一個常量值

在程式執行過程中,其值可以改變的量稱之為變數,就是宣告一個標識指向記憶體地址,進行操作,變? 我們可以改變記憶體資料,就有如改變標識中的資料。

變數賦值為什麼數值後要加F或者L?

public class T6 {
    public static void main(String[] args) {
        long a=1000000L;告訴java他是long型別的 java預設是型別的
        float b=15.1f;告訴系統他是float型別的 java預設是double
    }
}

常量

常量值:整數  int,小數 double,字元  char,字串 String,字串 String,整數後加L 表示為 long型別

宣告常量:final 最終,名稱最好是全大寫,final  資料型別   常量標識名稱=值,資料儲存在常量區域

型別轉換

小的資料型別可以直接轉換成大的,因為就是冰箱,你小的可以,但你放個大象肯定是放不進去的啊,

強制型別轉換:儘量不要用,會有風險的,從大到小就想是截肢,直接擷取一半,正數強制轉換成負數

舉例
100000000000000001這是負數因為高位為1(16位)
00000001(轉換成了正數高位為0)


相關文章