• 技术文章 >java >java基础

    java基础:foreach是什么?如何用?

    小妮浅浅小妮浅浅2021-02-04 12:48:49原创2889

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    1.定义

    foreach语句是for语句的特殊简化版本,不能完全取代for语句,但任何foreach语句都可以改写为for语句版本。

    2.语法格式

    for(type variableName : array | collection) { //对迭代元素variableName的操作 }

    3.好处

    在遍历数组和集合元素时,无需获得数组和集合的长度,无需根据索引来访问数组元素和集合元素,foreach循环自动遍历数组和集合的每一个元素。

    4.实例

    import java.util.ArrayList;
    import java.util.List;
    import java.util.function.Consumer;
     
    /**
     * @author CoveyLiu, covey@liukedun.com
     * @date 2019-08-13 11:54
     */
     
    public class Generic {
     
        // Java 匿名类、lambda表达式、方法引用 的使用
        public static void main(String[] args) {
            List<Integer> list = new ArrayList<>();
            list.add(123);
            printList(list);
            List<String> list2 = new ArrayList<>();
            list2.add("string");
            printList2(list2);
            List<Boolean> list3 = new ArrayList<>();
            list3.add(true);
            printList3(list3);
        }
     
        /* printList() 的作用是使用 forEach() 方法打印List内容 */
     
        // 使用匿名类
        private static void printList(List<?> list) {
            list.forEach(new Consumer<Object>() {
                @Override
                public void accept(Object o) {
                    System.out.println(o);
                }
            });
        }
     
        // 使用lambda表达式替代匿名类的使用
        private static void printList2(List<?> list) {
            list.forEach(o -> System.out.println(o));
        }
     
        // 对于已有的方法,可使用方法引用,这里直接引用println() 静态方法 打印内容
        private static void printList3(List<?> list) {
            list.forEach(System.out::println);
        }
     
    }

    输出结果

    123
    string
    true

    以上就是foreach语句在java中的使用,小伙伴们学会后就可以动手尝试啦。虽然它和for循环有相似之处,但是我们能用for循环就尽量不要选择foreach语句。

    专题推荐:java;foreach
    上一篇:return返回值如何在java中理解? 下一篇:java基础:public是什么?

    相关文章推荐

    • java循环控制中for循环怎么用?• break如何在java循环中跳出?• continue怎样在java中继续下一个循环?• return返回值如何在java中理解?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网