温馨提示×

Java中的基本类型包装类 Integer 类该怎么使用?

发布时间:2020-07-02 18:48:57 来源:51CTO 阅读:294 作者:专注地一哥 栏目:编程语言

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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

免费拨打  400 100 2938 免费拨打 400 100 2938
24小时售后技术支持 24小时售后技术支持
返回顶部 返回顶部