---------------------- ASP.Net+Android+IO開發S、.Net教育訓練、期待與您交流! ----------------------
if結構
if (條件true/false)
單一語句;// 條件為true時,隻執行這一句,後面如果還有語句,與if結構無關
即使隻有單一語句需要執行,也建議加{}
if (條件true/false)
{
語句塊...// 條件為true時,執行{}内所有語句,{}後面的語句,與if結構無關
}
if (條件true/false)
{
語句塊...// 條件為true時,執行if{}内所有語句,else{}的語句不執行
}
else
{
語句塊...// 條件為false時,不執行if{}内語句,執行else{}中的語句
}
關于條件語句
int a = 30;
//if (10 < a < 50) //錯誤 運算符“<”無法應用于“bool”和“int”類型的操作數
if (10 < a && a < 50)
{
Console.WriteLine("a的值在10和50之間");
}
Console.ReadKey();
if (條件1 true/false)
{
語句塊...// 條件1為true時,執行if{}内所有語句,後面的語句不執行
}
else if (條件2 true/false)
{
語句塊...// 條件1為false且條件2為true時,執行else if{}中的語句,不執行其它内語句
}
else
{
語句塊...// 條件1和2都為false時,執行else{}中的語句,不執行其它内語句
}
switch-case語句
Console.WriteLine("請輸入ABCDE:");
string input = Console.ReadLine();
//char input = Console.ReadLine();//錯誤 無法将類型“string”隐式轉換為“char”
switch (input)
{
case "A":
Console.WriteLine("輸入了A");
break;
case "B":
Console.WriteLine("輸入了B");
break;
case "C":
Console.WriteLine("輸入了C");
break;
case "D":
Console.WriteLine("輸入了D");
break;
case "E":
Console.WriteLine("輸入了E");
break;
default:
Console.WriteLine("輸入有誤,隻能輸入ABCDE");
break;
}
Console.ReadKey();
switch-case 與 if-else if 的差別:
相同點:都可以實作多分支結構;
不同點:switch-case 隻能用于等值比較,if-else if 可以處理範圍
//輸入年和月,輸出當月天數
Console.WriteLine("請輸入年份:");
int year = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("請輸入月份:");
int month = Convert.ToInt32(Console.ReadLine());
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 9:
case 11:
Console.WriteLine("31天");
break;
case 2:
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
{
//是閏年
Console.WriteLine("29天");
}
else
{
Console.WriteLine("28天");
}
break;
default:
Console.WriteLine("30天");
break;
}
Console.ReadKey();
while循環
int i = 0;//定義循環變量
while (i < 5)//循環條件、循環次數
{
Console.WriteLine("重複做的事情");
i++;//改變循環變量的值,千萬不要忘記寫
}
do-while循環
int i = 0;
do
{
Console.WriteLine("循環{0}次",i+1);
i++;
} while (i<5); //當while條件值為true時,繼續循環,直到其值為 false 值。
當while條件值為true時,繼續循環, 直到其值為 false 時中止循環。
while循環 先判斷,再循環。 先判斷是否需要循環
do-while 先循環,再判斷。 先執行一次後判斷是否需要繼續循環
for循環 明确知道需要循環,for循環都可以改成while循環形式
int a = 0, max = 0;
string s;
do
{
Console.WriteLine("請輸入一個數:");
s = Console.ReadLine();
if (s == "end")
{
continue;
}
try
{
a = Convert.ToInt32(s);//假定不會輸入數字和end以外的字元
//Console.WriteLine("in try");
}
catch
{
Console.WriteLine("隻能輸入數字或end");
//Console.WriteLine("in catch");
continue;
}
max = (max > a) ? max : a;
} while (s != "end");
Console.WriteLine("輸入的最大數是"+max);
for循環與while循環對比:
int length = 10;
int i = 0;
while (i < length)
{
Console.WriteLine("while循環");
i++;
}
for (int j = 0; j < length; j++)
{
Console.WriteLine("for循環");
}
Console.ReadKey();
循環的嵌套
Console.WriteLine("九九乘法表");
for (int i = 1; i < 10; i++)
{
for (int j = 1; j <= i ; j++)// j<=i 保證每一行輸出到相同數字相乘時就停止
{
//Console.Write(i+"*"+j+"="+i*j+"\t");
Console.Write("{0}*{1}={2}\t",i,j,i*j);//用Write()避免每個算式後都換行,插入Tab分隔算式
}
Console.WriteLine("");//一行Write()完,輸出一個換行
}
Console.ReadKey();
跳轉語句
break; 用于終止最近的封閉循環或它所在的 switch 語句,繼續運作終止語句後面的語句(如果有的話)。
for (int i = 1; i <= 100; i++)
{
if (i == 5)
{
break; //當i==5成立時,循環中止并跳出,不會繼續進行下次循環,i值不會再自增。
}
Console.WriteLine(i);
}
for (int x = 0; x < 10; x++) // 外層循環
{
Console.WriteLine("num = {0}", x);
for (int y = 0; y < 5; y++) // 内層循環
{
if (y == x)
{
break; // 中止并跳出内層循環,繼續執行外層循環
}
Console.Write(" {0} ", y);
}
Console.WriteLine();
}
Console.ReadKey();
在switch-case中為固有語句。
continue;将控制權傳遞給它所在的封閉疊代語句的下一次疊代。
for (int i = 1; i <= 10; i++)
{
if (i < 9)
{
continue; //當i<9時,continue中止本次循環,跳過 continue 和 for 循環體末尾之間的語句,直接轉到i++進入下一次循環。
}
Console.WriteLine(i);
}
goto; 不推薦使用,一般用于跳轉到switch-case特定标簽,或用于跳出深層嵌套
int cost = 0;
switch (n)
{
case 1:
cost += 25;
break;
case 2:
cost += 25;
goto case 1;
case 3:
cost += 50;
goto case 1;
default:
Console.WriteLine("Invalid selection.");
break;
}
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
if (array[i, j].Equals(myNumber))
{
goto Found;
}
}
}
Console.WriteLine("The number {0} was not found.", myNumber);
goto Finish;
Found:
Console.WriteLine("The number {0} is found.", myNumber);
Finish:
Console.WriteLine("End of search.");
三元運算符 ? :
(式1) ? (式2) : (式3)
(式1)為條件判斷語句,值為bool值true或false,當值為true,整個表達式取(式2)的值,否則取(式3)的值。
int a = 5, b = 8;
int c = a >= b ? a : b ;
Console.WriteLine(c);
Console.ReadKey();
流程控制
分支語句
if 、 if-else 、 if-else if 、 switch-case 、 ?:
循環語句
while 、 do-while 、 for
跳轉語句
break 、 continue 、 goto
---------------------- ASP.Net+Android+IOS開發、.Net教育訓練、期待與您交流! ----------------------
詳細請檢視:http://edu.csdn.net