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);
        });
    }

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 邮件群发怎么设置_qq邮箱邮件怎么群发

    邮件群发怎么设置_qq邮箱邮件怎么群发大家都说30岁的女人一枝花,但是我就狠狠的被家里人催婚了。老妈让我去参加一个相亲,虽然心里不想去,但是为了让老妈开心,还是去参加了这场相亲局。当相亲那天来临时,我进入了跟人约好的咖啡馆,见面时寒暄了几句,就进入了无声的沉默,后来我们聊天时提起了我们的职业,我说我是外企HR,他跟我说他是会展公司的市场部部员,然后我问他工作具体是干什么的,然后他跟我说他是具体用邮件来开发客户,介绍会展公司承包的展览这种工作。我说好厉害的样子,你们是不是也需要邮件群发啊?最近我的邮箱有限,不是特别好用,刚好想换一个邮箱,你平常使

    2022年10月30日
  • java.lang.NoSuchMethodException异常「建议收藏」

    java.lang.NoSuchMethodException异常「建议收藏」在Struts2中,有时候会出现java.lang.NoSuchMethodException异常,有可能是三种情况导致的运行异常:第一种:Action类的方法被定义成private类型.Action中被访问的方法被定义成private类型.程序在访问其方法时,会抛出以上异常。第二种:Action类继承了ActionSupport类时程序在访问其方法时,也会抛出上述异常。第三种…

  • css画圆弧_css圆角样式

    css画圆弧_css圆角样式CSS3是样式表(stylesheet)语言的最新版本,它的一大优点就是支持圆角。网页设计大师NicholasZakas的最新文章,清晰易懂地解释了CSS3圆角的各个方面,非常值得学习。以下就是我翻译的中文版。=========================================CSS3圆角详解作者:NicholasZakas译者:阮一峰发表日期:2010年12月8日一、CSS3…

    2022年10月25日
  • Ext中apply及applyIf方法的应用

    Ext中apply及applyIf方法的应用Ext中apply及applyIf方法的应用        apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。不同的是apply将会覆盖目标对象中的属性,而applyIf只拷贝目标对象中没有而源对象中有的属性。apply方法的签名为“apply(Objectobj,Objectconfig,Ob

  • VMM传记_默克尔传

    VMM传记_默克尔传最近看了三篇有关于VMM的文章,分别是《VirtualMachineMonitors》、《VirtualMachineMonitors:CurrentTechnologyandFutureTrends》和《AnUpdatedPerformanceComparisonofVirtualMachinesandLinuxContainers》,在这里简要说下本人的读后…

  • MacPorts_mac查看使用电脑时间

    MacPorts_mac查看使用电脑时间1.MacPort中第三方软件下载包存放的默认路径是:/opt/local/var/macports/distfiles/为了提高安装速度,可以在安装新port时直接将此目录下的文件拷贝到新的MacPort相同的目录中就可以避免Port去网上下载。2.使用MacPort前应该首先更新Port的index输入:$ sudoport-vselfupdate (强烈推荐第一

发表回复

您的电子邮箱地址不会被公开。

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