从零开始学JAVA——单元测试和包装类

一、java中JUnit单元测试

步骤
1.选中当前工程-右键选择build path - add libraries - JUnit
2.创建java类,进行单元测试
此时的java类要求:1)此类是public 2)此类提供公共的无参的构造器
3.此类声明单元测试方法:
此方法的单元测试方法,方法权限是public,没有返回值,没有形参
4.此单元测试方法需要声明注释@Tset,并在单元测试类中导入:import org.junit.Test;
5.声明好单元测试方法以后,就可以在方法体内测试相关的代码。
6.写完代码以后,左键双击单元测试方法名:右键run as - JUnit Test

说明
1.如果执行结果没有任何异常,绿条
2.如果执行结果出现异常:红条

 import org.junit.Test;
public class JUnitTest {
	int num = 10;
	@Test
	public void testEquals() {
		String s1 = "MM";
		String s2 = "MM";
		System.out.println(s1.equals(s2));
		
//		Object obj = new String("GG");
//		Date date = (Date)obj;
		System.out.println(num);
		show();
	}
	public void show() {
		num= 20;
		System.out.println("show()....");
	}
	@Test
	public void testToString() {
		String s2 = "MM";
		System.out.println(s2.toString());
	}
}

二、包装类的使用

包装类的使用
1.java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征
2.掌握的:基本数据类型、包装类、String三者之间的转换

String ----->基本数据类型、包装类:调用包装类的parseXxx(String s)

	@Test
	public void test5() {
		String str1="123";
		//错误情况
//		int num1 = (int)str1;
//		Integer in1 = (Integer)str1;
		//可能会报NumberFormatException
		int num2 = Integer.parseInt(str1);
		System.out.println(num2+1);
		
		String str2 = "true1";
		boolean b1 = Boolean.parseBoolean(str2);
		System.out.println(b1);
		
	}

基本数据类型、包装类----》String类型:调用String重载的valueOf(xxx xxx)

@Test
	public void test4() {
		int num1 = 10;
		//方式一:连接运算
		String str1 = num1+"";
		//方式二
		float f1 = 12.3f;
		String str2 = String.valueOf(f1);
		
		Double d1=new Double(12.4);
		String str3 = String.valueOf(d1);
		System.out.println(str2);
		System.out.println(str3);
	}
	

JDK 5.0自动装箱与自动拆箱

	@Test
	public void test3() {
//		int num1 = 10;
//		//基本数据类型----》包装类对象
//		method(num1);
		//自动装箱:基本数据类型----》包装类对象
		int num2 = 10;
		Integer in1 = num2;
		
		boolean b1 =true;
		Boolean b2 = b1;
		
		//自动拆箱:包装类----》基本数据类型
		System.out.println(in1.toString());
		
		int num3 = in1;
		
	}
	public void method(Object obj) {
		
	}

包装类---->基本数据类型:调用包装类的xxxValue()

@Test
public void test2() {
	Integer in1  = new Integer(12);
	int i1 =  in1.intValue();
	System.out.println(i1+1);
	
	Float f1 = new Float(12.3);
	float f2 = f1.floatValue();
	System.out.println(f2+1);
}

基本数据类型---->包装类:调用包装类的构造器

	@Test
	public void test1() {
		int num1 = 10;
		Integer in1= new Integer(num1);
		System.out.println(in1.toString());
		
		Integer in2 = new Integer("123");
		System.out.println(in2.toString());
		//报异常
//		Integer in3 = new Integer("123abc");
//		System.out.println(in3.toString());
		Float f1 = new Float(12.3f);
		Float f2 = new Float("12.3");
		System.out.println(f1);
		System.out.println(f2);
		
		Boolean b1 =new Boolean(true);
		Boolean b2 = new Boolean("true");
		Boolean b3 = new Boolean("true123");
		System.out.println(b3);//false
		
		Order order = new Order();
		System.out.println(order.isMale);
		System.out.println(order.isFemale);
	}
}
class Order{
	boolean isMale;
	Boolean isFemale;
}

课后练习一

利用vecor代替数组处理,从键盘读入学生成绩(以负数为代表输入结束),找出最高分,并输出学生成绩等级。
提示:数组一旦创建,长度固定不变,所以在创建数组前就需要知道它的长度
而向量类java.util.Vector可以根据需要动态伸缩。
创建Vector对象,Vector v = new Vector()
给向量添加元素v.addElement(Object obj)
取出向量中的元素 Object obj = v.elementAt(0);
注意第一个元素的下标是0,返回值是Object类型
计算向量的长度:v.size();
若与最高分相差10分内:A等,20分类:B等,30分内:C等,其他D等

public class ScoreTest {
	public static void main(String[] args) {
		//1.实例化Scanner,用于从键盘获取学生成绩
		Scanner scanner  = new Scanner(System.in);
		//2.创建Vector对象Vector v = new Vector();相当于原来的数组
		Vector v = new Vector();
		//3.通过for(;;)或while(true)方式,给Vector中添加数组
		int maxScore=0;
		for(;;) {
			System.out.println("请输入学生成绩(以负数结束)");
			int score = scanner.nextInt();
			//3.2当输入的是负数,跳出循环
			if(score<0) {
				break;
			}
			if(score > 100) {
				System.out.println("输入的数据非法,请重新输入");
				continue;
			}
			//3.1添加v.addElement(Object obj)
			//jdk 5.0以前
//			Integer inScore = new Integer(score);
//			v.addElement(inScore);
			v.addElement(score);
			//4.获取学生成绩最大值
			if(maxScore < score) {
				maxScore = score;
			}
		}
		
		//5.遍历vector,得到每个学生的成绩,并与最大成绩比较,得到每个学生的等级
		char level;
		for(int i = 0;i<v.size();i++) {
			Object obj = v.elementAt(i);
			//jdk5.0
//			Integer inScore = (Integer)obj;
//			int score = inScore.intValue();
			//5.0之后
			int score = (int)obj;
			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("student - "+i+"score is"+score+",level is"+level);
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值