日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java菜鸟教程math类_Java Number Math 类

發布時間:2024/7/19 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java菜鸟教程math类_Java Number Math 类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java 中 int 和 Integer 的區別

1. int 是基本數據類型,int 變量存儲的是數值。Integer 是引用類型,實際是一個對象,Integer 存儲的是引用對象的地址。

2.

Integer i = new Integer(100);

Integer j = new Integer(100);

System.out.print(i == j); //false

因為 new 生成的是兩個對象,其內存地址不同。

3.

int 和 Integer 所占內存比較:

Integer 對象會占用更多的內存。Integer 是一個對象,需要存儲對象的元數據。但是 int 是一個原始類型的數據,所以占用的空間更少。

4. 非 new 生成的 Integer 變量與 new Integer() 生成的變量比較,結果為 false。

/**

* 比較非new生成的Integer變量與new生成的Integer變量

*/

public class Test {

public static void main(String[] args) {

Integer i= new Integer(200);

Integer j = 200;

System.out.print(i == j);

//輸出:false

}

}

因為非 new 生成的 Integer 變量指向的是 java 常量池中的對象,而 new Integer() 生成的變量指向堆中新建的對象,兩者在內存中的地址不同。所以輸出為 false。

5. 兩個非 new 生成的 Integer 對象進行比較,如果兩個變量的值在區間 [-128,127] 之間,比較結果為 true;否則,結果為 false。

/**

* 比較兩個非new生成的Integer變量

*/

public class Test {

public static void main(String[] args) {

Integer i1 = 127;

Integer ji = 127;

System.out.println(i1 == ji);//輸出:true

Integer i2 = 128;

Integer j2 = 128;

System.out.println(i2 == j2);//輸出:false

}

}

java 在編譯 Integer i1 = 127 時,會翻譯成 Integer i1 = Integer.valueOf(127)。

6. Integer 變量(無論是否是 new 生成的)與 int 變量比較,只要兩個變量的值是相等的,結果都為 true。

/**

* 比較Integer變量與int變量

*/

public class Test {

public static void main(String[] args) {

Integer i1 = 200;

Integer i2 = new Integer(200);

int j = 200;

System.out.println(i1 == j);//輸出:true

System.out.println(i2 == j);//輸出:true

}

}

包裝類 Integer 變量在與基本數據類型 int 變量比較時,Integer 會自動拆包裝為 int,然后進行比較,實際上就是兩個 int 變量進行比較,值相等,所以為 true。

flaming

flaming

248***1347@qq.com1年前 (2018-12-12)

總結

以上是生活随笔為你收集整理的Java菜鸟教程math类_Java Number Math 类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。