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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

float与double类型参数区别_8大基本数据类型及包装类,不知道这些点别说自己是大佬...

發布時間:2023/12/1 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 float与double类型参数区别_8大基本数据类型及包装类,不知道这些点别说自己是大佬... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一般地,當需要使用數字的時候,我們通常使用內置數據類型,如:byte、int、long、double 等。然而,在實際開發過程中,我們經常會遇到需要使用對象,而不是內置數據類型的情形。為了解決這個問題,Java 語言為每一個內置數據類型提供了對應的包裝類。所以Java語言預定義了8種包裝類型:

byte -> Byte

short -> Short

int -> Integer

long -> Long

float -> Float

double -> Double

char -> Character

boolean -> Boolean

例如:

Integer.toBinaryString()可得到一個整數的二進制代碼

Integer.toHexString()可得到一個整數的十六進制代碼

Integer.parseInt()可將一個String轉換成int

Integer.toString()可將一個int轉換成String

字符串和數值類型的轉換

字符串 -> 數值: XXX.parseXXX(), 如Integer.parseInt()
數值 -> 字符串: toString(), String.valueOf()

java中的自動裝箱與拆箱

/**

* @author YY哥哥

* java中的自動裝箱與拆箱

* 簡單一點說,裝箱就是自動將基本數據類型轉換為包裝器類型;拆箱就是自動將包裝器類型轉換為基本數據類型。

*/

public class TestDemo {

public static void main(String[] args) {

/**

Integer x= 128; // 裝箱,相當于 Integer.valueOf(128);

int y = x; //相當于 x.intValue() 拆箱

System.out.println(y);

*/

/**

對于–128到127(默認是127)之間的值,被裝箱后,會被放在內存里進行重用

但是如果超出了這個值,系統會重新new 一個對象

*/

Integer x = 200;

Integer y = 200;

/**

注意 == 與 equals的區別

== 它比較的是對象的地址

equals 比較的是對象的內容

*/

if(x==y) {

System.out.println("true");

} else {

System.out.println("false");

}

}

}

Java 會對 -128 ~ 127 的整數進行緩存,所以當定義兩個變量初始化值位于 -128 ~ 127 之間時,兩個變量使用了同一地址:

Integer a=123;

Integer b=123;

System.out.println(a==b); // 輸出 true

System.out.println(a.equals(b)); // 輸出 true

當兩個 Integer 變量的數值超出 -128 ~ 127 范圍時, 變量使用了不同地址:

a=1230;

b=1230;

System.out.println(a==b); // 輸出 false

System.out.println(a.equals(b)); // 輸出 true

Java 中 int 和 Integer 的區別

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

Integer x = new Integer(100);

Integer y = new Integer(100);

System.out.print(x == y); //false

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

2. int 和 Integer 所占內存比較:

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

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

/**

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

*/

public class TestDemo {

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。

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

/**

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

*/

public class TestDemo {

public static void main(String[] args) {

Integer x1 = 127;

Integer y1 = 127;

System.out.println(x1 == y1);//輸出:true

Integer x2 = 128;

Integer y2 = 128;

System.out.println(x2 == y2);//輸出:false

}

}

解釋:java 在編譯 Integer x1 = 127 時,會翻譯成 Integer x1 = Integer.valueOf(127)。

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

/**

* 比較Integer變量與int變量

*/

public class TestDemo {

public static void main(String[] args) {

Integer x1 = 200;

Integer x2 = new Integer(200);

int y = 200;

System.out.println(x1 == y);//輸出:true

System.out.println(x2 == y);//輸出:true

}

}

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

謝謝大家關注

總結

以上是生活随笔為你收集整理的float与double类型参数区别_8大基本数据类型及包装类,不知道这些点别说自己是大佬...的全部內容,希望文章能夠幫你解決所遇到的問題。

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