包装类的使用:
1.java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征
2.掌握的:基本数据类型,包装类,String三者之间的相互转换
自动装箱
基本数据类型转化为包装类:
基本数据类型 变量名=这个变量名的值;
包装类名 对象名=变量名;
自动拆箱
包装类转化为基本数据类型:
基本数据类型 变量名=包装类的对象名
由于JDK5.0以后存在自动装箱,自动拆箱。所以基本数据类型和包装类的相互转化比较简单基本可以看为一体
主要的还是看包装类、基本数据类型它们两与String类型的相互转化
基本数据类型、包装类转化为String类型:
方法一、String 变量名=基本数据类型的变量名+"";
基本数据类型、包装类------>String类型:调用String重载的valueof(Xxx xxx)
方法二、
基本数据类型 变量名=值;
String 变量名=String.valueof(基本数据类型变量名//包装类的对象名);
String类型转化为基本数据类型和包装类:
String类型----->基本数据类型、包装类:调用包装类的parseXxx()
与包装类对应的基本数据类型 变量名=包装类类名.parseInt(Steing类型的变量名)
()?:;当是这个符号时应当注意单位统一
1 public class textTest { @Test public void text() { Integer i=new Integer(1); Integer j=new Integer(1); System.out.println(i==j); //Integer内部定义了IntegerCache结构,IntegerCache中定义了Integer[],保存了从-128~127范围里的整数。如果我们使用自动装箱就直接给 //Integer赋-128~127范围内值就是直接使用数组里面的元素,不同再去new。这样提高了效率 Integer n=1; Integer m=1; System.out.println(m==n); //如果不是-128~127的值则需要重新去new一个Integer的整数对象 Integer a=128; Integer b=128; System.out.println(a==b); } }
2利用Vector代替数组处理:从键盘读入学生成绩(以负数代表输入结束),找出最高分,并输出学生成绩等级。➢提示:数组一旦创建,长度就固定不变,所以在创建数组前就需要知道它的长度。而向量类java.util.Vector可以根据需要动态伸缩。
➢创建Vector对象: Vector v=new Vector();
➢给向量添加元素: v.addElement(Cpjeect obj); //obj必须是对象
➢取出向量中的元素: Object obj=v.elementAt(0);V注意第一个元素的下标是0,返回值是Object类型的。
➢计算向量的长度: v.size();
➢若与最高分相差10分内: A等; 20分内: B等;30分内: C等;其它: D等
import java.util.Scanner; import java.util.Vector; public class te { public static void main(String[] args) { Scanner sc=new Scanner(System.in); Vector v=new Vector(); int max=0; for(;;){ System.out.println("获取学生成绩(负数为结束)"); int a=sc.nextInt(); if(a<0){break;} else if (a>100) {continue; } else{ Integer A=a; v.addElement(A);} if(a>max){max=a;} } for(int i=0;i<v.size();i++){ Object obj=v.elementAt(i); Integer A=(Integer) obj; int a=A; if(max-a<=10){System.out.println(a+"是A");} else if(max-a<=20){System.out.println(a+"是B");} else if (max-1<=30){System.out.println(a+"是c");} else {System.out.println(a+"是D");} System.out.println("最大值为:"+max); } } }