我是编码的初学者。我最近正在创建一个聊天程序,用户可以在其中与我的计算机聊天。这是代码的一部分:
System.out.println("Hello, what's our name? My name is " + answer4);
String a = scanner1.nextLine();
System.out.println("Ok, Hello, " + a + ", how was your day, good or bad?");
String b = scanner2.nextLine();
**if (b.equals("good"))** { //1
System.out.println("Thank goodness");
} else **if (b.equals("it was good"))** { //2
System.out.println("Thank goodness");
} else **if (b.equals("bad"))** { //3
System.out.println("Why was it bad?");
String c = scanner3.nextLine();
System.out.println("Don't worry, everything will be ok, ok?");
String d= scanner10.nextLine();
} else **if (b.equals("it was bad"))**{ //4
System.out.println("Why was it bad?");
String c = scanner3.nextLine();
System.out.println("Don't worry, everything will be ok, ok?");
String d= scanner10.nextLine();
}
if(age<18){System.out.println("How was school?");}
else if (age>=18){System.out.println("How was work?");}
if 语句的条件以粗体显示(用 **
包围)。在第一种和第二种情况下,我希望我的应用程序做同样的事情。第三个和第四个条件同理。我认为有可能以某种方式将它们分组在 if
语句中。
我尝试使用以下代码但无法编译:
if (b.equals("good"), b.equals("it was good")) {
System.out.println("Thank goodness");
} else if (b.equals("bad"),(b.equals("it was bad"))) {
System.out.println("Why was it bad?");
String c = scanner3.nextLine();
System.out.println("Don't worry, everything will be ok, ok?");
String d= scanner10.nextLine();
}
有人可以为我更正吗?
原文由 myt 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用
logical operators
来组合您的boolean expressions
。&&
是逻辑 与(两个条件都需要是true
)||
是逻辑 或(至少一个条件需要是true
)^
是 异 或(只有一个条件需要是true
)==
按身份比较对象)例如:
还有位运算符:
&
是按位 和|
是按位 或^
是 异 或它们主要在与
bits and bytes
操作时使用。然而还有另一个区别,让我们再看一下这个表达式:如果您使用逻辑运算符
firstCondition
计算结果为false
那么Java
将不会 计算已知的第二个或第三个条件的逻辑结果成为false
。但是,如果您使用按位运算符,那么Java
将不会停止并继续计算所有内容: