包装类的使用
一、 针对八种基本定义相应的引用类型—包装类(封装类) 有了类的特点,就可以调用类中的方法。
二、junit单元测试方法的使用
package nine;
import org.junit.Test;
//包装类:8种基本数据类型对应着一个类,此类即为包装类。
//基本数据类型 包装类 及String之间的相互转换
public class TestWrapper {
//基本数据类型、包装类与String类之间的转换
@Test
public void test2(){
//基本数据类型、包装类 --->String类:调用String类的重载的valueOf(Xxx x)方法
int i1 = 10;
String str1 = i1 + "";//"10"
Integer i2 = i1;
String str2 = String.valueOf(i2);
String str3 = String.valueOf(true);//"true"
str2 = i2.toString();
System.out.println(str3);
//String类--->基本数据类型、包装类:调用包装类的parseXxx(String str)方法
int i3 = Integer.parseInt(str2);
System.out.println(i3);
boolean b1 = Boolean.parseBoolean(str3);
System.out.println(b1);
//int i4 = (int)str2;
}
//基本数据类型与包装类之间的转化
@Test
public void test1(){
int i = 10;
System.out.println(i);
boolean b = false;
//基本数据类型--->对应的包装类:调用包装类的构造器
Integer i1 = new Integer(i);
System.out.println(i1.toString());
Float f = new Float("12.3F");
System.out.println(f);
//java.lang.NumberFormatException
//i1 = new Integer("12abc");
//System.out.println(i1);
//对于Boolean来讲,当形参是"true"返回true,除此之外返回false。
Boolean b1 = new Boolean("false");
System.out.println(b1);
b1 = new Boolean("truea");
System.out.println(b1);
Order o = new Order();
System.out.println("$ "+o.b);//null
//包装类--->基本数据类型:调用包装类Xxx的XxxValue()方法。
int i2 = i1.intValue();
System.out.println(i2);
float f1 = f.floatValue();
System.out.println(f1);
boolean b2 = b1.booleanValue();
//JDK5.0以后,自动装箱和拆箱
int i4 = 12;
Integer i3 = i4;//自动装箱
Boolean bb = false;
int i5 = i3;//自动拆箱
}
}
class Order{
Boolean b;
}
包装类的练习
包装类的练习一:
package nine;
import java.util.Scanner;
import java.util.Vector;
/*
* 利用Vector代替数组处理:从键盘读入学生成绩(以负数代表输入结束),找出最高分,并输出学生成绩等级。
提示:数组一旦创建,长度就固定不变,所以在创建数组前就需要知道它的长度。
而向量类java.util.Vector可以根据需要动态伸缩。
创建Vector对象:Vector v=new Vector();
给向量添加元素:v.addElement(obj); //obj必须是对象
取出向量中的元素:Object obj=v.elementAt(0);
注意第一个元素的下标是0,返回值是Object类型的。
计算向量的长度:v.size();
若与最高分相差10分内:A等;20分内:B等;
30分内:C等;其它:D等
*/
public class TestScore {
public static void main(String[] args) {
//1.创建Scanner的对象,提示从键盘输入学生的成绩(以负数代表输入结束)
Scanner s = new Scanner(System.in);
System.out.println("请输入学生的成绩:(以负数代表输入结束)");
//2.for(;;),从键盘依次获取学生的成绩,并填入由Vector v=new Vector()创建的对象v中。
Vector v=new Vector();
int maxScore = 0;//记录最高分
for(;;){
int score = s.nextInt();
if(score < 0){
break;
}
//3.求出所有输入的正的成绩中的最高分
//获取学生成绩中的最高分
if(maxScore < score){
maxScore = score;
}
//依次将学生成绩村放入v中
Integer score1 = new Integer(score);
v.addElement(score1);
}
//4.通过v.elementAt(i)依次获取填入v中的元素,同时判断一下各个分数的等级并输出。
for(int i = 0;i < v.size();i++){
Integer score = (Integer)v.elementAt(i);
char level;
if(maxScore - score <= 10){
level = 'A';
}else if(maxScore - score <= 20){
level = 'B';
}else if(maxScore - score <= 30){
level = 'C';
}else{
level = 'D';
}
System.out.println("学生成绩为:" + score + ",等级为:" + level);
}
}
}
韧桂 2019-12-29