我希望我的if语句根据布尔变量isStudent打印出学生或非学生,但我不太确定它是如何工作的。当我输入boolean isStudent时它自动初始化变量false?当我尝试使用isStudent == true时没有打印出来,但如果我使用isStudent == false它会打印出学生和非学生。有人可以解释为什么会这样做,如果我这样做了吗?
public class Test {
public static void main(String[] args) {
boolean isStudent = false;
if(isStudent == false){
System.out.println("Student");
System.out.println("non-student");
}
}
}
答案 0 :(得分:5)
当你有这个代码时:
if(isStudent == false){
System.out.println("Student");
System.out.println("non-student");
}
如果条件为真,则执行大括号{}内的所有内容。您需要else
声明
if (isStudent){
System.out.println("Student");
} else {
System.out.println("non-student");
}
答案 1 :(得分:3)
你正在寻找的是一个else语句,它看起来像这个
public class Test {
public static void main(String[] args) {
boolean isStudent = false;
if(isStudent)
{
System.out.println("Student");
}
else
{
System.out.println("non-student");
}
}
}
除了你以外的另一种方式,这是另一种方式,但不是一种更好的方式。你制作一个默认字符串并将其声明为非学生,只有在学生的情况下才会改变。
public class Test {
public static void main(String[] args) {
boolean isStudent = false;
String student = "non-student";
if(isStudent)
{
student = "Student";
}
System.out.println(student);
}
}
这可能会有所帮助 if-else
答案 2 :(得分:2)
isStudent == false
只不过是逻辑否定:它等同于!isStudent
。
你能写出你想做的最清楚的方式是
if (isStudent /* == true is implicit*/){
System.out.println("Student");
} else /*all other possibilities*/{
System.out.println("non-student");
}
答案 3 :(得分:1)
在以下声明之后,isStudent
的值为false
。
boolean isStudent = false;
在下一步中,您将检查isStudent
是否等于false
..这是真的,并且将执行块({...}
)内的语句,这将打印字符串..
if(isStudent == false){
此外,布尔变量的默认值为false。
答案 4 :(得分:0)
而不是使用:
if(isStudent == false)
您也可以这样做:
if(!isStudent)