JAVA三元运算符_java中三元运算符详解

JAVA三元运算符_java中三元运算符详解一:三元运算符条件表达式?取值1:取值2三元运算符是ifelse或者ifelseifelse的简写形式,可以使代码看起来简洁些。privateStringternary1(intfirst){System.out.println("=================================================================…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一:三元运算符

条件表达式 ? 取值1 :取值2

三元运算符是if else或者if else if else的简写形式,可以使代码看起来简洁些。

private String ternary1(int first){
        System.out.println("===============================================================================================================");
        System.out.println("====三元运算符:if else的模式=====");
        System.out.println("====first=1时返回已售; =====");
        System.out.println("====first!=1时返回未售; =====");
        String str=first==1?"已售":"未售";
        System.out.println("first="+first+",返回:"+str);
        return str;
    }

    private String ternary2(int first,int second){
        System.out.println("===============================================================================================================");
        System.out.println("====三元运算符:if else if else的模式=====");
        System.out.println("====first=1,且second=1时返回 再售; =====");
        System.out.println("====first=1,且second!=1时返回 已售; =====");
        System.out.println("====其它情况时返回 未售; =====");
        String str=first==1?(second==1?"再售":"已售"):"未售";
        System.out.println("first="+first+",second="+second+",返回:"+str);
        return str;
    }

二:foreach操作   for(集合中元素的类型或者数组中元素的类型   表示元素的变量 :  数组或者集合的变量或者表达式){}

java在jdk1.5中开始支持foreach循环,foreach在一定程度上简化了对数组、集合的遍历。

  1. 需要使用索引的地方还是需要用for循环。
  2. foreach只能遍历实现了Iterable接口的集合,例如Collection集合,不能直接遍历Map集合,可以通过遍历map.entrySet遍历Map集合。
  3. 在用foreach循环遍历一个集合时不能向集合中增加元素,不能从集合中删除元素,否则会抛出ConcurrentModificationException异常。
  4. 遍历LinkedList时,foreach遍历的效率高些,在遍历数组和其它集合时二者效率相当。
  5. foreach是一个语法糖(就是通过编译器或者其它手段优化了代码,给使用带来了便利)。foreach在处理集合时,实际上通过迭代器进行处理的(如下所示),在处理数组是是通过普通的for循环处理的。
Iterator<String> iterator=collection.iterator();
        while(iterator.hasNext()){
            System.out.println("迭代=="+iterator.next());
        }

三:java8中配合lambda表达式的forEach

collection.forEach(s -> {
            System.out.println(s);
        });

自定义Consumer<T>类进行迭代

 private class MyConsumer implements Consumer<Object>{

        @Override
        public void accept(Object o) {
            System.out.println("打印输出(动作执行的参数):" + o);
        }
    }

    private void forEach6(){
        System.out.println("============遍历ArrayList  java8  foreach方法============================");
        Collection<String> collection=new ArrayList<>(5);
        for (int i = 0; i <5 ; i++) {
            ((ArrayList<String>) collection).add(i,(i+1)+"");
        }
        collection.forEach(new MyConsumer());
    }

对Map集合的遍历如下所示:

private void forEach7(){
        System.out.println("============遍历HashMap,不能直接遍历Map============================");
        Map<String,String> map=new HashMap<>(5);
        for (int i = 0; i <5 ; i++) {
            map.put(i+"",i+1+"");
        }
        System.out.println("普通方法遍历Map");
        //其实是在遍历Set集合
        for (Map.Entry<String, String> entry : map.entrySet()) {
            System.out.println("key : " + entry.getKey() + " value : " + entry.getValue());
        }
        System.out.println("java8 lambda遍历Map");
        map.forEach((k,v)->{
            System.out.println("key:"+k+",value:"+v);
        });
    }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179072.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月30日 下午5:36
下一篇 2022年8月30日 下午5:36


相关推荐

  • Openclaw原版部署(Windows-WSL)

    Openclaw原版部署(Windows-WSL)

    2026年3月12日
    2
  • 可变形卷积:Deformable ConvNets

    可变形卷积:Deformable ConvNets可变形卷积 DeformableCo 论文网址 DeformableCo 论文网址 DeformableCo MoreDeformab BetterResult 代码 https github com CharlesShang DCNv2 tree pytorch 0 4DCNv11 空洞卷积 dilatedconv 在图像分割领域 图像输入到 CNN 典型的网络比如 FC

    2026年3月18日
    2
  • pycharm卸载再安装_pycharm双击无法打开

    pycharm卸载再安装_pycharm双击无法打开今个发现原来下载的2017版的pycharm过期了,用一会就闪退,emmm。就想下一个新的进行迭代,结果安装好并重启了,软件就是打不开…方法一1.打开C:\Windows\System32;以管理员身份运行cmd.exe;2.在打开的cmd窗口中,输入netshwinsockreset,按回车键;3.重启电脑;博主使用这个方法后,双击后还是不行。随即用了方法二,如下:方法二只需要打开C:\Users\admin后面的admin换成你自己的当前用户名(如下图),然后把所

    2022年8月29日
    5
  • php ecshop二次开发,ecshop二次开发对ecshop系统框架分析

    php ecshop二次开发,ecshop二次开发对ecshop系统框架分析ecshop 二次开发对 ecshop 系统框架分析第一 整体框架结构 整个系统是层结构有数据层有外观层比如我们 index php 是外观层 和用户打交道的层 那推荐产品来说吧在 index php 是对数据层函数的调用 get recommend goods new 这个函数那么他是在 include 目录下的 lib goods php 进行定义既数据层 第二 重要目录 首先

    2026年3月19日
    2
  • “龙虾”卸载指南,来了!

    “龙虾”卸载指南,来了!

    2026年3月13日
    1
  • PhpSpreadsheet_php file_put_contents

    PhpSpreadsheet_php file_put_contentsSpreadsheet支持excel函数公式使用<?php namespaceapp #给类文件的命名空间起个别名 usePhpOffice\PhpSpreadsheet\Spreadsheet; #Xlsx类将电子表格保存到文件 usePhpOffice\PhpSpreadsheet\Writer\Xlsx; #实例化Spreadsheet对象 $spreadsheet=newSpreadsheet(); #获取活动工作薄 $sheet=$

    2025年12月12日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号