Day3
集合
集合可以理解为:可变长度只能存储引用数据类型的容器
- ArrayList
import java.util.ArrayList; public class test { public static void main(String[] arg) { //Java实现对集合做了底层处理,直接打印里面的引用类型输出的是值而不是地址 //创建集合al,尖括号里面是泛型的实际类型 ArrayList<String> al = new ArrayList<>(); //ArrayList的方法 //1.添加元素 al.add("aaa"); //2.删除元素 boolean result = al.remove("aaa");//返回是否删除成功 String s = al.remove(0);//通过索引删除元素,返回删除值 //修改元素 String result = al.set(1, "ddd");//传入索引和目标值,返回被修改前的值 //查询单个元素 String s = al.get(0);//传入索引返回索引的值 //集合长度 int s = al.size(); } }
若想要将基本数据类型放入集合,则需要啊使用这些类型对应的包装类
byte short char int long float double boolean Byte Shrot Character Integer Long Float Double Boolean tips: 循环语句可以在循环前面加一个标记,例如:
loop while
之后在break
或continue
后面加这个标记就可以直接跳转了
测试驱动开发(TDD)
- 基本流程
- 编写接口
- 编写测试
- 编写实现(回到第二步,直到测试通过)
- 任务完成
- 单元测试的好处
- 确保单个方法运行正常
- 如果修改了方法代码,只需确保其对应的单元测试通过
- 测试代码本身就可以作为示例代码
- 可以自动化运行所有测试并获得报告
- Junit的使用步骤
- 将Junit框架的jaar包导入到项目中
- 为需要测试的业务项,定义对应的测试类,并为每个业务方法编写对应的测试方法
- 测试方法上必须声明@Test注解,然后在测试方法中,编写代码调用测试的业务方法
- 选中测试方法,选择junit运行
//使用vscode导入Junit的jar包以后,创建测试文件和测试类
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class Test01 {
//要标记测试方法,测试方法必须是公开无返回值的
@Test
public void testPrint() {
//在测试方法中调用测试函数
Print("hello");
//用断言判断测试值和期待值是否相同,第一个信息是断言失败的返回值
assertEquals("有bug", Print("hello), "hello");
}
}
- Junit中常见的注解
注解 | 说明 |
---|---|
@Test | 测试方法必须用它修饰才能为测试方法 |
@Before | 用来修饰一个实例方法,该方法在每个测试方法之前执行一次 |
@After | 用来修饰一个实例方法,该方法在每个测试方法之后执行一次 |
@BeforeClass | 用来修饰静态方法,… |
@AfterClass | 用来修饰静态方法,… |
static
- 用于定义成员或者成员方法
- 可以把静态…理解为它是类的属性而不是实例的属性
- 静态变量存放在堆内存中
类的种类
- Javabean类:表示各种事物
- 测试类:用来测试方法
- 工具类:只定义类方法,不设置属性(要私有化构造方法)