Java学习笔记

java三目运算符

2017-05-07  本文已影响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

上一篇 下一篇

猜你喜欢

热点阅读