我試圖辨別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