using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _8.運算符之邏輯運算符 { class Program { static void Main(string[] args) { // 邏輯運算符也稱條件布爾運算符 bool b1 = true, b2 = false; Console.WriteLine("!{0} = {1}", b1, !b1); Console.WriteLine("!{0} = {1}", b2, !b2); Console.WriteLine("{0} & {1} = {2}", b1, b2, b1 & b2); Console.WriteLine("{0} | {1} = {2}", b1, b2, b1 | b2); Console.WriteLine("{0} ^ {1} = {2}", b1, b2, b1 ^ b2); // &與&&、|與||,後者具有短路性質,前者沒有此性質。 // 區別:兩者都是檢查第一個操作的值,再根據該操作數的值進行操作,可能根本不處理第二個操作數。 int a = 5, b = 3; bool result; result = true & a++ > 6; Console.WriteLine("a = {0}, result = {1}", a, result); a = 5; result = false && a++ > 6; Console.WriteLine("a = {0}, result = {1}", a, result); result = false | b++ > 5; Console.WriteLine("a = {0}, result = {1}", b, result); b = 3; result = true || b++ > 5; Console.WriteLine("a = {0}, result = {1}", b, result); // 邏輯賦值運算符 /** * <variable> &= <expression> 等價於 <variable> = <variable> & (<expression>) * <variable> |= <expression> 等價於 <variable> = <variable> | (<expression>) * <variable> ^= <expression> 等價於 <variable> = <variable> ^ (<expression>) */ // !(邏輯非)不存在複合賦值運算符,因爲要寫成 != 會造成誤解,認爲是不等於運算符。 // 不存在&&=和||=複合賦值運算符。 Console.ReadKey(); } } } /** * ! (邏輯非) 如果操作數爲false,結果爲true;如果操作數爲true,結果爲false。 * & (邏輯與) 如果兩個操作數都是true,結果爲true,否則爲false。 * | (邏輯或) 如果兩個操作數都是false,結果爲false,否則爲true。 * ^ (邏輯異或) 如果兩個操作數中有且僅有一個true,結果爲true,否則爲false。 * * &&(邏輯與) 如果兩個操作數都是true,結果爲true,否則爲false。 * ||(邏輯或) 如果兩個操作數都是false,結果爲false,否則爲true。 * */
八、運算符之邏輯運算符
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.