Java if-else语句中的死分支
我在写这段代码,给程序起一个名字 Java告诉我,如果变量“isacoolgay”为false,则在应该使用语句中的else时,永远不会使用它Java if-else语句中的死分支,java,if-statement,switch-statement,case,naming,Java,If Statement,Switch Statement,Case,Naming,我在写这段代码,给程序起一个名字 Java告诉我,如果变量“isacoolgay”为false,则在应该使用语句中的else时,永远不会使用它 if (isACoolGuy = true){ System.out.println("Thank you for this name... "+ name); }else if(isACoolGuy = false){ System.out.println("Okay im changing my nam
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语句,它应该将“isacoolgay”布尔值更改为false
case "name":
System.out.println("You are an a******");
isACoolGuy = false;
break;
不是检查它是否为真,而是将isacoolgay赋值为真,因此它的计算结果总是为真
if (isACoolGuy = true){
改用
if (isACoolGuy == true){
更好地使用:-
if (isACoolGuy)
你的假设是错的
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表示为isACoolGuy变量指定真值。
在if中使用它总是返回true
isACoolGuy==true检查变量isACoolGuy的值是否为true。
这是比较
在if中,您可以跳过比较布尔值,因为if具有以下格式
if(true)
{
}
因此,如果(isACoolGuy)与If(isACoolGuy==true)相似,则检查条件时应使用
=
而不是=
它是用于赋值的,就像这样如果(isACoolGuy==true)
尝试删除第二个条件
,如果(isacoolgay==false)
不是必需的,则使用关键字else
就足够了,如下所示:
isACoolGuy = true;
...
if (isACoolGuy){ // the positive control
System.out.println("Thank you for this name... "+ name);
}else{ // otherwise negative
...
}
当您应该使用比较运算符时,您正在if条件中使用赋值运算符
=
。dnault的注释也适用于ELSEIFT这是(一个原因)您不应该将布尔值显式比较为true或false的原因。如果您使用了If(isacoolgay)
和else If(!isacoolgay)
,您就不会意外地创建问题。只需使用else
,如果If(isacoolgay)
测试失败,那么!Isacoolgay
必须是真的。如果你要解决这个问题,你也应该解决elseif。1)iif
;2) if(isacoolgay){
会更好。(虽然我自己没有投票)我没有投反对票,但是if(condition==true)
是一种糟糕的风格。只要使用if(condition)
@Klitos Kyriacou我想是的,但是OP是这样写的谢谢你!我已经完全忘记了==vs=这件事。谢谢你为if And else给我带来很多麻烦的技巧和提示。