双目运算符和三目运算符的使用浅谈

本人即将大四,第一次进公司实习,刚看项目 就看到了一行代码 稍有不解 于是自己测试了下,

附代码:

 public Integer getPage() {
        return page == null || page < 1 ? 1 : page;
    }

一个简单的判断页数的函数,由于长时间没巩固基础知识,忘了这边双目和三目运算符的知识点,于是自己写了个Demo来看看这句话的运行流程;

public static void main(String[] args) {
Integer b=null;
int c= b==null||b<1?1:b;
System.out.println(c);
}

运行结果:1

修改b的值:public static void main(String[] args) {
Integer b=3;
int c= b==null||b<1?1:b;
System.out.println(c);
}

运行结果:3


所以应该是从左至右运行,然后我不信邪的给右边的代码部分加上小括号,看能不能强制改变运算流程,附代码:

public static void main(String[] args) {
Integer b=3;
int c= b==null||(b<1?1:b);
System.out.println(c);
}

,然后就报错了:The operator || is undefined for the argument type(s) boolean, int;

分析了下原因,||的两边应该是boolean型,如果加上这个()则 || 的右边变成了int型,所以报错,问题解决。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值