1.順序結構: --> 所謂順序結構 顧名思義,就是按順序執行,在C#中所有的代碼都是由上至下的順序執行。
2.分支結構: --> 三元運算式 ?:,if...else... , switch 語句。 即所謂的條件陳述式。
3.迴圈結構: --> while, do...while... ,for ,foreach語句。 即所謂的迴圈語句
條件陳述式:
if語句
翻譯過來 就是 如果 (...) 就 (...)
else if 配對的規則: else 總是與它最近的if 配對,除非用花跨號表示出其他選擇。
複製代碼 代碼如下: int a = 7;
if (a > 0)
{
Console.WriteLine("this is dog");
}
else
{
Console.WriteLine("this is cat");
}
//或者
if (a > 0)
{
//...
}
else if (a == 0)
{
//...
}
else
{
//...
}
switch 語句。
int a= 4; 當 a 的值 與 case後面的值相等時候 就執行 該case 語句 如果都不匹配 則執行 default
複製代碼 代碼如下: switch (a)
{
case 1:
return 1;
break;
case 2:
return 2;
break;
default:
return 3;
break;
}
條件陳述式中有一個goto 語句,屬於不常用到的,也說說把。
跳到指定的標記行: 如下代碼 當我輸入 a 的時候 程式會走 第三個case 進入後 goto case "Mark2" 則專跳到 第二個case語句 執行裡面的代碼.
複製代碼 代碼如下:static void Main(string[] args)
{
string mark = Console.ReadLine();
int cons = 20;
switch (mark)
{
case "Mark1":
goto Mark1;
case "Mark2":
cons += 20;
break;
case "a":
goto case "Mark2";
default:
Console.WriteLine("沒有找到您輸入的節點");
return;
}
Mark1:
//Console.WriteLine("已經轉跳到Mark1");
//return;
Console.WriteLine(cons);
}
迴圈語句:
while,do...while... ,for ,foreach語句
while(條件){} ,while 與 if 語句很像,都是滿足條件就執行代碼快, 而二者之間的 不通在於 while 在條件成立時候將反覆執行代碼體,而 if 語句只執行一次。
do{需要迴圈執行的語句}while(條件);基本跟 while 一樣 。 只是do while 會先執行一次 迴圈體 在判斷條件。
for 迴圈, for 迴圈 可以說是 C# 中用的最多的迴圈。
for(條件初始化;迴圈條件;條件改變)
我們來做一個累加 到100的操作
複製代碼 代碼如下: int sum = 0;
for (int i = 0; i <= 100; i++)
{
sum += i;
}
foreach 迴圈語句 : 是一種自動遍曆 的迴圈語句。 如下有一個字串數組,我們需要遍曆它, 首先 數組內的每一位都是string 類型的
於是我們 先定義一個 string s 而這個變數 s 是屬於arrt 數組內的 ,所以 in arrt 程式便會自動迴圈完成。 foreach中 in 前面的 變數類型
一定要與 所遍曆的 數組 或 任何 東西的類型一致 否則會報錯
複製代碼 代碼如下: string[] arrt = new string[] {"a","b","c" };
foreach (string s in arrt)
{
Console.WriteLine(s);
}
條件 與 迴圈 是比較簡單。。。。
其中涉及到兩個關鍵字 continue break
那就說書說他們的區別把。
continue break 在迴圈語句中的區別在於 break 退出迴圈
當迴圈 語句 執行到break 的時候 便會跳出 這個迴圈語句。 而 continue 只是結束當次迴圈進入下一次迴圈。
來看看下面兩個迴圈語句; 第一個輸出的是 0 1 2 而第二個 只是跳過了 3 。
複製代碼 代碼如下: for (int a = 0; a <= 100; a++)
{
if (a == 3)
break;
Console.WriteLine(a);
}
for (int a = 0; a <= 100; a++)
{
if (a == 3)
continue;
Console.WriteLine(a);
}