java 整型


byte(1字節)、short(2字節)、int(4字節)、long(16字節)

java中前綴加上0b或者0B就可以寫二進制數,前綴加上0就可以寫八進制數,前綴加上0x或者0X就可以寫十六進制數

一個字節是8位,最高位是符號位,最高位為0則是正數。最高位為1則是負數,

先了解原碼、反碼和補碼的表示規則:

0的表示:

               原碼:有正零和負零之分,[+0]補=0000 0000,[-0]補=1000 0000;

               反碼:同樣有兩種表示方法,[+0]反=0000 0000 ,[-0]反=1111 1111;

               補碼:零只有一種表示方法,不分正負,[0]補=0000 0000;

所以可以得出取值范圍(因為0和其他一些問題,采用補碼,了解詳情https://blog.csdn.net/ai_yue/article/details/82777806):

byte:最大0111 1111 為 127 最小 1000 0000 為 -128

short:0111 1111 1111 1111 為 32767  1000 0000 0000 0000 為 -32768

int:0111 1111 1111 1111 1111 1111 1111 1111 為  2147483647

       1000 0000 0000 0000 0000 0000 0000 0000 為 -2147483648

long: 9223372036854775807~-9223372036854775808

int和Integer問題:

Integer.valueOf(int i)方法,在傳入i的值不在-128和127之間時,便new出一個新的Integer對象;如果范圍在-128和127之間,則直接從IntegerCache緩存中取出i  對應的Integer對象。所以

        Integer i = Integer.valueOf(127);
	Integer j = 127;
	System.out.println(i == j);  //true
	
	
	Integer x = Integer.valueOf(128);
	Integer y = 128;
	System.out.println(x == y);  //false

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM