我试图辨别if,else和else之间有什么区别?
if
else
else if
何时使用它们,何时不区别?
我有一大堆实例的作业分配,并且由于不知道每个实例之间的差异而导致代码错误。
有人可以定义如何使用这些?
我试图辨别if,else和else之间有什么区别?
if
else
else if
何时使用它们,何时不区别?
我有一大堆实例的作业分配,并且由于不知道每个实例之间的差异而导致代码错误。
有人可以定义如何使用这些?
**IF** you are confused
read the c# spec
**ELSE IF** you are kind of confused
read some books
**ELSE**
everything should be OK.
:)
阅读C#规范学习C可能会让某人更加困惑... – 2015-10-03 01:53:37
markdown,对不对? – 23ars 2016-11-25 13:14:45
一种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
块。
只需要明确OP:在通过一组if/else语句的过程中,将只执行一个语句块。所以如果'condition'和'other condition'都是真的,那么只有条件的代码会被执行。 – fbrereto 2009-09-17 16:33:56
@fbrerto:好的,谢谢! – 2009-09-17 16:37:07
啊所以如果你在一个if里有多个选择,那么你使用else if? – HollerTrain 2009-09-17 16:38:09
如果,否则,如果所有结构都有助于'分支'代码。基本上,只要你想做决定就雇用他们。
一个例子是'如果阳光明媚,我会去外面。否则,我会留在里面”
在代码(忽略多余的东西)
if (sunny) {
goOutside();
}
else {
stayInside();
}
你可以使用‘否则,如果’语句,如果你想添加‘额外’的条件。扩展前面的例子,“如果是晴天,我会去外面如果是暴风雨,我会去到地下室,否则我会留在里面。”
在代码
if (sunny) {
goOutside();
}
else if (stormy) {
goDownstairs();
}
else {
stayInside();
}
EDIT部分:
以下是您可以如何撰写多个ifs和条件。下面的例子至少可以写成两种方式:
'如果阳光明媚,温暖的话,走出室外。如果天气晴朗而寒冷,什么也不做”
if (sunny) {
if (warm) {
goOutside();
}
else if (cold) {
doNothing();
}
}
OR
if (sunny && warm) {
goOutside();
}
else if (sunny && cold) {
doNothing();
}
使用现实世界的概念,而不是像'condition'或'a','b'等占位符+1。 – 2009-09-17 17:07:03
+1为真实世界的概念。您如何定义以下内容,因为这是我遇到问题的地方: 如果阳光明媚的去外面。如果晴天去公园。如果阳光明媚的去商店。如果天气晴朗,请去discoteck。 如果它暴风雨下楼。如果暴风雨进入客厅。如果暴风雨进入客厅。如果它暴风雨进入你的卧室。 – HollerTrain 2009-09-17 17:19:38
如果主内部有多个if如果我在哪里遇到问题 – HollerTrain 2009-09-17 17:20:52
的else if
可以配合使用‘如果’和‘其他’,进一步打破逻辑
//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
}
if语句的语法是
if(condition)
something; // executed, when condition is true
else
otherthing; // otherwise this part is executed
所以,基本上,else
是if
构建体的一部分(东西和otherthing通常封闭在{}
复合语句和else
的部分是,在实际上,可选)。并且else if
是两个if
的组合,其中其他本身是if
。
if(condition1)
something;
else if(condition2)
otherthing;
else
totallydifferenthing;
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
进行评价。
没有“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
正是这个问题,被称为“晃来晃去ELSE”的问题,首先在PASCAL(或可能ALGOL)看到,早在开发C,导致吉恩·奇比亚和他的团队采用的控制结构的完全括号风格阿达。 – 2009-09-17 17:01:54
+1因为没有“else if”语句。有一个'if'语句包含一个语句,当[真]和[可选]语句假时。开发者可以利用虚假的语句来检查新的条件,并且由于这是一个无处不在的情况,因此它被称为“else if”。 – 2009-09-17 17:22:52
这些都是你在大多数的编程语言有基本的决定,命令;它可以帮助你决定你的程序要做的动作的流程。 的如果告诉你有一个问题,编译器,问题是
if (condition) {
thingsToDo()..
}
的其他部分括号之间疾病是一种除了这种结构告诉编译器什么,如果做条件是假
if (condition) {
thingsToDo()..
} else {
thingsToDoInOtherCase()..
}
可以结合使用这些形成否则,如果这是当第一个条件是假的,但你想要做什么决定之前,另一个问题这样做。
if (condition) {
thingsToDo()..
} else if (condition2) {
thingsToDoInTheSecondCase()..
}else {
thingsToDoInOtherCase()..
}
在最后一个前你是否错过了一个}关闭其他如果? – HollerTrain 2009-09-17 18:29:29
if (numOptions == 1)
return "if";
else if (numOptions > 2)
return "else if";
else
return "else";
我觉得你的意思'numOptions == 1' – 2009-09-17 16:52:56
我很尴尬...... – AShelly 2009-09-21 04:54:07
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;代码块2,如果逻辑表达式1为假并且逻辑表达式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;
}
他们说的是什么,他们的英文意思。
IF条件为真,做一些事情,ELSE(否则)如果其他条件为真,做一些事情,ELSE做到这一点,当一切都失败了。
注意,没有别人那里,如果结构特别,只是如果和其他,但语法允许别的地方,如果在一起,当你这样做的惯例是不嵌套它们更深。例如:
if(x)
{
...
}
else if(y)
{
...
}
else
{
...
}
在语法上是相同的:
if(x)
{
...
}
else
{
if(y)
{
...
}
else
{
...
}
}
在这两种情况下的语法是:
if *<statment|statment-block>* else *<statment|statment-block>*
和如果本身就是一个statment,使语法单独支持使用否则如果
死的简单的伪代码说明:
/* 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
如果你有 else if(different_condition_is_true){ do_this_only_if_first_condition_was_false_and_different_condition_was_true }
内附加条件我需要让? –
HollerTrain
2009-09-17 17:39:43
do_this_only_if_first_condition_was_false_and_different_condition_was_true可以用任何你想要的更换,如果更换为嵌套的if(条件){} do_this将相应的行为。 – JStriedl 2009-09-17 18:55:57
,我认为它有助于认为并非如此的“其他人”的字。
所以你会喜欢这个阅读:
if (something is true)
{
// do stuff
}
otherwise if (some other thing is true)
{
// do some stuff
}
otherwise
{
// do some other stuff :)
}
if (condition)
{
thingsToDo()..
}
else if (condition2)
{
thingsToDoInTheSecondCase()..
}
else
{
thingsToDoInOtherCase()..
}
如果和其他人如果两者都用于测试的条件。
我把if和else ..
的情况下,在如果编译器的情况下检查所有的情况下阉它是真的还是假的。 如果没有一个块执行,那么其他部分将被执行。
在else的情况下,如果编译器在得到false值时停止程序流程。它不会读取整个程序。因此,如果我们使用其他更好的性能。
但两者根据情况
我采取例如福尔排序菜单 的,如果我使用别的,如果那么它将满足以及 因为用户只能检查一个也有其重要性。 ,它会给错误 所以我用,如果在这里..
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";
}
这里只满足一个条件.. 并在多个条件可以得到满足的情况下...
你能想到的作为一对的if
和else
,其满足two actions
为one given condition
。
ex:if
下雨,拿伞伞else
没有雨伞。
有两个动作
和两个两个动作被绑定到一个条件,i.e
is it raining?
现在,考虑场景中有多个条件和行为绑定在一起。
例如:if
你饿了and
你没有打破,在肯德基享用餐点,else if
你饿了but
你一文不名,尽量妥协,else if
你是不是饿了,但你只是想在咖啡馆聚会,可以试试startbucks,else
做任何事情,只是不要问我饥饿或食物。我有更大的事情要担心。 else if
声明将所有落入if
和else
条件之间的操作串联在一起。
的if
说什么:
无论我是真还是假,经常检查其他条件了。
的else if
说什么:如果
只有检查其他条件,我是不正确的。
您可能还想查看如何使用“case”语句,因为它是C中的另一个主要条件组件,并且与if/else if/else结构形成鲜明对比。 – 2009-09-17 16:35:19
使用它们(它们危害了大多数编程语言中的基本分支结构) - 那么您将看到它们的功能,它们的工作方式以及它们的用途。 – 2010-12-22 07:45:25