if语句处理布尔变量

时间:2016-02-24 16:27:36

标签: java

我希望我的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");
            }
        }   
    }

5 个答案:

答案 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)