![](https://i.imgur.com/ueVWPzP.png) # C# 修練30天 Day-3 基礎運用 ## 1.常用符號 ### 邏輯否定運算子 ! > ! 運算子會計算其運算元的邏輯否定。 也就是說,它會在運算元評估為 false 時產生 true,並在運算元評估為 true 時產生 false。 >> **用法** >> <font color="blue">bool</font> <font color="#00BFFF">passed</font> = false; >> Console.WriteLine(!<font color="#00BFFF">passed</font>); >> <font color="#D94DFF">//True</font> >> Console.WriteLine(!true); >> <font color="#D94DFF">//False</font> <br> ### 邏輯 AND 運算子 & &nbsp;&nbsp;&nbsp;&nbsp;條件式邏輯 AND 運算子 && > & 運算子會計算其運算元的邏輯 AND。 若 x 及 y 皆求出 true,那麼 x & y 的結果會是 true。 否則,結果為 false。 > > && 運算子也會計算其運算元的邏輯 AND,但如果左側運算元評估為 false ,則不會評估右運算元。 > **注意**: 宣告時可用 & ,運算時可用 && 。 >> **用法** >> <font color="blue">bool</font> <font color="#00BFFF">SecondOperand</font>() { Console.WriteLine("Second operand is evaluated."); return true; } >><font color="blue">bool</font> <font color="#00BFFF">a</font> = false & <font color="#00BFFF">SecondOperand</font>(); Console.WriteLine(<font color="#00BFFF">a</font>); <font color="#D94DFF">// Second operand is evaluated.</font> <font color="#D94DFF">// False</font> >><font color="blue">bool</font> <font color="#00BFFF">b</font> = true & <font color="#00BFFF">SecondOperand</font>(); Console.WriteLine(<font color="#00BFFF">b</font>); <font color="#D94DFF">// Second operand is evaluated.</font> <font color="#D94DFF">// true</font> <br> ### 條件邏輯 AND 運算子 && > &&,也稱為「捷徑運算」邏輯 AND 運算子,會計算其運算元的邏輯 AND。 若 x 及 y 皆求出 true,那麼 x && y 的結果會是 true。 否則,結果為 false。 如果 x 評估為 false , y 則不會評估 。 >> **用法1:** >> <font color="blue">int</font> <font color="#00BFFF">score</font> = <font color="#B8860B">100</font>; >> if (<font color="#00BFFF">score</font> == <font color="#B8860B">100</font>) >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine("我給你1000元"); >> }else if(<font color="#00BFFF">score</font> >= <font color="#B8860B">80</font> && <font color="#00BFFF">score</font> < <font color="#B8860B">100</font>) >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine("我給你500元"); >> }else >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine("沒有錢"); >> } >> >> **用法2:** >> <font color="blue">bool</font> <font color="#00BFFF">SecondOperand</font>() >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine("Second operand is evaluated."); >> &nbsp;&nbsp;&nbsp;&nbsp;return true; >> }; >> <font color="blue">bool</font> <font color="#00BFFF">a</font> = false && <font color="#00BFFF">SecondOperand</font>(); >> Console.WriteLine(<font color="#00BFFF">a</font>); >> <font color="#D94DFF">// False</font> >> <font color="blue">bool</font> <font color="#00BFFF">b</font> = true && <font color="#00BFFF">SecondOperand</font>(); >> Console.WriteLine(<font color="#00BFFF">b</font>); >> <font color="#D94DFF">// Second operand is evaluated.</font> >> <font color="#D94DFF">// True</font> <br> ### 邏輯 OR 運算子 | &nbsp;&nbsp;&nbsp;&nbsp;條件式邏輯 OR 運算子|| > | 運算子會計算其運算元的邏輯 OR。 若 x 或 y 其中一項的值為 true,x | y 的結果會是 true。 否則,結果為 false。 > | 運算子會評估這兩個運算元,即使左側運算元評估為 true ,因此不論右運算元的值為何,作業結果都是 true 如此。 > > || 也會計算其運算元的邏輯 OR,但如果左側運算元評估為 true ,則不會評估右側運算元。 > 如果是 整數數數值型別的運算元, | 運算子會計算其運算元的 位邏輯 OR 。 >> **用法:** >> <font color="blue">bool</font> <font color="#00BFFF">SecondOperand</font>() >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine("Second operand is evaluated."); >> &nbsp;&nbsp;&nbsp;&nbsp;return true; >> } >> <font color="blue">bool</font> <font color="#00BFFF">a</font> = true | <font color="#00BFFF">SecondOperand</font>(); >> Console.WriteLine(<font color="#00BFFF">a</font>); >> <font color="#D94DFF">// Second operand is evaluated.</font> >> <font color="#D94DFF">// True</font> >> <font color="blue">bool</font> <font color="#00BFFF">b</font> = false | <font color="#00BFFF">SecondOperand</font>(); >> Console.WriteLine(<font color="#00BFFF">b</font>); >> <font color="#D94DFF">// Second operand is evaluated.</font> >> <font color="#D94DFF">// True</font> <br> ### 條件邏輯 OR 運算子 || > ||,也稱為「捷徑運算」邏輯 OR 運算子,會計算其運算元的邏輯 OR。 若 x 或 y 其中一項的值為 true,x | | y 的結果會是 true。 否則,結果為 false。 如果 x 評估為 true , y 則不會評估 。 >> **用法:** >> <font color="blue">bool</font> <font color="#00BFFF">SecondOperand</font>() >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine("Second operand is evaluated."); >> &nbsp;&nbsp;&nbsp;&nbsp;return true; >> }; >> <font color="blue">bool</font> <font color="#00BFFF">a</font> = true | | <font color="#00BFFF">SecondOperand</font>(); >> Console.WriteLine(<font color="#00BFFF">a</font>); >> <font color="#D94DFF">// True</font> >> <font color="blue">bool</font> <font color="#00BFFF">b</font> = false | | <font color="#00BFFF">SecondOperand</font>(); >> Console.WriteLine(<font color="#00BFFF">b</font>); >> <font color="#D94DFF">// Second operand is evaluated.</font> >> <font color="#D94DFF">// True</font> <br> ## 2.條件判斷 if else 陳述式 ### if else > if else 會根據運算式的值,從許多可能的路徑中選取要執行的語句。 語句if 會根據布林運算式的值選取要執行的語句。 if語句可以與 else 結合,根據布林運算式選擇兩個不同的路徑。 >> **用法:** >> 如果你考100分,我給你1000元, >> 或是如果你考80分以上,我給你500元, >> 或是如果你考60分以上,我給你100元, >> 否則你給我300元。 >> <font color="blue">int</font> <font color="#00BFFF">score</font> = <font color="#B8860B">100</font>; >> if (<font color="#00BFFF">score</font> == <font color="#B8860B">100</font>) >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(<font color="red">"我給你1000元"</font>); >> }else if(<font color="#00BFFF">score</font> >= <font color="#B8860B">80</font> && <font color="#00BFFF">score</font> < <font color="#B8860B">100</font>) >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(<font color="red">"我給你500元"</font>); >> }else if (<font color="#00BFFF">score</font> >= <font color="#B8860B">60</font> && <font color="#00BFFF">score</font> < <font color="#B8860B">80</font>) >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(<font color="red">"我給你100元"</font>); >> } >> else >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(<font color="red">"你給我300元"</font>); >> }; >> <font color="#D94DFF">// 我給你1000元</font> <br> ## 3.進階計算機 ### 進階綜合運算 > 用到現在學到的方式做一個新的計算 >> **用法:** >> Console.Write(<font color="red">"請輸入第一個數 : "</font>); >> <font color="blue">double</font> <font color="#00BFFF">num1</font> = Convert.ToDouble(Console.ReadLine()); >> >> Console.Write(<font color="red">"請輸入要做的運算 : "</font>); >> <font color="blue">string</font> <font color="#00BFFF">oper</font> = Console.ReadLine(); >> >> Console.Write(<font color="red">"請輸入第二個數 : "</font>); >> <font color="blue">double</font> <font color="#00BFFF">num2</font> = Convert.ToDouble(Console.ReadLine()); >> >> if(<font color="#00BFFF">oper</font> == <font color="red">"+"</font>) >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(<font color="#00BFFF">num1</font> + <font color="#00BFFF">num2</font>); >> }else if(<font color="#00BFFF">oper</font> == <font color="red">"-"</font>) >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(<font color="#00BFFF">num1</font> - <font color="#00BFFF">num2</font>); >> }else if (<font color="#00BFFF">oper</font> == <font color="red">"*"</font>) >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(<font color="#00BFFF">num1</font> * <font color="#00BFFF">num2</font>); >> }else if(<font color="#00BFFF">oper</font> == <font color="red">"/"</font>) >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(<font color="#00BFFF">num1</font> / <font color="#00BFFF">num2</font>); >> }else >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(<font color="red">"無法運算"</font>); >> }; <br> ## 4.while 迴圈&nbsp;&nbsp;&nbsp;&nbsp;do 迴圈 ### while(){} 陳述式 &nbsp;&nbsp;&nbsp;&nbsp;do 陳述式 > while(){} 當指定的布林運算式評估為 true 時,while 陳述式會執行某個陳述式或陳述式區塊。 運算式是在每次執行迴圈之前評估,因此 while 迴圈會執行零次以上。 while語句與do迴圈不同,它會執行一或多次。 > > do{}當指定的布林運算式評估為 true 時,do 陳述式會執行某個陳述式或陳述式區塊。 因為運算式會在每次迴圈執行後評估,所以 do 迴圈會執行一或多次。 do語句與while迴圈不同,它會執行零次或多次。 >> **用法1:** >> <font color="blue">int</font> <font color="#00BFFF">num</font> = <font color="#B8860B">0</font>; >> while (<font color="#00BFFF">n</font> < <font color="#B8860B">5</font>) >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.Write(<font color="#00BFFF">num</font>); >> &nbsp;&nbsp;&nbsp;&nbsp;<font color="#00BFFF">num</font>++; }; >> <font color="#D94DFF">//0</font> >> <font color="#D94DFF">//1</font> >> <font color="#D94DFF">//2</font> >> <font color="#D94DFF">//3</font> >> <font color="#D94DFF">//4</font> >> >> **用法2:** >> <font color="blue">int</font> <font color="#00BFFF">num</font> = <font color="#B8860B">0</font>; >> do >> { >> &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(<font color="#00BFFF">num</font>); >> &nbsp;&nbsp;&nbsp;&nbsp;<font color="#00BFFF">num</font>++; >> } >> while (<font color="#00BFFF">num</font> <= 5); ###### tags: `C#` ---