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。
*
*/免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。