码迷,mamicode.com
首页 > 其他好文 > 详细

八、运算符之逻辑运算符

时间:2014-12-04 06:33:23      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:c#   .net   .net framework   编程   移动开发   

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。
 * 
 */


本文出自 “MK IT Life” 博客,请务必保留此出处http://vikxiao.blog.51cto.com/9189404/1586115

八、运算符之逻辑运算符

标签:c#   .net   .net framework   编程   移动开发   

原文地址:http://vikxiao.blog.51cto.com/9189404/1586115

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!