我试图辨别
之间的区别if
else
else if
什么时候使用它们?什么时候不使用?
我有大量实例的家庭作业,由于不知道每个实例之间的差异,我遇到了代码错误。
有人可以定义如何使用这些吗?
答案 0 :(得分:54)
if
语句遵循这种结构:
if (condition)
{
// executed only if "condition" is true
}
else if (other condition)
{
// executed only if "condition" was false and "other condition" is true
}
else
{
// executed only if both "condition" and "other condition" were false
}
if
部分是唯一绝对强制的块。 else if
允许你说“好吧,如果先前的条件不成立,那么如果这个条件是真的......”。否则说“如果以上条件都不属实......”
您可以拥有多个else if
块,但只有一个if
块,只有一个(或零)else
块。
答案 1 :(得分:30)
if-elseif-else可以写成嵌套的if-else。这些(逻辑上讲)是等价的:
if (A)
{
doA();
}
else if (B)
{
doB();
}
else if (C)
{
doC();
}
else
{
doX();
}
与:
相同if (A)
{
doA();
}
else
{
if (B)
{
doB();
}
else
{
if (C)
{
doC();
}
else
{
doX();
}
}
}
结果是,最终只会评估doA
,doB
,doC
或doX
的一个。
答案 2 :(得分:21)
**IF** you are confused
read the c# spec
**ELSE IF** you are kind of confused
read some books
**ELSE**
everything should be OK.
:)
答案 3 :(得分:13)
if,else和else if是否所有构造都有助于“分支”代码。基本上,只要您想做出决定,就可以使用它们。
一个例子是'如果天气晴朗,我会出去。否则,我会留在'
在代码中(忽略额外的东西)
if (sunny) {
goOutside();
}
else {
stayInside();
}
如果您想添加“额外”条件,可以使用'else if'语句。扩展前面的例子,“如果天气晴朗,我会去外面。如果暴风雨,我会进入地下室,否则我会留在里面”
代码
if (sunny) {
goOutside();
}
else if (stormy) {
goDownstairs();
}
else {
stayInside();
}
编辑部分:
以下是如何编写多个ifs和条件的方法。以下示例至少可以用两种方式编写:
'如果阳光明媚,温暖,请到外面去。如果天气晴朗,那就什么都不做'
if (sunny) {
if (warm) {
goOutside();
}
else if (cold) {
doNothing();
}
}
OR
if (sunny && warm) {
goOutside();
}
else if (sunny && cold) {
doNothing();
}
答案 4 :(得分:9)
没有“else if
”。您有以下内容:
if (condition)
statement or block
或者:
if (condition)
statement or block
else
statement or block
在第一种情况下,如果条件为真(不同于0),则执行语句或块。在第二种情况下,如果条件为真,则执行第一个语句或块,否则执行第二个语句或块。
因此,当您编写“else if
”时,这是一个“else statement
”,其中第二个语句是if
语句。如果您尝试这样做,可能会遇到问题:
if (condition)
if (condition)
statement or block
else
statement or block
这里的问题是您希望“else
”引用第一个“if
”,但实际上您指的是第二个“if (condition)
{
if (condition)
statement or block
} else
statement or block
”。你通过这样做来解决这个问题:
{{1}}
答案 5 :(得分:5)
死亡简单伪代码说明:
/* If Example */
if(condition_is_true){
do_this
}
now_do_this_regardless_of_whether_condition_was_true_or_false
/* If-Else Example */
if(condition_is_true){
do_this
}else{
do_this_if_condition_was_false
}
now_do_this_regardless_of_whether_condition_was_true_or_false
/* If-ElseIf-Else Example */
if(condition_is_true){
do_this
}else if(different_condition_is_true){
do_this_only_if_first_condition_was_false_and_different_condition_was_true
}else{
do_this_only_if_neither_condition_was_true
}
now_do_this_regardless_of_whether_condition_was_true_or_false
答案 6 :(得分:3)
if (condition)
{
thingsToDo()..
}
else if (condition2)
{
thingsToDoInTheSecondCase()..
}
else
{
thingsToDoInOtherCase()..
}
答案 7 :(得分:3)
我认为将“其他”视为“其他”一词是有帮助的。
所以你会这样读:
if (something is true)
{
// do stuff
}
otherwise if (some other thing is true)
{
// do some stuff
}
otherwise
{
// do some other stuff :)
}
答案 8 :(得分:2)
if (numOptions == 1)
return "if";
else if (numOptions > 2)
return "else if";
else
return "else";
答案 9 :(得分:2)
他们的意思正是他们在英语中的意思。
IF 条件为真,执行某些操作, ELSE (否则)如果其他条件为真,请执行某些操作, ELSE 执行此操作时一切都失败了。
请注意,没有 else if 构造,只有 if 和 else ,但语法允许你放置其他如果在一起,当你这样做时,惯例并不是将它们嵌套得更深。例如:
if( x )
{
...
}
else if( y )
{
...
}
else
{
...
}
在语法上与:
相同if( x )
{
...
}
else
{
if( y )
{
...
}
else
{
...
}
}
两种情况下的语法都是:
if *<statment|statment-block>* else *<statment|statment-block>*
和如果本身就是一个声明,那么语法本身就支持使用 else
答案 10 :(得分:1)
if语句使用逻辑表达式的结果来决定是否将执行两个代码块之一。
使用此代码
if (logical expression) {
code block 1;
} else {
code block 2;
}
如果逻辑表达式为真,则只执行代码块1中的语句;如果为false,则仅为代码块2中的语句。
如果要进行多个类似的测试(例如,如果我们测试的数字小于零,等于零或大于零),那么第二个测试可以作为第一个语句放置else代码块。
if (logical expression 1) {
code block 1;
} else {
if (logical expression 2) {
code block 2;
} else {
code block 3;
}
}
在这种情况下,如果逻辑表达式1为真,则执行代码块1;如果逻辑表达式1为假且逻辑表达式2为真,则代码块2;如果两个逻辑表达式都为假,则为代码块3。
显然,这可以用另一个if语句作为代码块3的第一个语句重复。
else if语句只是该代码的重新格式化版本。
if (logical expression 1) {
code block 1;
} else if (logical expression 2) {
code block 2;
} else {
code block 3;
}
答案 11 :(得分:1)
这些是大多数编程语言中的基本决策命令;它可以帮助您确定您的程序将要执行的操作流程。 if 告诉编译器你有问题,问题是括号之间的条件
if (condition) {
thingsToDo()..
}
else 部分是此结构的补充,用于告诉编译器如果条件为假则该怎么做
if (condition) {
thingsToDo()..
} else {
thingsToDoInOtherCase()..
}
你可以将这些组合成一个 else if else ,这是第一个条件为false但你想在做出其他问题之前决定做什么。
if (condition) {
thingsToDo()..
} else if (condition2) {
thingsToDoInTheSecondCase()..
}else {
thingsToDoInOtherCase()..
}
答案 12 :(得分:1)
if语句的语法是
if(condition)
something; // executed, when condition is true
else
otherthing; // otherwise this part is executed
所以,基本上,else
是if
构造的一部分(某些和其他通常是{{1}中包含的复合语句事实上,{}
部分是可选的。 else
是两个else if
的组合,其中其他本身就是if
。
if
答案 13 :(得分:1)
else if
可与'if'和'else'结合使用,以进一步细分逻辑
//if less than zero
if( myInt < 0){
//do something
}else if( myInt > 0 && myInt < 10){
//else if between 0 and 10
//do something
}else{
//else all others
//do something
}
答案 14 :(得分:0)
如果是,否则两者都用于测试条件。
我以If和其他方式为例。
在if case编译器中检查所有情况是否为真或假。 如果没有一个块执行那么其他部分将被执行。
在else的情况下,如果编译器在获得false值时停止程序流。它不会读取整个程序。如果有更好的性能,我们会使用其他。
但两者都根据情况具有重要性
我以foor订购菜单为例 如果我使用其他如果那么它将适合 因为用户也可以只检查一个。 它会给出错误 所以我在这里使用..
StringBuilder result=new StringBuilder();
result.append("Selected Items:");
if(pizza.isChecked()){
result.append("\nPizza 100Rs");
totalamount+=100;
}
if(coffe.isChecked()){
result.append("\nCoffe 50Rs");
totalamount+=50;
}
if(burger.isChecked()){
result.append("\nBurger 120Rs");
totalamount+=120;
}
result.append("\nTotal: "+totalamount+"Rs");
//Displaying the message on the toast
Toast.makeText(getApplicationContext(), result.toString(), Toast.LENGTH_LONG).show();
}
now else if case
if (time < 12) {
greeting = "Good morning";
} else if (time < 22) {
greeting = "Good day";
} else {
greeting = "Good evening";
}
这里只满足一个条件.. 如果可以满足多个条件......
答案 15 :(得分:0)
您可以将if
和else
视为一对,two actions
满足one given condition
。
前:if
下雨,带雨伞else
没有雨伞。
有两个动作
并且这两个操作都绑定到一个条件i.e
is it raining?
现在,考虑一个场景,其中有多个条件和动作绑定在一起。
前:if
你饿了and
你没有破产,在kfc享受你的用餐,else if
你饿了but
你已经破产,试图妥协,else if
你不饿,但你只想在咖啡馆里闲逛,试试startbucks,else
做任何事情,只是不要问我饥饿或食物。我有更大的事要担心。
else if
语句,用于将if
和else
条件之间的所有操作串联起来。
答案 16 :(得分:0)
if
说的是什么:
无论我是否真实,也要检查其他条件。
else if
说的是什么:
仅检查其他条件,如果我不是真的。