八种包装类-Integer
/*Integer重要判断题: */ public class IntegerTest03{ public static void main(String[] args) { Integer a = 128; Integer b = 128; System.out.println(a == b); //false /* java中为了提高程序的执行效率,将[-128到127]之间所有的包装对象提前创建好, 放到了一个方法区的“整数型常量池”当中了,目的是只要用这个区间的数据不需要 再new了,直接从整数型常量池当中取出来。 原理:x变量中保存的对象的内存地址和y变量中保存的对象的内存地址是一样的。 */ Integer x = 127; Integer y = 127; // == 永远判断的都是两个对象的内存地址是否相同。 System.out.println(x == y); //true } }
自动拆箱-自动装箱
/** * 自动装箱:基本数据类型自动转换成包装类。 * 自动拆箱:包装类自动转换成基本数据类型。 * 自动装箱和自动拆箱的好处:方便编程。 */ public class IntegerTest02 { public static void main(String[] args) { // 900是基本数据类型 // x是包装类型 // 基本数据类型 --(自动转换)--> 包装类型:自动装箱 Integer x = 900; System.out.println(x); // x是包装类型 //y是基本数据类型 // 包装类型 --(自动转换)--> 基本数据类型:自动拆箱 int y = x; System.out.println(y); Integer a = 1000; // Integer a = new Integer(1000); a是个引用,保存内存地址指向对象。 Integer b = 1000; // Integer b = new Integer(1000); b是个引用,保存内存地址指向对象。 // == 比较的是对象的内存地址,a和b两个引用中保存的对象内存地址不同。 // == 这个运算符不会触发自动拆箱机制。(只有+ - * /等运算的时候才会。) System.out.println(a == b); //false } }
Intger常用方法
/*Integer类当中有哪些常用的方法: */ public class IntegerTest004 { public static void main(String[] args) { // 手动装箱 Integer x = new Integer(1000); // 手动拆箱。 int y = x.intValue(); System.out.println(y); Integer a = new Integer("123"); // 编译的时候没问题,一切符合java语法,运行时会不会出问题呢? // 不是一个“数字”可以包装成Integer吗?不能。运行时出现异常。 // java.lang.NumberFormatException //Integer a = new Integer("中文"); // 重点方法:static int parseInt(String s) // 静态方法,传参String,返回int //网页上文本框中输入的100实际上是"100"字符串。后台数据库中要求存储100数字,此时java程序需要将"100"转换成100数字。 int retValue = Integer.parseInt("123"); // String -转换-> int //int retValue = Integer.parseInt("中文"); // NumberFormatException System.out.println(retValue + 100); // valueOf方法 static Integer valueOf(int i) // 静态的:int-->Integer Integer i1 = Integer.valueOf(100); System.out.println(i1); // static Integer valueOf(String s) // 静态的:String-->Integer Integer i2 = Integer.valueOf("100"); System.out.println(i2); } }
十进制转为-
二进制-toBinaryString(22)
十六进制-toHexString(11)
八进制-toOctalString(21)
public class T { public static void main ( String[] args ) { //十进制转 二进制 System.out.println(Integer.toBinaryString(22)); //十进制转 十六进制 System.out.println(Integer.toHexString(11)); //十进制转 八进制 System.out.println(Integer.toOctalString(21)); } }
public class IntegerT{ public static void main(String[] args) { // 通过访问包装类的常量,来获取最大值和最小值 System.out.println("int的最大值:" + Integer.MAX_VALUE); System.out.println("int的最小值:" + Integer.MIN_VALUE); System.out.println("byte的最大值:" + Byte.MAX_VALUE); System.out.println("byte的最小值:" + Byte.MIN_VALUE); } }