Java-裝拆箱及 int-String型別轉換
阿新 • • 發佈:2022-03-30
jdk1.5之前
- 裝箱:Integer i = new Integer(10)
jdk1.5之後
- Integer i = 5;裝箱
- int n = i; 拆箱
package com.shujia.wyh.day17; /* 需求1:求出100這個資料的二進位制,八進位制,十六進位制。 需求2:如何使用程式碼求出int型別等基本資料型別的範圍呢? 如果按照之前的做法,需求1我們可以按照數學邏輯一步一步計算,但是需求2,我們不知道從哪下手。 如果說有一種辦法,可以對基本資料型別進行更多的操作,更方便的操作就好了。 Java針對每一個基本資料型別都提供了一個對應的類給我們使用,既然是類了,就可以建立物件,呼叫類中的方法來實現需求。 這樣的對應著每一個基本資料型別的類,稱之為包裝類。 基本資料型別: 包裝類型別: byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean 綜上所述,每一個基本資料型別都一個對應的包裝類,上課只舉例int對應的包裝類Integer 包裝類型別的使用場景: 1、在今後的集合學習中會使用到(泛型) 2、用於基本資料型別與字串之間做轉換 */ public class PackClassDemo1 { public static void main(String[] args) { //需求1:求出100這個資料的二進位制,八進位制,十六進位制。 //int型別對應的包裝類Integer //public static String toBinaryString(int i)在基數2中返回整數引數的字串表示形式為無符號整數。 String s = Integer.toBinaryString(100); System.out.println("100的二進位制是:" + s); //public static String toOctalString(int i)在基數8中返回整數引數的字串表示形式為無符號整數。 String s1 = Integer.toOctalString(100); System.out.println("100的八進位制是:" + s1); //public static String toHexString(int i)返回整數引數的字串表示形式,作為16位中的無符號整數。 String s2 = Integer.toHexString(100); System.out.println("100的十六進位制是:" + s2); // 需求2:如何使用程式碼求出int型別等基本資料型別的範圍呢? //static int MAX_VALUE 一個持有最大值一個 int可以有2 31 -1。 //static int MIN_VALUE 的常量保持的最小值的 int可以具有,-2 31。 //獲取int型別的最大範圍值 System.out.println(Integer.MAX_VALUE); //獲取int型別的最小範圍值 System.out.println(Integer.MIN_VALUE); } }
package com.shujia.wyh.day17; /* int型別與String型別做相互轉換 int -- String String -- int */ public class PackClassDemo2 { public static void main(String[] args) { //int -- String int num = 100; //方式1: String s1 = "" + num; System.out.println(s1); //方法2:(推薦第二種) String s2 = String.valueOf(100); System.out.println(s2); //方式3: //int -- Integer -- String Integer i = 100; //自動裝箱 將基本資料型別的資料直接賦值給對應的包裝類型別 // System.out.println(i); //public String toString()返回String表示此物件Integer的價值。 // 該值被轉換為帶符號的十進位制表示形式,並作為字串返回,就像將整數值作為toString(int)方法的引數給出。 String s3 = i.toString(); System.out.println(s3); System.out.println("==================================="); //String -- int String string = "100"; //方式1: //String -- Integer -- int // Integer decode = Integer.decode(string); // System.out.println(decode); // //public int intValue()將 Integer的值作為 int 。 // int i1 = decode.intValue(); // System.out.println(i1); //方式2: //String -- Integer -- int //Integer(String s) //構造一個新分配 Integer物件,表示 int由指示值 String引數。 Integer integer = new Integer(string); int i2 = integer.intValue(); System.out.println(i2); //方式3:(最常用的) //public static int parseInt(String s)將字串引數解析為帶符號的十進位制整數。 int i1 = Integer.parseInt("100"); System.out.println(i1); } }