java 基础增强
来源:互联网 发布:owncloud php fpm 编辑:程序博客网 时间:2024/05/17 03:09
java基础
//文件复制public class Demo1 { public static void main(String[] args) throws Exception { InputStream is = new FileInputStream("F:\\MyEclipseWorkSpace\\myday01\\src\\cn\\itcast\\java\\tools\\myday01\\myday01.txt"); OutputStream os = new FileOutputStream("F:\\MyEclipseWorkSpace\\myday01\\src\\cn\\itcast\\java\\tools\\myday01\\复件myday01.txt"); byte[] buf = new byte[1024]; int len = 0; while(is.read(buf) > 0) { os.write(buf, 0, len); } is.close(); os.close(); }}//使用断点[step over:快捷键F6]public class Demo2 { public static void main(String[] args) { int sum = 0; for (int i = 0; i <= 10; i++) { sum += i; } System.out.println(sum); }}//调试方法间的调用关系//使用断点[step in:快捷键F5]public class Demo3 { public static void main(String[] args) { a(); System.out.println("main()"); } public static void a() { b(); System.out.println("a()"); } public static void b() { c(); System.out.println("b()"); } public static void c() { System.out.println("c()"); }}
junit的使用
//使用junit运行程序public class Demo1 { @Test public void test1() { System.out.println("Junit使用"); } @Test public void test2() { System.out.println("Junit调试"); }}//在myeclipse中的Window --> Show View --> Outline中选择要运行的方法,上述例子中选test1()方法就执行test1()方法;选test2()方法就执行test2()方法;选Demo1就两个方法都执行//在每个方法执行前后执行一次setUp()方法和tearDown()方法public class Demo2 { @Before public void setUp() throws Exception { System.out.println("setup()"); } @Test public void test1() { System.out.println("Test1()"); } @Test public void test2() { System.out.println("Test2()"); } @After public void tearDown() throws Exception { System.out.println("teardown()"); }}//在每个类前后执行一次setUpBeforeClass()方法和tearDownAfterClass()方法public class Demo3 { @BeforeClass public static void setUpBeforeClass() throws Exception { System.out.println("setUpBeforeClass()"); } @Test public void test1() { System.out.println("test1()"); } @Test public void test2() { System.out.println("test2()"); } @AfterClass public static void tearDownAfterClass() throws Exception { System.out.println("tearDownAfterClass()"); }}
静态导入
import org.junit.Test;import static java.lang.Math.PI;import static java.lang.Math.pow;import static java.lang.System.out;//静态导入(导入静态的对象,属性,方法)//crtl+shift+x转换成大写 crtl+shift+y转换成小写public class Demo1 { @Test public void test() { double r = 2.3; out.println("圆的面积:" + PI * pow(r, 2)); }}
自动拆装箱
/*自动拆装箱 JDK5(自动将基本类型和包装类型进行转换) * int<->Integer *///crtl+shift+o一次性导入多个包public class Demo1 { @Test public void test1() { List<String> list = new ArrayList<String>();//尖括号对集合中的类型进行限制 list.add("jack"); String name = list.get(0); System.out.println("name=" + name); //name=jack } @Test public void test2() { int i = 100; List list = new ArrayList(); list.add(i); Integer num = (Integer)list.get(0); System.out.println("num = " + num); //num = 100 }}
增强for循环与集合(Set,List,Map)迭代
//增强for循环(多用于遍历内容)public class Demo1 { @Test public void test1() { int[] is = {1, 2, 3, 4, 5}; for(int i = 0; i < is.length; i++) { System.out.print(is[i] + " "); } } @Test public void test2() { int[] is = {1, 2, 3, 4, 5}; for(int value : is) { System.out.print(value + " "); } } @Test public void testSet() { //set中不允许出现重复元素 Set<Integer> set = new HashSet<Integer>(); set.add(100); set.add(200); set.add(300); //传统方式遍历集合 Iterator<Integer> it = set.iterator(); while(it.hasNext()) { Integer key = it.next(); System.out.println(key + " "); } } @Test public void testList() { List<String> list = new ArrayList<String>(); list.add("jack"); list.add("marry"); list.add("sisi"); //增强for循环遍历集合 for(String name : list) { System.out.print(name + " "); } } @Test public void testMap1() { Map<Integer,String> map = new HashMap<Integer, String>(); map.put(100, "jack"); //key = 100 value = "jack" map.put(200, "marry"); map.put(300, "sisi"); Set<Integer> set = map.keySet();//只获取key值,将map转换为set Iterator<Integer> it = set.iterator(); while(it.hasNext()) { Integer key = it.next(); String value = map.get(key); System.out.println(key + "-" + value); } } @Test public void testMap2() { Map<Integer,String> map = new HashMap<Integer, String>(); map.put(100, "jack"); map.put(200, "marry"); map.put(300, "sisi"); Set<Entry<Integer, String>> set = map.entrySet();//entry中存储的是记录<key,value> Iterator<Entry<Integer, String>> it= set.iterator(); while(it.hasNext()) { Entry<Integer, String> entry = it.next(); Integer key = entry.getKey(); String value = entry.getValue(); System.out.println(key + "<->" + value); } }}迭代Map的两种方式://迭代集合注意的细节//ctrl+/ 单行注释和取消//ctrl+shift+/ 注释 ctrl+shift+\ 取消注释public class Demo2 { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("jack"); list.add("marry"); list.add("sisi"); //传统方式遍历集合// Iterator<String> it = list.iterator(); ListIterator<String> it = list.listIterator(); while(it.hasNext()) { String key = it.next(); System.out.print(key + " "); //list.add("qq"); //动态通知迭代器,加入了新元素,从而迭代器自动通知list集合 it.add("qq"); } System.out.println("list后长度:" + list.size()); it = list.listIterator(); while(it.hasNext()) { String key = it.next(); System.out.print(key + " "); } }}//在迭代集合时,一定要动态通知Iterator,而不要动态通知List集合,应选用ListIterator
可变参数
//可变参数public class Demo1 { public static void main(String[] args) { String[] arr = {"jack", "marry", "sisi", "soso"};// show1(arr);// show2(arr); show3("qq","jack", "marry", "sisi", "soso"); } public static void show1(String[] arr) { for(String a : arr) { System.out.print(a + " "); } } public static void show2(String...arr) { for(String a : arr) { System.out.print(a + " "); } } //可变参数只能放置在参数列表最后 public static void show3(String qq, String...arr) { System.out.println("第一个参数是:" + qq); //第一个参数是qq for(String a : arr) { System.out.print(a + " "); } }}//可变参数//1、参数的个数是不确定的//2、可变参数只能放置在参数的最后,即最右边//3、可变参数最少0个,最多1个//4、编译器将可变参数当作一个一维数组来对待//枚举//1、当取值是某范围中的之一,这时可以使用枚举//2、每一个枚举值相当于该枚举类的一个实例变量 //3、枚举类与普通类一致,可以继承或实现,如果有抽像方法的话,可以利用每个枚举值以匿名内部类的方式去实现,枚举类的构造方法必须是私有的//4、枚举值可以用在switch()语句中//运行时验证枚举://学生public class Student { //姓名 private String name; //等级 private String grade; //等级只能是A,B,C,D,E public Student(){} public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGrade() { return grade; } public void setGrade(String grade) throws Exception { //matches()方法中的参数为正则表达式,枚举类型有matches()方法 if(grade!=null && grade.matches("A|B|C|D|E")) { this.grade = grade; }else{ throw new Exception(); } }}//选中行+Alt+上下键任意移动代码public class Demo1 { public static void main(String[] args) throws Exception { Student student = new Student(); student.setName("jack"); student.setGrade("D"); //student.setGrade("F"); 抛出错误 System.out.println("姓名:" + student.getName()); System.out.println("等级:" + student.getGrade()); }}//编译时验证枚举://分数类public class Grade {//模拟枚举 public static Grade A = new Grade("A", "90-100"); public static Grade B = new Grade("B", "80-89"); public static Grade C = new Grade("C", "70-79"); public static Grade D = new Grade("D", "60-69"); public static Grade E = new Grade("E", "<60"); private String tip; private String desc; private Grade(String tip, String desc) { this.tip = tip; this.desc = desc; } public String getTip() { return tip; } public String getDesc() { return desc; }}//学生public class Student { //姓名 private String name; //分数类 private Grade grade; public String getName() { return name; } public void setName(String name) { this.name = name; } public Grade getGrade() { return grade; } public void setGrade(Grade grade) { this.grade = grade; } }//选中行+Alt+上下键任意移动代码public class Demo1 { public static void main(String[] args) throws Exception { Student student = new Student(); student.setName("jack"); student.setGrade(Grade.A); System.out.println("姓名:" + student.getName()); System.out.println("等级:" + student.getGrade().getTip()); System.out.println("分数区间:" + student.getGrade().getDesc()); }}//编译时验证枚举://分数枚举类public enum Grade { A("A", "90-100"), B("B", "80-89"), C("C", "70-79"), D("D", "60-69"), E("E", "<60"); private String tip; private String desc; private Grade(String tip, String desc){ this.tip = tip; this.desc = desc; } public String getTip() { return tip; } public String getDesc() { return desc; }}//学生public class Student { //姓名 private String name; //分数类 private Grade grade; public String getName() { return name; } public void setName(String name) { this.name = name; } public Grade getGrade() { return grade; } public void setGrade(Grade grade) { this.grade = grade; } }//选中行+Alt+上下键任意移动代码public class Demo1 { public static void main(String[] args) throws Exception { Student student = new Student(); student.setName("marry"); student.setGrade(Grade.A); System.out.println("姓名:" + student.getName()); System.out.println("等级:" + student.getGrade().getTip()); System.out.println("分数区间:" + student.getGrade().getDesc()); }}//枚举类常用方法://季节枚举类public enum Season { SPRING{ public void show() { System.out.println("春天"); } }, SUMMER{ public void show() { System.out.println("夏天"); } }, AUTOMN{ public void show() { System.out.println("秋天"); } }, WINNTER{ public void show() { System.out.println("冬天"); } }; public abstract void show();}/** * 枚举类的常用方法 * @author L J */public class Demo1 { public static void main(String[] args) { Season season = Season.AUTOMN; //打印枚举值 System.out.println(season.name()); //AUTOMN //打印枚举值下标 System.out.println(season.ordinal()); //2 //遍历枚举类中的枚举值 Season[] seasons = season.values(); for(Season s : seasons) { System.out.println(s.name()); } //判断SPRING是否是枚举类中的值,是就返回枚举名称,不是抛出异常 Season flag = Season.valueOf(Season.class, "SPRING"); System.out.println(flag); //SPRING season.show(); //秋天 //枚举用于switch语句 String msg = null; switch(season) { case SPRING: msg = "1"; break; case SUMMER: msg = "2"; break; case AUTOMN: msg = "3"; break; case WINNTER: msg = "4"; break; } System.out.println(msg); //3 }}
阅读全文
0 1
- Java基础增强
- Java基础增强
- java 基础增强
- java基础增强
- Java基础增强
- Java基础&增强 枚举
- Java基础&增强 并发
- java基础增强
- java基础增强1
- Java基础增强
- java基础增强---反射
- Java基础增强---枚举
- java 基础增强
- java基础增强1
- java基础增强--泛型
- Java基础增强---增强for循环实例
- java基础:增强for循环
- Java基础&增强 泛 型
- 黑客-ubuntu下的scapy的ARP攻击(2)
- EventBus3.0简单实用入门
- FrameDecoder API
- java内存详解
- 接口说明文档书写格式
- java 基础增强
- 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
- go语言学习-------Go语言中使用 protobuf
- 数组
- Unreal 4 Color Offset 色彩偏移
- [LeetCode] 129. Sum Root to Leaf Numbers
- python实现将文件夹下面的不是以py文件结尾的文件都过滤掉
- 利用CUDA和opencv绘制Julia集
- 炫酷时钟(css3+js)