C#基礎——流程控制語句
流程控制語句
一、選擇語句
選擇語句用於根據某個表示式的值從若干條給定語句選擇一個來執行。選擇語句包括if語句和switch語句兩種,選擇語句包括if語句和switch語句兩種。
1.1 if…else
If(布林表示式)
{
語句塊
}
Else
{
語句塊
}
程式碼展示:
Console.WriteLine("輸入一個大於0的數字");
int i = Convert.ToInt32(Console.ReadLine());
if (i > 0)
{
Console.WriteLine ("輸入的數字{0}大於0",i); //{0}是佔位符
}
else
{
Console.WriteLine("輸入的數字{0}小於0",i);
}
Console.ReadKey();
1.2 多重if
else if 可以出現多個 if 只能出現一個 else 也只能出現一個
If(布林表示式1)
{
語句塊
}
Else if(布林表示式2)
{
語句塊
}
Else
{
語句塊
}
程式碼展示:
Console. WriteLine("請輸入礦泉水品牌");
string s = Console.ReadLine();
if (s.Equals("哇哈哈"))
{
Console.WriteLine("付款2元");
}
else if(s.Equals("康師傅"))
{
Console.WriteLine("付款1.5元");
}
else if(s. Equals("農夫山泉"))
{
Console.WriteLine("付款2元");
}
else if(s.Equals("怡寶"))
{
Console.WriteLine("付款2元");
}
Console.ReadKey();
1.3 巢狀if
外部的if 內部的if
If(布林表示式)
{
If(布林表示式)
{
語句塊
}
Else
{
語句塊
}
}
Else
{
If(布林表示式)
{
語句塊
}
Else
{
語句塊
}
}
程式碼展示:
int index = Convert.ToInt32(Console.ReadLine());
string a = Console.ReadLine();
Console.WriteLine("請輸入一個月份");
if (index > 4 && index < 11)
{
Console.WriteLine("輸入經濟艙或者頭等艙");
if (a.Equals("頭等艙"))
{
Console.WriteLine("9折");
}
else if (a.Equals("經濟艙"))
{
Console.WriteLine("7.5折");
}
else
{
Console.WriteLine("沒有其他艙室了");
}
}
else
{
Console.WriteLine("輸入經濟艙或者頭等艙");
if (a.Equals("頭等艙"))
{
Console.WriteLine("6折");
}
else if (a.Equals("經濟艙"))
{
Console.WriteLine("3折");
}
else
{
Console.WriteLine("沒有其他艙室了");
}
}
Console.ReadKey();
1.4 switch語句實現多分支選擇
switch語句實際上就是多重if判斷語句
switch語句 case塊(條件組合塊)當處理返回的結果一致時,方可使用case塊
Switch(表示式[整數型別,字元型別,列舉型別])
{
Case 常量表達式:語句塊;
Break;
Case 常量表達式:語句塊;
Break;
……
Case 常量表達式:語句塊;
Break;
Default:語句塊;
Break;
}
程式碼展示:
Console.WriteLine("請輸入一個數值");
int i = Convert.ToInt32(Console.ReadLine());
switch (i)
{
default:
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 11:
case 12:
case 13:
Console.WriteLine("符合要求");
break;
Console.WriteLine("輸入的值是10");
break;
}
二、迭代語句
2.1 while語句
while迴圈一般在迴圈次數不確定的情況下使用
While(布林表示式)
{
語句塊;
}
程式碼展示:
while (true)
{
Console.WriteLine("要不要請我吃飯");
string s = Console.ReadLine();
if (s.Equals("要"))
{
break;
}
}
2.2 do…..while語句
if判斷來解釋死迴圈
先執行後判斷
Do
{
語句塊;
}while(布林表示式);
程式碼展示:
do
{
Console.WriteLine("你長得好看嗎");
string s = Console.ReadLine();
if (s.Equals("好看"))
{
break;
}
} while (true);
2.3 for語句
For(初始化表示式;條件表示式;迭代表達式)
{
語句塊;
}
程式碼展示:
for (int i=0;i<100;i++)
{
Console.WriteLine("時代最粗腰");
}
Console.ReadKey();
三、跳轉語句
跳轉語句主要用於無條件的轉移控制,跳轉語句將控制轉到某個位置,這個位置就成為跳轉語句的目標。如果跳轉語句出現在一個語句塊內,而跳轉語句的目標卻在該語句塊之外,則稱該跳轉語句退出語句塊。跳轉語句主要包括break語句,continue語句和return語句。
3.1 break
break語句只能夠應用在switch,while,do…while,for或者foreach中。
程式碼展示:
Console.WriteLine("A");
for(int i = 0; i < 20; i++)
{
if (i % 2 == 0)
{
break;
}
Console.WriteLine(i);
}
Console.ReadKey();
3.2 continue
continue語句只能夠應用於while,do…while,for,foreach語句,用來忽略迴圈語句塊內位於它後面的程式碼而直接開始一次新的迴圈。
程式碼展示:
for (int i=0;i<20;i++)
{
if (i == 10)
{
continue;
}
Console.WriteLine(i);
}
Console.ReadKey();
3.3 return
return語句用於退出類的方法,是控制返回方法的呼叫者。如果方法有返回型別,return語句必須返回這個型別的值。如果方法沒有返回型別,應使用沒有表示式的return語句。
程式碼展示:
iteLine("A");
for(int i = 0; i < 20; i++)
{
if (i % 2 == 0)
{
return;
}
Console.WriteLine(i);
}
Console.ReadKey