您好,登錄后才能下訂單哦!
1、概述
Integer 類在對象中包裝了一個基本類型 int 值
Integer 類提供了很多方法,能在 int 類型和 String 類型之間相互轉(zhuǎn)換
package zhengshu;
public class IntegerDm {
public static void main(String[] args){
System.out.println(Integer.toBinaryString(100));//轉(zhuǎn)換成二進(jìn)制數(shù):1100100
System.out.println(Integer.toOctalString(100));//轉(zhuǎn)換成八進(jìn)制數(shù):144
System.out.println(Integer.toHexString(100));//轉(zhuǎn)換成十六進(jìn)制數(shù):64
System.out.println("---------------------------");
System.out.println(Integer.MAX_VALUE);//代表int所能表示的最大值
System.out.println(Integer.MIN_VALUE);//代表int所能表示的最小值
}
}
String 類型轉(zhuǎn)換成 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);//字符串轉(zhuǎn)換成數(shù)字,前提是這個字符串是由數(shù)組字符組成
System.out.println("i3的值為:"+i3);
}
}
2、構(gòu)造方法
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,返回給定參數(shù)的原生 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() 方法用于將字符串參數(shù)作為有符號的十進(jìn)制整數(shù)進(jìn)行解析
}
}
4、常用的基本進(jìn)制轉(zhuǎn)換
public static String toBinaryString(int i)
public static String toOctalString(int i)
public static String toHexString(int i)
5、十進(jìn)制轉(zhuǎn)到其他進(jìn)制
public static String toString(int i,int radix)
6、其他進(jìn)制轉(zhuǎn)到十進(jìn)制
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));//十進(jìn)制轉(zhuǎn)二進(jìn)制
System.out.println(Integer.toOctalString(100));//十進(jìn)制轉(zhuǎn)八進(jìn)制
System.out.println(Integer.toHexString(100));//十進(jìn)制轉(zhuǎn)十六進(jìn)制
System.out.println("---------------------------");
//十進(jìn)制轉(zhuǎn)到其他進(jìn)制
System.out.println(Integer.toString(100,2));//十進(jìn)制轉(zhuǎn)二進(jìn)制
System.out.println(Integer.toString(100,8));//十進(jìn)制轉(zhuǎn)八進(jìn)制
System.out.println(Integer.toString(100,16));//十進(jìn)制轉(zhuǎn)十六進(jìn)制
System.out.println(Integer.toString(100,7));//十進(jìn)制轉(zhuǎn)七進(jìn)制
System.out.println(Integer.toString(100,30));//十進(jìn)制轉(zhuǎn)三十進(jìn)制
System.out.println("============================");
//其他進(jìn)制轉(zhuǎn)到十進(jìn)制
System.out.println(Integer.parseInt("100",10));//那個數(shù)字的10進(jìn)制是100,100
System.out.println(Integer.parseInt("100",2));//那個數(shù)字的2進(jìn)制是100,4
System.out.println(Integer.parseInt("100",8));//那個數(shù)字的8進(jìn)制是100,64
System.out.println(Integer.parseInt("100",16));//那個數(shù)字的16進(jìn)制是100,256
}
}
7、自動裝箱與拆箱
Integer x = new Integer(4); 可以寫成 Integer x = 4;(自動裝箱)
x = x + 5;(自動拆箱),通過 intValue 方法
JDK 1.5 新特性(自動裝箱):把基本類型轉(zhuǎn)換為包裝類類型
JDK 1.5 新特性(自動拆箱):把包裝類類型轉(zhuǎn)換為基本類型
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之間的數(shù)據(jù),做了一個數(shù)據(jù)緩沖池,如果數(shù)據(jù)是該范圍內(nèi)的,每次并不創(chuàng)建新的空間
}
}
注意:
Integer的數(shù)據(jù)直接賦值,如果在-128到127之間,會直接從緩沖池里獲取數(shù)據(jù)
在使用時,Integer x = null; 上面的代碼就會出現(xiàn) NullPointerException(空指針異常)
8、為了對基本數(shù)據(jù)類型進(jìn)行更多的操作,Java針對每一種基本數(shù)據(jù)類型提供了對應(yīng)的類類型:包裝類類型。
?byte ??Byte
?short??Short
?int????Integer
?long???long
?float ???Float
?double??Double
?char???Character
?boolean?Boolean
JDK5中添加了新特性(下面給出實(shí)例):
?自動裝箱:把基本類型轉(zhuǎn)化為包裝類類型
?自動拆包:把包裝類類型轉(zhuǎn)換為基本類型
注意:
?使用時如果設(shè)置 Integer x=null代碼會出現(xiàn)空指針異常。
9、Integer類型的靜態(tài)成員方法(主要用到D、E兩個方法)
?A、public static String toBinaryString(int i)
?B、public static String toOctalString(int i)
?C、public static String toHexString(int i)
?將int類型轉(zhuǎn)換為常用的基本進(jìn)制的字符串類型如:Integer.toHexString(100)
?D、public static String toString(int i,int radix)將int類型轉(zhuǎn)換為指定的radix進(jìn)制的字符串類型,進(jìn)制范圍是2~36因?yàn)?-9,a-z 一共36個數(shù),
?E、public static int parseInt(String s,int radix) 將radix進(jìn)制的字符串到十進(jìn)制
?F、public static int parseInt(String s) 將字符串類型轉(zhuǎn)化為int類型,用相似的方法可以實(shí)現(xiàn)字符串類型轉(zhuǎn)換為基本類型,下面int-String類型轉(zhuǎn)換實(shí)例中有介紹。
?G、public static String toString(int i) XM返傭www.fx61.com/brokerlist/xm.html將int類型轉(zhuǎn)換為字符串類型
?H、public static Integer valueOf(int i) 將int類型轉(zhuǎn)換為Integer類型
?I、public static Integer valueOf(String s) 將String類型轉(zhuǎn)換為Integer類型
10、Integer類型的靜態(tài)成員變量
?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)//數(shù)字
?public static char toUpperCase(char ch)//轉(zhuǎn)換為大寫字符
?public static char toLowerCase(char ch)//轉(zhuǎn)換為小寫字符
13、int和String的相互轉(zhuǎn)換實(shí)例
package test07_Integer;
//int和String類型的相互轉(zhuǎn)換
//
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);
//注意此方法,如果將一個字符串類型轉(zhuǎn)換為float類型
float f=Float.parseFloat(s);
System.out.println("f:"+f);
//同理字符串轉(zhuǎn)換為基本類型都可以調(diào)用基本類型對應(yīng)的包裝類型中的靜態(tài)方法
//基本類型 x=包裝類型.parse基本類型(String s);
}
}
14、自動拆箱、自動裝箱時存儲方式實(shí)例:
package test07_Integer;
public class IntegerDemo2 {
public static void main(String[] args) {
//自動裝箱:把基本數(shù)據(jù)類型轉(zhuǎn)化為包裝類類型
Integer ii=100;
//自動拆箱:把包裝類類型轉(zhuǎn)換為基本類型
ii+=200;
System.out.println("ii:"+ii);
//原因Integer數(shù)據(jù)直接賦值,如果在-128~127之間會從直接從數(shù)據(jù)池中獲取數(shù)據(jù),不在此范圍內(nèi)的數(shù)據(jù)需要調(diào)用new integer()方法創(chuàng)建對象
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
}
}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。