zoukankan      html  css  js  c++  java
  • 注意条件表达式规范[JLS 15.25]

    /**
     * 猜猜输出结果是什么
     */
    public class appalet {
        public static void main(String[] args) {
            char x = 'x';
            int i = 0;
            System.out.print(true ? x : 0);
            System.out.print(false ? i : x);
        }
    }
    
    /**
     * 输出:x120
     * 原因分析:
     * System.out.print(false ? i : x) 中 i 是第二个操作数 , x 是第三个操作数
     * 其结果隐藏在条件表达式规范[JLS 15.25]中,其中核心有以下三点:
     * 1.如果第二个操作数和第三个操作数类型相同,那它就是条件表达式的类型.可以避免混合类型计算带来的麻烦
     * 2.对于第二个操作数和第三个操作数,其中一个操作数的类型是byte,short或char(用T表示),而另一个操作
     * 数为int类型常量表达式,那么条件表达式的类型是T
     * 3.不符合1和2的情况,条件表达的类型是第二个操作数和第三个操作数中类型大的那一个.
     */
    
  • 相关阅读:
    pylint
    Cygwin安装与配置
    Spring的配置文件
    网络传输测试软件
    MINA快速传输文件
    Jar包下载
    shutdown彻底关闭tomcat,以及多线程关闭
    Git使用
    例说数学学习中的四基
    求等差数列前n项和S_n的最值
  • 原文地址:https://www.cnblogs.com/youpeng/p/10939792.html
Copyright © 2011-2022 走看看