黑马程序员技术交流社区

标题: 关于逻辑运算符 && .下面代码两边都为真,还是不执行 [打印本页]

作者: n_Nie1991    时间: 2015-12-27 13:22
标题: 关于逻辑运算符 && .下面代码两边都为真,还是不执行
class Demo {
        public static void main(String[] args) {
                int age = -30;
                if(age<=0 && age>=140)
                        System.out.println("您输入的年龄不合法....");
                else
                        System.out.println("您的年龄是"+age);
        }
}

为什么打印的是  您的年龄是-30呢 ??  if 语句中&& 两边都为true 啊.
作者: 云鱼    时间: 2015-12-27 13:40
把&&换成||
就没问题了
作者: 唱一些温暖    时间: 2015-12-27 16:02
&&表示并且     条件一&&条件二

条件一成立并且条件二成立

你应该用||

条件一||条件二     ||表示或者
作者: Hi.。    时间: 2015-12-27 18:46
age>=140吗?显然不是。
作者: 15000183754    时间: 2015-12-27 18:48
&& 表示你的判断条件必须都为true才会通过,int age = -30只满足一个条件 age<=0  不满足age>=140,所以条件不成立!
作者: n_Nie1991    时间: 2015-12-29 22:14
谢谢你们 ,我知道了
作者: 549208564    时间: 2015-12-29 23:42
这个是逻缉问题,没有什么数是小于0又大于140的,所以永远都是false
作者: longllch    时间: 2015-12-30 14:17
关于短路与&&希望在看一下




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2