1、概述
Integer 類在對象中包裝了一個基本類型 int 值
Integer 類提供了很多方法,能在 int 類型和 String 類型之間相互轉換
package zhengshu;
public class IntegerDm {
public static void main(String[] args){
System.out.println(Integer.toBinaryString(100));//轉換成二進制數:1100100
System.out.println(Integer.toOctalString(100));//轉換成八進制數:144
System.out.println(Integer.toHexString(100));//轉換成十六進制數:64
System.out.println("---------------------------");
System.out.println(Integer.MAX_VALUE);//代表int所能表示的最大值
System.out.println(Integer.MIN_VALUE);//代表int所能表示的最小值
}
}
String 類型轉換成 int 類型:
package zhengshu;
public class IntegerDm {
public static void main(String[] args){
int i1 = 100;
System.out.println("i1的值為:"+i1);
Integer i2 = new Integer(i1);
System.out.println("i2的值為:"+i2);
String s1 = "100";
Integer i3 = new Integer(s1);//字符串轉換成數字,前提是這個字符串是由數組字符組成
System.out.println("i3的值為:"+i3);
}
}
2、構造方法
public Integer(int value)
public Integer(String s)
3、成員方法
public int intValue()
public static int parseInt(String s)
public static String toString(int i)
public static Integer valueOf(int i)
public static Integer valueOf(String s)
package zhengshu;
public class IntegerDm {
public static void main(String[] args){
//int -> Stirng
int i1 = 100;
String s1 = ""+ i1;//int -> Stirng
System.out.println(s1);//輸出字符串
String s2 = String.valueOf(i1);//int -> Stirng,返回給定參數的原生 Number 對象值
System.out.println(s2);
Integer i2 = new Integer(i1);
System.out.println(i2);
String s3 = Integer.toString(i1);
System.out.println(s3);
System.out.println("------------------------");
//String -> int
String st1 = "200";
Integer in1 = new Integer(st1);
System.out.println(in1);
int in2 = in1.intValue();
System.out.println(in2);
System.out.println(Integer.parseInt(st1));//parseInt() 方法用于將字符串參數作為有符號的十進制整數進行解析
}
}
4、常用的基本進制轉換
public static String toBinaryString(int i)
public static String toOctalString(int i)
public static String toHexString(int i)
5、十進制轉到其他進制
public static String toString(int i,int radix)
6、其他進制轉到十進制
public static int parseInt(String s,int radix)
package zhengshu;
public class IntegerDm {
public static void main(String[] args){
System.out.println(Integer.toBinaryString(100));//十進制轉二進制
System.out.println(Integer.toOctalString(100));//十進制轉八進制
System.out.println(Integer.toHexString(100));//十進制轉十六進制
System.out.println("---------------------------");
//十進制轉到其他進制
System.out.println(Integer.toString(100,2));//十進制轉二進制
System.out.println(Integer.toString(100,8));//十進制轉八進制
System.out.println(Integer.toString(100,16));//十進制轉十六進制
System.out.println(Integer.toString(100,7));//十進制轉七進制
System.out.println(Integer.toString(100,30));//十進制轉三十進制
System.out.println("============================");
//其他進制轉到十進制
System.out.println(Integer.parseInt("100",10));//那個數字的10進制是100,100
System.out.println(Integer.parseInt("100",2));//那個數字的2進制是100,4
System.out.println(Integer.parseInt("100",8));//那個數字的8進制是100,64
System.out.println(Integer.parseInt("100",16));//那個數字的16進制是100,256
}
}
7、自動裝箱與拆箱
Integer x = new Integer(4); 可以寫成 Integer x = 4;(自動裝箱)
x = x + 5;(自動拆箱),通過 intValue 方法
JDK 1.5 新特性(自動裝箱):把基本類型轉換為包裝類類型
JDK 1.5 新特性(自動拆箱):把包裝類類型轉換為基本類型
package zhengshu;
public class IntegerDm {
public static void main(String[] args){
byte b1 = 100;
byte b2 = b1;
Integer i1 = new Integer(200);//定義一個 int 類型的包裝類型變量i1
Integer i2 = 300;
i2 = i2 + 400;
System.out.println("i2的值為:"+i2);//輸出:700
Integer i3 = Integer.valueOf(500);//自動裝箱
i3 = Integer.valueOf(i3.intValue() + 60);//自動拆箱,再自動裝箱
System.out.println((new StringBuilder("i3的值為:")).append(i3).toString());//輸出:560
}
}
package zhengshu;
public class IntegerDm {
public static void main(String[] args){
Integer i1 = new Integer(128);
Integer i2 = new Integer(128);
System.out.println(i1 == i2);
System.out.println(i1.equals(i2));
System.out.println("-----------------------");
Integer i3 = 128;
Integer i4 = 128;
System.out.println(i3 == i4);
System.out.println(i3.equals(i4));
System.out.println("=========================");
Integer i5 = 127;
Integer i6 = 127;
System.out.println(i5 == i6);
System.out.println(i5.equals(i6));
System.out.println("+++++++++++++++++++++++++");
int i7 = 1280;
Integer i8 = 1280;
System.out.println(i7 == i8);
// 針對-128到127之間的數據,做了一個數據緩沖池,如果數據是該范圍內的,每次并不創建新的空間
}
}
注意:
Integer的數據直接賦值,如果在-128到127之間,會直接從緩沖池里獲取數據
在使用時,Integer x = null; 上面的代碼就會出現 NullPointerException(空指針異常)
8、為了對基本數據類型進行更多的操作,Java針對每一種基本數據類型提供了對應的類類型:包裝類類型。
?byte ??Byte
?short??Short
?int????Integer
?long???long
?float ???Float
?double??Double
?char???Character
?boolean?Boolean
JDK5中添加了新特性(下面給出實例):
?自動裝箱:把基本類型轉化為包裝類類型
?自動拆包:把包裝類類型轉換為基本類型
注意:
?使用時如果設置 Integer x=null代碼會出現空指針異常。
9、Integer類型的靜態成員方法(主要用到D、E兩個方法)
?A、public static String toBinaryString(int i)
?B、public static String toOctalString(int i)
?C、public static String toHexString(int i)
?將int類型轉換為常用的基本進制的字符串類型如:Integer.toHexString(100)
?D、public static String toString(int i,int radix)將int類型轉換為指定的radix進制的字符串類型,進制范圍是2~36因為0-9,a-z 一共36個數,
?E、public static int parseInt(String s,int radix) 將radix進制的字符串到十進制
?F、public static int parseInt(String s) 將字符串類型轉化為int類型,用相似的方法可以實現字符串類型轉換為基本類型,下面int-String類型轉換實例中有介紹。
?G、public static String toString(int i) XM返傭www.fx61.com/brokerlist/xm.html將int類型轉換為字符串類型
?H、public static Integer valueOf(int i) 將int類型轉換為Integer類型
?I、public static Integer valueOf(String s) 將String類型轉換為Integer類型
10、Integer類型的靜態成員變量
?Integer.MAX_VALUE //int范圍的最大值
?Integer.MIN_VALUE //int范圍的最小值
11、Integer類中的成員方法
?public int intValue();將Integer類型返回為int類型
12、Character類
?Character類在對象中包裝了一個基本類型char的單個字段,
?public static boolean isUpperCase(char ch)//大寫
?public static boolean isLowerCase(char ch)//小寫
?public static boolean isDigit (char ch)//數字
?public static char toUpperCase(char ch)//轉換為大寫字符
?public static char toLowerCase(char ch)//轉換為小寫字符
13、int和String的相互轉換實例
package test07_Integer;
//int和String類型的相互轉換
//
public class IntegerDemo {
public static void main(String[] args) {
// int->String
int number=96;
//方式1
String s1=""+number;
System.out.println("s1:"+s1);
//方式2(常用)
String s2=String.valueOf(number);
System.out.println("s2:"+s2);
//方式3
String s3=Integer.toString(number);
System.out.println("s3:"+s3);
//方式4 int->Integer->String
Integer i=Integer.valueOf(number);
String s4=i.toString();
System.out.println("s4:"+s4);
//Sting->int
String s="96";
//方式一
int i1=Integer.parseInt(s);
System.out.println("i1:"+i1);
//方式2
Integer ii=Integer.valueOf(i1);
int i2=ii.intValue();
System.out.println("i2:"+i2);
//注意此方法,如果將一個字符串類型轉換為float類型
float f=Float.parseFloat(s);
System.out.println("f:"+f);
//同理字符串轉換為基本類型都可以調用基本類型對應的包裝類型中的靜態方法
//基本類型 x=包裝類型.parse基本類型(String s);
}
}
14、自動拆箱、自動裝箱時存儲方式實例:
package test07_Integer;
public class IntegerDemo2 {
public static void main(String[] args) {
//自動裝箱:把基本數據類型轉化為包裝類類型
Integer ii=100;
//自動拆箱:把包裝類類型轉換為基本類型
ii+=200;
System.out.println("ii:"+ii);
//原因Integer數據直接賦值,如果在-128~127之間會從直接從數據池中獲取數據,不在此范圍內的數據需要調用new integer()方法創建對象
Integer ii1=127;
Integer ii2=127;
//比較ii1和ii2的值
System.out.println(ii1.equals(ii2));//true
//比較ii1和ii2的地址值
System.out.println(ii1==ii2);//true
Integer ii3=128;
Integer ii4=128;
System.out.println(ii3.equals(ii4));//true
System.out.println(ii3==ii4);//false
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。