java三目运算符

作者: 扒酒说 | 来源:发表于2017-05-07 16:40 被阅读186次
    1. 三目运算符语法
      expression1 ? expression2 : expression3
      Java虚拟机在编译三目运算时是以 “?” 和 “:” 来判断各位置的代码充当的结构。“?”前作为一部分,“?”和“:”中间作为一部分,“:”后作为一部分 。
      a. business = null != model ? model.getBu() : ""; 这句,三目运算符的优先级要高于赋值预算,所以先运算三目预算
      b. int temp = 0 < 1 ? c = c + 1 : d = d + 1 , 无法编译通过,三目运算符号优先级高, 实际会被解析成 int temp = (0 < 1 ? c = c + 1 : d) = d + 1 , 导致编译错误。

    2. 三目运算符的性能比if-else结构要稍微高一点,但是在日常程序开发中几乎可以忽略不计

    3. 三目运算符写出的代码相对比较简介,但是相对易读性会有所损失

    4. 三目运算符会有类型转换&自动拆箱等问题一般都是默认转换为高精度类型
      a. 精度由低到高: byte<short<char<int<float<double
      b. 封装数据类型使用时一定要注意,务必要做”非空判断“ & 统一三目运算过程中的数据类型

    参考:http://blog.csdn.net/tiwerbao/article/details/34244139
    http://blog.csdn.net/u011983531/article/details/49227305

    相关文章

      网友评论

        本文标题:java三目运算符

        本文链接:https://www.haomeiwen.com/subject/juoutxtx.html