zoukankan      html  css  js  c++  java
  • 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的自学历程...只需坚持
  • 相关阅读:
    把梳子卖给和尚 引起的CRM
    windows 2008 r2 安装 owas 2013
    wopihost
    电商创业,你到底需要多少人的技术团队?
    信息化,并不能代替管理
    可遇不可求的Question之error: Failed dependencies: MySQLconflicts 错误篇
    可遇不可求的Question之flash的socket连接安全策略文件篇
    可遇不可求的Question之MySQL系统变量interactive_timeout 与 wait_timeout 篇
    可遇不可求的Question之导入mysql中文乱码解决方法篇
    Codesmith怎么判断sqlserver数据库字段是不是标识自增字段
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5898323.html
Copyright © 2011-2022 走看看