• java 16



      JDK5的新特性:自动拆装箱,泛型,增强for,静态导入,可变参数,枚举

      增强for:是for循环的一种。

      格式:
        for(元素数据类型 变量 : 数组或者Collection集合) {
            使用变量即可,该变量就是元素
          }

      好处:简化了数组和集合的遍历。

      弊端: 增强for的目标不能为null。
        如何解决呢?对增强for的目标先进行不为null的判断,然后在使用。

     1 import java.util.ArrayList;
     2 import java.util.Collection;
     3 import java.util.List;
     4 public class ForDemo {
     5 
     6 public static void main(String[] args) {
     7 //int数组的遍历
     8 int[] arr = {11,22,33,44,55,66,77};
     9 for(int i : arr){
    10 System.out.println(i);
    11 }
    12 System.out.println("---------");
    13 
    14 //String数组的遍历
    15 String[] str = {"阿猫","阿狗","花花","草草"};
    16 for(String s : str){
    17 System.out.println(s);
    18 }
    19 System.out.println("---------");
    20 
    21 //Collection集合的遍历
    22 Collection<Integer> c = new ArrayList<Integer>();
    23 c.add(2008);
    24 c.add(2012);
    25 c.add(2016);
    26 for(Integer i : c){
    27 System.out.println(i);
    28 }
    29 System.out.println("---------");
    30 
    31 //ArrayList集合的遍历
    32 ArrayList<String> s = new ArrayList<String>();
    33 s.add("java");
    34 s.add("javaee");
    35 s.add("javase");
    36 s.add("Android");
    37 for(String ss : s){
    38 System.out.println(ss);
    39 }
    40 System.out.println("---------");
    41 
    42 //但是,当遍历的是一个空集合呢?
    43 List<Double> l = null; //大写的Double才是引用类型
    44 //NullPointerException 
    45 // 这个d是我们从list里面获取出来的,在获取前,它肯定还好做一个判断
    46 // 说白了,这就是迭代器的功能
    47 //解决方法:给它加个进入语句的条件
    48 if(l != null){
    49 for(Double d : l){
    50 System.out.println(d);
    51 }
    52 }
    53 
    54 // 增强for其实是用来替代迭代器的
    55 //ConcurrentModificationException
    56 for(String s1 : s){
    57 if("Android".equals(s1)){
    58 s.add("IOS");
    59 }
    60 System.out.println(s1);
    61 }
    62 
    63 }
    64 }



      ArrayList存储字符串并遍历。要求加入泛型,并用增强for遍历。
      目前掌握了3种遍历方法:
        A:迭代器
        B:普通for
        C:增强for

     1 import java.util.ArrayList;
     2 import java.util.Iterator;
     3 public class ArrListDemo {
     4 
     5 public static void main(String[] args) {
     6 //创建ArrayList集合
     7 ArrayList<String> list = new ArrayList<String>();
     8 //给集合添加元素
     9 list.add("java");
    10 list.add("javaee");
    11 list.add("javase");
    12 list.add("Android");
    13 
    14 //第一种遍历方法:迭代器
    15 Iterator<String> it = list.iterator();
    16 while(it.hasNext()){
    17 String s = it.next();
    18 System.out.println(s);
    19 }
    20 System.out.println("-------");
    21 
    22 //第二种遍历方法:普通for
    23 for(int x = 0; x < list.size(); x++){
    24 String s1 = list.get(x);
    25 System.out.println(s1);
    26 }
    27 System.out.println("-------");
    28 
    29 //第三种遍历方法:增强for
    30 for(String s2 : list){
    31 System.out.println(s2);
    32 }
    33 }
    34 
    35 }
    何事都只需坚持.. 难? 维熟尔。 LZL的自学历程...只需坚持
  • 相关阅读:
    catkin_make设置编译并行数
    git操作出现 error: The following untracked working tree files would be overwritten by ...
    《C语言 —— strncat、strncpy、snprintf、fgets》
    C语言 —— 状态机
    《C语言 —— void*的作用》
    《上下文切换 —— 进程上下文切换、线程上下文切换、中断上下文切换》
    Linux 程序调试工具相关
    《Linux系统 —— 环境变量》
    《Linux应用编程 —— 动态库与静态库》
    《摄像头 —— 模拟增益和数字增益》
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5898323.html
Copyright © 2020-2023  润新知