java基础强化1
---恢复内容开始---
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.自动装箱与拆箱
---恢复内容结束---
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.自动装箱与拆箱
Integer i = 1; //装箱 int j = i; //拆箱
8.增强for循环:只能用在数组或实现Iterable接口的集合类上
1 package com.li; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 import java.util.LinkedHashMap; 6 import java.util.List; 7 import java.util.Map; 8 import java.util.Map.Entry; 9 import java.util.Set; 10 11 import org.junit.Test; 12 13 public class Demo3 { 14 15 @Test 16 public void test1() { 17 int[] arr = new int[] { 1, 2, 3 }; 18 19 for (int num : arr) { 20 System.out.println(num); 21 } 22 } 23 24 @Test 25 public void test2() { 26 List list = new ArrayList(); 27 list.add(1); 28 list.add(2); 29 list.add(3); 30 31 for (Object obj : list) { 32 int i = (Integer) obj; 33 System.out.println(i); 34 } 35 } 36 37 @Test 38 public void test3() { 39 Map map = new LinkedHashMap(); 40 map.put("1", "aaa"); 41 map.put("2", "bbb"); 42 map.put("3", "ccc"); 43 // 取Map-----传统方法一 44 45 46 /* 47 * Set set = map.keySet(); Iterator it = set.iterator(); while 48 * (it.hasNext()) { String key = (String) it.next(); String value = 49 * (String)map.get(key); System.out.println(key+"="+value); } 50 */ 51 52 //增强for循环---方式一 53 for(Object obj:map.keySet()){ 54 String key = (String) obj; 55 String value = (String) map.get(key); 56 System.out.println(key + "=" + value); 57 } 58 59 } 60 61 62 @Test 63 public void test4() { 64 Map map = new LinkedHashMap(); 65 map.put("1", "aaa"); 66 map.put("2", "bbb"); 67 map.put("3", "ccc"); 68 69 // 取Map-----传统方法二 70 71 /*Set set = map.entrySet(); 72 Iterator it = set.iterator(); 73 while (it.hasNext()) { 74 Map.Entry entry = (Entry) it.next(); 75 String key = (String) entry.getKey(); 76 String value = (String) entry.getValue(); 77 System.out.println(key + "=" + value); 78 }*/ 79 80 //增强for循环---方式二 81 for(Object obj:map.entrySet()){ 82 Map.Entry entry = (Entry) obj; 83 String key = (String) entry.getKey(); 84 String value = (String) entry.getValue(); 85 System.out.println(key + "=" + value); 86 } 87 } 88 89 90 //使用增强for需要注意的问题:增强for循环只适合取数据,若要修改数组或集合中的数据要用传统方式 91 @Test 92 public void test5() { 93 94 int arr[] = {1,2,3}; 95 for(int i:arr){ 96 i = 10; 97 } 98 //若要修改数组用传统for 99 for(int i = 0;i <arr.length;i++){ 100 arr[i] = 10; 101 } 102 System.out.println(arr[0]); 103 System.out.println(arr[1]); 104 System.out.println(arr[2]); 105 106 107 List list = new ArrayList(); 108 list.add("1"); 109 for(Object obj:list){ 110 obj = "10"; 111 } 112 System.out.println(list.get(0)); 113 114 } 115 116 }
9.可变参数
1 import java.util.Arrays; 2 import java.util.List; 3 4 import org.junit.Test; 5 6 7 //可变参数 8 public class Demo5 { 9 @Test 10 public void testSum(){ 11 sum(1,2,3,4,5,6); 12 } 13 14 public void sum(int ...nums){ 15 //可变参数就可以看成数组 16 int sum = 0; 17 for(int i:nums){ 18 sum+=i; 19 } 20 System.out.println(sum); 21 } 22 23 @Test 24 public void testAa(){ 25 aa(1,2,3,4,5,6); 26 } 27 28 //可变参数注意问题:aa(int ...nums,int x),这样不行 29 public void aa(int x,int ...nums){ 30 //可变参数就可以看成数组 31 int sum = 0; 32 for(int i:nums){ 33 sum+=i; 34 } 35 System.out.println(sum); 36 } 37 38 @Test 39 public void bb(){ 40 41 List list=Arrays.asList("1","2","3"); 42 System.out.println(list); 43 44 String arr[] = {"1","2","3","4"}; 45 list =Arrays.asList(arr); 46 System.out.println(list); 47 48 Integer nums[] = {1,2,3,5};// !!!!!! 为什么int要改成Integer 49 list =Arrays.asList(nums); 50 System.out.println(list); 51 52 } 53 }