首页 > 编程知识 正文

单目运算符,双目运算符,三目运算符区别,双目运算符怎么运算

时间:2023-05-06 03:53:35 阅读:226495 作者:3056

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

附代码:

 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型,所以报错,问题解决。




版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。