在前面,主要介紹數學運算,在這裡會先介紹常見的邏輯運算 然後才會帶入流程控制相關介紹

邏輯運算

邏輯運算主要型別為布林(bool),會返回True、false或null 在流程控制過程中,相當好用!

以下列出常見的邏輯運算符

運算式 符號 格式
等於 == x==y
不等於 != x!=y
大於 > x>y
大於等於 >= x>=y
小於 < x<y
小於等於 <= x<=y
及(AND) && x&&y
或 (OR) || x||y
非(NOT) ! !(x>y)

流程控制

在流程控制中,會藉由邏輯運算的結果作為依據 以下介紹C#的流程控制運算方式

if

C#的判斷式if完全繼承C語言的寫法 以下直接透過範例來說明if架構與用法

int a = 60;
if( a>60){
    Console.WriteLine("A科成績高於六十分");
}else if (a == 60){
    Console.WriteLine("A科剛好及格");
}else{
    Console.WriteLine("A科不及格");
}

當然,這裡僅是示範,你可以依照實際狀況,在if()設計更多元的判斷方式, 也可以省略括弧,但除非你有特殊原因,不然為了讓程式易讀,建議還是用保留括弧的寫法

int a = 60;
if( a>60)
    Console.WriteLine("A科成績高於六十分");
else if (a == 60)
    Console.WriteLine("A科剛好及格");
else
    Console.WriteLine("A科不及格");

if 的縮寫法 ?:

if(){}else{} 可以縮寫成 ?: 例如

int x = 10;
if(x>10){
  Console.WriteLine("Yes");
}else{
  Console.WriteLine("No")
}

可以改寫成

int x = 10;
string msg;
msg = x>10?"Yes":"No";

Console.WriteLine(msg);

switch

switch 主要用於針對單一變數而設計的流程控制 在控制過程須,只要配對到符合的 case 結果,就會搭配break來跳脫出流程 如果完全沒有符合的項目,則可以用 default 返回最終無符合情況的預設結果

例如:

int a = 1;
string msg;
switch (a)
{
    case 1:
        msg = "歡迎登入";
        break;
    case 2:
        msg = "帳號未開通";
        break;
    case 3:
        msg = "密碼錯誤";
        break;
    case 4:
        msg = "帳號不存在";
        break;
    default:
        msg = "無法判定或系統維護中!";
        break;
}
Console.WriteLine(msg);