if else 语句中的死分支

Dead branch in if else statement

我正在编写这段代码,您可以在其中为程序命名。

Java 告诉我,如果变量 "isACoolGuy" 为假,语句中的 else 永远不会被使用,而它应该被使用。

if (isACoolGuy = true){
        System.out.println("Thank you for this name... "+ name);
    }else if(isACoolGuy = false){    
        System.out.println("Okay im changing my name since you are an idiot");
        name = name = "jack";
        System.out.println("My name is "+ name + " now");

之前有一个 switch 语句应该将 "isACoolGuy" 布尔值更改为 false。

case "name":
            System.out.println("You are an a******");
            isACoolGuy = false;
            break;

您没有检查它是否为真,而是将 isACoolGuy 赋值给真,因此它的计算结果始终为真。

 if (isACoolGuy = true){

改为使用

 if (isACoolGuy == true){

更好用:-

if (isACoolGuy)

你的if错了

if (isACoolGuy == true){
        System.out.println("Thank you for this name... "+ name);
    }else if(isACoolGuy == false){
        System.out.println("Okay im changing my name since you are an idiot");
        name = "jack";
        System.out.println("My name is "+ name + " now");

或更好

if (isACoolGuy){
        System.out.println("Thank you for this name... "+ name);
    }else if(!isACoolGuy){
        System.out.println("Okay im changing my name since you are an idiot");
        name =  "jack";
        System.out.println("My name is "+ name + " now");

在你的情况下最正确的方法是跳过 else if 并像这样用单个 else 替换它

if (isACoolGuy){
        System.out.println("Thank you for this name... "+ name);
    }else {
        System.out.println("Okay im changing my name since you are an idiot");
        name =  "jack";
        System.out.println("My name is "+ name + " now");

还有一些理论

isACoolGuy= true 表示将 true 值赋给 isACoolGuy 变量。 在 if always returns true 中使用它 isACoolGuy == true 检查变量 isACoolGuy 是否具有真值。 比较

在 if 中您可以跳过比较布尔值,因为 if 具有以下格式

if(true)
{

}

所以 If(isACoolGuy) 类似于 if(isACoolGuy==true)

检查条件应该使用 == 而不是 = 它是为了赋值,像这样 if(isACoolGuy == true).
尝试删除第二个条件 if(isACoolGuy == false) 不是必需的,这样的关键字 else 就足够了:

  isACoolGuy = true;  
  ...
  if (isACoolGuy){ // the positive control
    System.out.println("Thank you for this name... "+ name);
 }else{    // otherwise negative
    ...
  }