網頁

2014年9月9日 星期二

3.C#判斷式

C#判斷式是使用ifswitch為主,如果判斷的項目少的時候使用if較為恰當如果多則使用switch static void Main(String[] args){ int age = 16; if (age >= 18) { Console.WriteLine("成年"); Console.ReadKey(); } else { Console.WriteLine("未成年"); Console.ReadKey(); } }
上面的範例使用if判斷式判斷年紀是否為成年其結果為未成年,現在在增加一個判斷式項目判斷是否為青少年 static void Main(String[] args){ int age = 16; if (age >= 18) { Console.WriteLine("成年"); Console.ReadKey(); } else if (age < 18 && age >= 12) { Console.WriteLine("青少年"); Console.ReadKey(); } else { Console.WriteLine("小孩"); Console.ReadKey(); } }
執行後的結果為青少年。

switch判斷式使用case進行布林和數值的判斷,當確定是某個case的項目時,必須使用break中止switch,不然swtich會執行下一個case的項目,當所判斷的項目都不再case之中可以使用default顯示找不到符合的判斷。 static void Main(String[] args){ int choice = 1; switch (choice) { case 1: Console.WriteLine("A"); Console.ReadKey(); break; case 2: Console.WriteLine("B"); Console.ReadKey(); break; case 3: Console.WriteLine("C"); Console.ReadKey(); break; default: Console.WriteLine("不在選項中"); Console.ReadKey(); break; } }

2.C#變數和運算

C#是一個強類型的語言,所有的變數都必須要指定是什麼型態,變數是儲存資料的東西,變數的型態可能是字元、字串、數值等等。 static void Main(String[] args) { int i = 1, j = 2; //整數 float f = 1.2f; //單精準浮點數 double d = 3.14; //雙精準浮點數 char c = 'c'; //字元 string s = "hello"; //字串 bool b = true; //布林 }
C#用=指定變數和進行運算,int i = 1是將常數1指定到變數i,i的變數儲存的資料就為1。不過程式語言的=並不等於數學的=,像是i = i + 1在數學公式中是不成立的兩邊的值並不相等,i的值加1之後為2,i變數最後儲存的值為2。

C#的運算順序與數學的運算順序一樣先乘除後加減,例如X = 2 * 3 + 4 / 2,X的值為8。

C#也支援位元運算、邏輯運算、遞增運算,位元運算使用<<>>符號分別代表向左位移和向右位移,例如int i = 1; i = i << 2 結果為4,因為做位元運算時會將值轉為2進位,1的二進位為00000001向左位移2位之後為00000100為4,右邊移位以此類推。邏輯運算使用!(NOT)&(AND)|(OR)來判斷是否為true或false或對數值進行邏輯運算。遞增運算通常用於迴圈使每一次執行加一或減一,i++、++i、i--、--i遞增運算的符號前後是有差的,如果遞增運算在前面的話,在進行運算式時會先執行遞增運算在計算運算式,如果在後面時會先計算運算式在進行遞增運算。

1.第一個C#程式

using System; namespace learn { class HelloWorld { static void Main(string[] args) { Console.WriteLine("Hello World"); //印出Hello World Console.ReadKey(); } } }
上面的程式碼是由C#主控台(Console)的專案所撰寫的,主控台程式必須包含Main方法,Main方法是程式開始的起始點

Main方法是位於類別內的方法,在上面的範例中類別是HelloWorld,因此Main方法位於HelloWorld類別內,Main方法的寫法不止一種,上面範例中的Main方法寫法是static void Mainvoid表示方法為無回傳值,最基本的Main方法寫法如下:

static void Main() { }
當然也可以設為有回傳值,底下的範例將Main方法設為整數回傳值 static int Main() { return 0; }

在Main方法中除了可以設定回傳值之外,也可以使用引數 static void Main(String[] args) { }
或是 static int Main(String[] args) { return 0; }
不論是有無回傳值都可以使用引數

Console.WriteLine是用來當作資料輸出,WriteLineConsole類別輸出資料的其中一種,Console類別是System的子類別,因為第一個範例有使用using System所以可以使用System的類別和方法,如果沒有使用using System則要使用完整的寫法System.Console.WriteLine

C#的註解有兩種方式一種是使用//另一種是用/**/,另如//我是註解或是/*我是註解*///用於單行/**/用於多行或區塊

Console.ReadKey是提供輸入資料使用,為了能讓第一個範例顯示結果,使用Console.ReadKey等待使用者輸入,有如暫停的功能,第一個範例就會輸出Hello World。