Java笔记day03(包装类)
1.以int和Integer为例实现自动装箱及拆箱操作
package Integer;
/*
* 以int和Integer为例实现自动装箱及拆箱操作
* */
public class IntegerTest09 {
public static void main(String[] args) {
Integer x = 10; //自动装箱
int y = x; //自动拆箱,等价于调用了intValue()方法
System.out.println(y); //10
x++; //包装类可以直接参与数学运算
System.out.println(x); //11
System.out.println(x*y); //110
}
}
2.Object接收浮点数据
package Integer;
public class DoubleTest01 {
public static void main(String[] args) {
Object o = 8.0; //double自动装箱为Double,向上转型为Object
double d = (Double)o; //向下转型为包装类,再自动拆箱
System.out.println(d); //8.0
System.out.println(d*100); //800.0
}
}
3.关于Integer自动装箱的数据比较问题
package Integer;
/*
* 两类实例化对象的操作:
* 1.直接赋值
* 2.通过构造方法赋值
* */
public class IntegerTest10 {
public static void main(String[] args) {
Integer x = new Integer(10); //新空间,另外出现横线代表已过时
Integer y = 10; //通过直接赋值方式实例化的包装类对象就可以自动入池了
Integer z = 10;
System.out.println(x==y); //false
System.out.println(x==z); //false
System.out.println(y==z); //true
System.out.println(x.equals(y)); //true
System.out.println(x.equals(z)); //true
System.out.println(y.equals(z)); //true
Integer a = new Integer(1000);
Integer b = 1000;
Integer c = 1000;
System.out.println(a==b); //false
System.out.println(a==c); //false
/*
* 在使用Integer自动装箱实现包装类对象实例化操作中。
* 如果所赋值的内容在-128-127则可以自动实现已有堆内存的引用,
* 可以使用”==“比较;如果不在此范围内,那么就必须依靠equals()
* 来比较
* */
System.out.println(b==c); //false
System.out.println(a.equals(b)); //true
System.out.println(a.equals(c)); //true
System.out.println(b.equals(c)); //true
}
}
4.数据类型转换
package Integer;
/*
* Integer类:public static int parseInt(String s)。
* Double类:public static double parseDouble(String s)。
* Boolean类:public static boolean parseBoolean(String s)。
* Character这个包装类并没有提供一个类似的parseCharacter()方法,因为字符串
* 提供了一个charAt()方法,可以取得指定索引的字符,而且一个字符的长度就是一位
* */
public class IntegerTest11 {
public static void main(String[] args) {
//将字符串变为int型
String str = "12";
int num = Integer.parseInt(str);
System.out.println(num*num); //144
//在这类转型中,字符串必须为纯数字
String str1 = "12q"; //NumberFormatException: For input string: "12q"
int num1 = Integer.parseInt(str1);
System.out.println(num1);
}
}
package Integer;
public class BooleanTest01 {
public static void main(String[] args) {
//将字符串变为boolean型
String str = "true";
boolean b = Boolean.parseBoolean(str);
System.out.println(b); //true
String str1 = "false";
boolean d = Boolean.parseBoolean(str1);
System.out.println(d); //false
String str2 = "我是谁"; //字符代码不是true或false。统一按照false处理
boolean f = Boolean.parseBoolean(str2);
System.out.println(f); //false
}
}