1. Java中的JUnit单元测试
步骤:
1.选中当前工程 - 右键选择:build path - add libraries - JUnit 4 - 下一步
2.创建Java类,进行单元测试。此时的Java类要求:
① 此类是public的
②此类提供公共的无参的构造器
3.此类中声明单元测试方法。
此时的单元测试方法:方法的权限是public,没有返回值,没有形参
4.此单元测试方法上需要声明注解:@Test,并在单元测试类中导入:import org.junit.Test;
5.声明好单元测试方法以后,就可以在方法体内测试相关的代码。
6.写完代码以后,左键双击单元测试方法名,右键:run as - JUnit Test说明:
1.如果执行结果没有任何异常:绿条
2.如果执行结果出现异常:红条
import java.util.Date;
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));
// ClassCastException的异常
// 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());
}
}2. 包装类的使用
1.java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征
2.掌握的:基本数据类型、包装类、String三者之间的相互转换
import org.junit.Test;
public class WrapperTest {
// 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;
// 方式1:连接运算
String str1 = num1 + "";
// 方式2:调用String的valueOf(Xxx xxx)
float f1 = 12.3f;
String str2 = String.valueOf(f1);// "12.3"
Double d1 = new Double(12.4);
String str3 = String.valueOf(d1);
System.out.println(str2);
System.out.println(str3);// "12.4"
}
/*
* 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) {
System.out.println(obj);
}
// 包装类--->基本数据类型:调用包装类Xxx的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;
// System.out.println(num1.toString());
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");
System.out.println(b2);
Boolean b3 = new Boolean("true123");
System.out.println(b3);// false
Order order = new Order();
System.out.println(order.isMale);// false
System.out.println(order.isFemale);// null
}
}
class Order {
boolean isMale;
Boolean isFemale;
}import org.junit.Test;
/*
* 关于包装类使用的面试题
*
*
*/
public class InterviewTest {
@Test
public void test1() {
Object o1 = true ? new Integer(1) : new Double(2.0);
System.out.println(o1);// 1.0
}
@Test
public void test2() {
Object o2;
if (true)
o2 = new Integer(1);
else
o2 = new Double(2.0);
System.out.println(o2);// 1
}
@Test
public void test3() {
Integer i = new Integer(1);
Integer j = new Integer(1);
System.out.println(i == j);// false
// Integer内部定义了IntegerCache结构,IntegerCache中定义了Integer[],
// 保存了从-128~127范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围在
// -128~127范围内时,可以直接使用数组中的元素,不用再去new了。目的:提高效率
Integer m = 1;
Integer n = 1;
System.out.println(m == n);// true
Integer x = 128;// 相当于new了一个Integer对象
Integer y = 128;// 相当于new了一个Integer对象
System.out.println(x == y);// false
}
}
















