1.jdk 1.6.0:开发环境+运行环境 ,jre1.6.0:运行环境
2.java运行环境要高于编译环境,否则会有报错:Bad version under in .class file
3.断点调试:f5-> step into 、 f6->step over 、 f7->step return 、drop to frame:调到当前方法的首行、resume:跳到下一个断点(若没有下一个断点,运行完整个程序)、
watch:观察变量或表达式的值
断点注意事项:1.断点调试完后,要在breakpoint视图中清除所有的断点
2.断点调试完后,一定要结束运行断点的jvm
4.Eclipse常用快捷键:内容提示:Alt+/
快速修复:Ctrl+1
导包:Ctrl+shift+O
格式化代码块:Ctrl+Shift+F
向前向后:Alt+方向键
添加注释:Ctrl+Shift+/
除去注释:Ctrl+shift+\
查看方法说明:F2
重置透视图
更改为大写:Ctrl+Shift+X
更改为小写:Ctr+Shift+Y
复制行:Ctrl+Alt+向下键
查看继承关系:Ctrl+T
查看源代码:Ctrl+Shift+T
查看所有快捷键:Ctrl+Shift+L
5.Junit的使用:
@before @after 在每一个测试方法加载之前执行
@beforeClass @afterClass 在每一个测试类加载之前执行
作用:初始化操作和结尾操作
Assert断言的使用
6.静态导入
7.自动装箱与拆箱
8.增强for循环:只能用在数组或实现Iterable接口的集合类上
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.junit.Test;
public class Demo3 {
@Test
public void test1() {
int[] arr = new int[] { 1, 2, 3 };
for (int num : arr) {
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);
}
}
@Test
public void test3() {
Map map = new LinkedHashMap();
map.put("1", "aaa");
map.put("2", "bbb");
map.put("3", "ccc");
// 取Map-----传统方法一
/*
* Set set = map.keySet(); Iterator it = set.iterator(); while
* (it.hasNext()) { String key = (String) it.next(); String value =
* (String)map.get(key); System.out.println(key+"="+value); }
*/
//增强for循环---方式一
for(Object obj:map.keySet()){
String key = (String) obj;
String value = (String) map.get(key);
System.out.println(key + "=" + value);
}
}
@Test
public void test4() {
Map map = new LinkedHashMap();
map.put("1", "aaa");
map.put("2", "bbb");
map.put("3", "ccc");
// 取Map-----传统方法二
/*Set set = map.entrySet();
Iterator it = set.iterator();
while (it.hasNext()) {
Map.Entry entry = (Entry) it.next();
String key = (String) entry.getKey();
String value = (String) entry.getValue();
System.out.println(key + "=" + value);
}*/
//增强for循环---方式二
for(Object obj:map.entrySet()){
Map.Entry entry = (Entry) obj;
String key = (String) entry.getKey();
String value = (String) entry.getValue();
System.out.println(key + "=" + value);
}
}
//使用增强for需要注意的问题:增强for循环只适合取数据,若要修改数组或集合中的数据要用传统方式
@Test
public void test5() {
int arr[] = {1,2,3};
for(int i:arr){
i = 10;
}
//若要修改数组用传统for
for(int i = 0;i <arr.length;i++){
arr[i] = 10;
}
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
List list = new ArrayList();
list.add("1");
for(Object obj:list){
obj = "10";
}
System.out.println(list.get(0));
}
}
9.可变参数
import java.util.Arrays;
import java.util.List;
import org.junit.Test;
//可变参数
public class Demo5 {
@Test
public void testSum(){
sum(1,2,3,4,5,6);
}
public void sum(int ...nums){
//可变参数就可以看成数组
int sum = 0;
for(int i:nums){
sum+=i;
}
System.out.println(sum);
}
@Test
public void testAa(){
aa(1,2,3,4,5,6);
}
//可变参数注意问题:aa(int ...nums,int x),这样不行
public void aa(int x,int ...nums){
//可变参数就可以看成数组
int sum = 0;
for(int i:nums){
sum+=i;
}
System.out.println(sum);
}
@Test
public void bb(){
List list=Arrays.asList("1","2","3");
System.out.println(list);
String arr[] = {"1","2","3","4"};
list =Arrays.asList(arr);
System.out.println(list);
Integer nums[] = {1,2,3,5};// !!!!!! 为什么int要改成Integer
list =Arrays.asList(nums);
System.out.println(list);
}
}