第1關:基本數據類型和包裝類之間的轉換
任務描述
本關任務:實現基本數據類型與包裝類之間的互相轉換。
相關知識
為了完成本關任務,你需要掌握:
1.什么是包裝類;
2.怎么使用包裝類。
什么是包裝類
在JAVA中,八大基礎數據類型(int,float,double...)是不具備對象的特征的,比如基本數據類型就不能調用方法,功能簡單,為了讓基本數據類型也具備對象的特征,就有了JAVA包裝類。
我們知道基礎數據類型是沒有屬性的,也是不能調用方法的。例如:
int i = 10;
i.toString();
使用這段代碼就會出錯。
但是我們在開發過程中肯定會遇到,將基本數據類型轉換為String類型,或者其他數據類型,而這個時候如果我們要用基礎數據類型實現這些轉換就會非常麻煩,所以Java就有了基本數據類型的包裝類,顧名思義,包裝類就是:將基本數據類型包裝成對象,使其具有了對象的屬性和方法。
這樣就可以使用方法和屬性了。
而包裝類的主要作用也就是:
將本類型與其他類型進行轉換;
將字符串與本類型及包裝類型相互轉換。
怎么使用包裝類
首先我們來看如何定義包裝類:比如定義一個int類型的包裝類
Integer i1 = new Integer(100); ?//定義一個值為100的 整形包裝類
Integer i2 = 100;
上面兩種方式都可以定義整形類型的包裝類。
我們可能會有疑問,數據變成了包裝類,我之后要使用數據怎么辦呢?
很簡單,我們在將包裝類轉換成基本數據類型就可以了。
Integer i1 = new Integer(100);
int value = i1;//方法1
int value2 = i1.intValue();//方法2
經過上述步驟就可以將包裝類轉換成基本數據類型了。這兩個例子分別展示了如何將int類型轉換成包裝類,如何將包裝類轉換成int類型。
我們一般將“基本數據類型轉換成包裝類”的過程叫做裝箱,將“包裝類轉換成基本數據類型”的過程叫做拆箱。
裝箱可以分為手動裝箱和自動裝箱:
拆箱也可以分為手動拆箱和自動拆箱:
這里所舉的例子都是使用int類型,其他數據類型和int類型的包裝類切換方式沒有什么區別,所以關于其他數據類型我們只需要知道它們對應的包裝類名是什么即可。
看上圖,相信你已經明白Java中八大基本數據類型如何與包裝類進行切換了。
測試說明
請仔細閱讀右側代碼,根據方法內的提示,在Begin - End區域內進行代碼補充,具體任務如下:
完成基本數據類型與包裝類之間的相互轉換,即裝箱與拆箱。
編程要求
補充完代碼后,點擊測評,平臺會對你編寫的代碼進行測試,當你的結果與預期輸出一致時,即為通過。
預期輸出:
裝箱后的結果為:66.6和66.6
拆箱結果為:88.88和88.88
開始你的任務吧,祝你成功!
package step1;public class Task {public static void main(String[] args) {//定義float對象float f = 66.6f;//手動裝箱Float f1 = new Float(f) ;//自動裝箱 Float f2 = f ;System.out.println("裝箱后的結果為:" + f1 + "和" + f2);//定義一個Double包裝類值為88.88Double d = new Double(88.88) ;//手動拆箱double d1 = d.doubleValue() ;//自動拆箱double d2 = d ;System.out.println("拆箱結果為:" + d1 + "和" + d2);}}
第2關:包裝類轉換成其他數據類型
任務描述
本關任務:將包裝類轉換成其他數據類型。
相關知識
為了完成本關任務,你需要掌握:1.如何將包裝類轉換成其他基本數據類型。
將包裝類轉換成其他數據類型
很簡單,我們來看一個例子就知道了:
Integer i = new Integer(100);
//轉換成double類型
double d = i.doubleValue();
System.out.println("d的值:" + d);
//轉換成float類型
float f = i.floatValue();
System.out.println("f的值" + f);
相信你已經明白怎么進行轉換了。
編程要求
請仔細閱讀右側代碼,根據方法內的提示,在Begin - End區域內進行代碼補充,具體任務如下:
將int類型數據轉換成其他數據類型。
測試說明
補充完代碼后,點擊測評,平臺會對你編寫的代碼進行測試,當你的結果與預期輸出一致時,即為通過。
預期輸出:
Integer包裝類:67
double類型:67.0
float類型:67.0
int類型:67
開始你的任務吧,祝你成功!
package step2;public class Task {public static void main(String[] args) {// 定義int類型變量,值為67int score = 67;// 創建Integer包裝類對象,表示變量score的值Integer score1 = new Integer(score);// 將Integer包裝類轉換為double類型double score2 = score1.doubleValue() ; // 將Integer包裝類轉換為float類型float score3 = score1.intValue() ;// 將Integer包裝類轉換為int類型int score4 = score1. intValue() ;System.out.println("Integer包裝類:" + score1);System.out.println("double類型:" + score2);System.out.println("float類型:" + score3);System.out.println("int類型:" + score4);}
}
第3關:包裝類與字符串之間的轉換
任務描述
本關任務:實現基本數據類型與字符串的相互轉換。
相關知識
為了完成本關任務,你需要掌握:
1.如何將基本數據類型轉換成字符串;
2.如何將字符串轉換成基本數據類型。
如何將基本數據類型轉換成字符串
我們在開發中會經常會遇到將基本數據類型轉換成字符串的場景。
那如何進行轉換呢?
總共有三種方式:
使用包裝類的toString()方法;
使用String類的valueOf()方法;
使用一個空字符串加上基本類型。
如何將字符串轉換成基本數據類型
我們先來看一段代碼:
String a ="12";
int b = 23;
System.out.println(a+b);
這段代碼輸出的結果應該是,1223,但是我們想讓他輸出35應該怎么做呢?
你肯定想到了,我們先將a轉換成int類型,在相加就可以了。
將字符串轉換成基本數據類型有兩種方式:
調用包裝類的parseXXX()方法;
調用包裝類的valueOf()方法轉換為基本數據類型的包裝類。
編程要求
請仔細閱讀右側代碼,根據方法內的提示,在Begin - End區域內進行代碼補充,具體任務如下:
完成基本數據類型與字符串之間的相互轉換。
測試說明:
補充完代碼后,點擊測評,平臺會對你編寫的代碼進行測試,當你的結果與預期輸出一致時,即為通過。
預期輸出:
str + 12 ?的結果為: 78.512
d + 100 的結果為: 280.2
開始你的任務吧,祝你成功!
package step3;public class Task {public static void main(String[] args) {double a = 78.5;//請在此添加實現代碼//將基本類型a轉換為字符串String str = Double.toString (a) ;System.out.println("str + 12 的結果為: "+(str + 12));String str1 = "180.20";// 將字符串str1轉換為基本類型Double d = Double.valueOf(str1) ;System.out.println("d + 100 的結果為: "+ (d + 100));}
}