Java加强篇:
-
调试:
step into (f5) step over (f6) step return(f7) drop to frame跳回函数开始位置 Resume (f8) 跳到下一个断点处,如果没有下一个断点,结束调试
在breakpoints 目录里面,清除断点。每次调试完成以后记得清除断点单元测试: 同一个包下,建立测试类,用@test进行相关的测试
快捷键: shift+Ctrl+L出现所有快捷键的设置
2、增强for:
- 只能用在数组,或者实现iterable借口的集合类上;
数组:
@Test
public void test1(){
int str[] = {1, 2, 3};
for(int num: str){
System.out.println(num);
}
}`集合:
@Test
public void test2(){
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
for(Object obj : list){
int i = (Integer)obj;
System.out.println(i);
}
}
- map
map只有在将其转化为set集合或者entry后才能用增强for
//增强for迭代map中的数据 方法1
@Test
public void test4(){
Map map = new LinkedHashMap();
map.put("1", "aa");
map.put("2", "bb");
map.put("3", "cc");
for(Object obj: map.keySet()){
String key = (String) obj;
String value = (String) map.get(key);
System.out.println(key+"="+value);
}
}
//增强for迭代map中的数据 方法2
@Test
public void test5(){
Map map = new LinkedHashMap();
map.put("1", "aa");
map.put("2", "bb");
map.put("3", "cc");
for(Object obj: map.entrySet()){
Entry entry = (Entry) obj;
String key = (String) entry.getKey();
String value = (String) entry.getValue();
System.out.println(key+"="+value);
}
}
3、枚举:
- 作用:设计规定范围的数据
- 样例:
public class demo_1 {
@Test
public void test1(){
print(Grade.A);
}
public void print(Grade grade){//打印分数
System.out.println(grade.getValue());
}
}
enum Grade{//枚举类型
A("100-90"),B("89-80"),C("79-70"),D("69-60"),E("59-0");
//使用新的构造方法构造的五个枚举对象
private String value;
private Grade(String value){//私有的构造函数
this.value = value;
}
public String getValue(){//共有的功能函数
return this.value;
}
}
- 抽象枚举:
- 适用于一个枚举对象,却要表现两个以上属性值,如:
A、 B、 C、 D、 E分别对应着100-90,89-80,79-70,69-60,59-0
同时也对应着 “优秀”、“良”、“一般”、“差”和“不及格”
所以,可以用抽象方法来做:
public class demo1 {
@Test
public void test1(){
print(Grade.A);
}
public void print(Grade grade){
System.out.println(grade.getValue());
grade.localValue();//调用抽象方法
}
}
enum Grade{
A("100-90"){
public void localValue(){
System.out.println("优秀");
}
}
//分别写抽象方法
,B("89-80"){
public void localValue(){
System.out.println("良");
}
}
,C("79-70"){
public void localValue(){
System.out.println("一般");
}
}
,D("69-60"){
public void localValue(){
System.out.println("差");
}
}
,E("59-0"){
public void localValue(){
System.out.println("不及格");
}
};
private String value;
private Grade(String value){
this.value = value;
}
public String getValue(){
return this.value;
}
public abstract void localValue();
//抽象方法,使得整个类成为抽象类,所以,要分别实例化
}