Java 打印语句和if语句的结果不同

Java 打印语句和if语句的结果不同,java,if-statement,Java,If Statement,我是Java的初学者。我遇到一个问题,青少年的年龄在13-19岁之间。有两个int值,如果其中一个是青少年,我应该打印true,如果两个都是青少年,我应该打印false if ((a >= 13 && a <= 19) && (b >= 13 && b <= 19)) { out.println(false); } out.println(true); 如果((a>=13&&a=13&&b预期值:真>>运行:真

我是Java的初学者。我遇到一个问题,青少年的年龄在13-19岁之间。有两个int值,如果其中一个是青少年,我应该打印true,如果两个都是青少年,我应该打印false

if ((a >= 13 && a <= 19) && (b >= 13 && b <= 19)) {
  out.println(false);

} 
  out.println(true);
如果((a>=13&&a=13&&b预期值:真>>运行:真

(16,9)->预期值:真>>运行值:真

(13,19)->预期值:false>>运行值:false

但特别是这个,我不能:(99,99)->预期:false>>运行:true

现在,如果我尝试将其打印为语句:

System.out.println((99>=13&&99=13&&99

我希望您现在能够理解逻辑AND(&&)的概念:-

一个是TRUE+TRUE输出为TRUE,否则输出为FALSE。

TRUE&TRUE=TRUE


True&(除True以外的任何内容)=false

您总是打印
true
。您缺少一个
else
。只有当
a
b
的值都在13-19范围内时,您才打印
false
。鉴于上次测试中的这两个变量都不在该范围内,为什么您希望它打印
true
?您可能需要如果只有一个是青少年,而另一个不是青少年,请查看
if
语句的逻辑。感谢您的帮助!
Condition 1 Condition2  Output
true        true        true
true        false       false
false       true        false
false       false       false