欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#-运算符(四)

程序员文章站 2022-06-30 12:01:16
算术运算符 +:两个操作数相加,例:2+3得5 -:第一个操作数减去第二个操作数 例:5-3得2 *:两个操作数相乘,例:2*3得6 /:分子除以分母,例:5/2得2 %:取模运算符,整除后的余数,例:5%2得1 ++:自增运算符,整数值增加1,例:i++ --:自减运算符,整数值减少1,例:i-- ......


算术运算符
  +:两个操作数相加,例:2+3得5
  -:第一个操作数减去第二个操作数 例:5-3得2
  *:两个操作数相乘,例:2*3得6
  /:分子除以分母,例:5/2得2
  %:取模运算符,整除后的余数,例:5%2得1
  ++:自增运算符,整数值增加1,例:i++
  --:自减运算符,整数值减少1,例:i--

关系运算符
  ==:检查两个操作数的值是否相等,如果相等则为true
  !=:检查两个操作数的值是否相等,如果不相等则为true
  >:检查左操作数的值是否大于右操作数的值,如果是则为true
  <:检查左操作数的值是否小于右操作数的值,如果是则为ture
  >=:检查左操作数的值是否大于或等于右操作数的值,如果是则为true
  <=:检查左操作数的值是否小于或等于右操作数的值,如果是则为true

逻辑运算符
  &&:与运算符。如果两个操作数都非零,则为true
  ||:或运算符。如果两个操作数中有任意一个非零,则为ture
  !:非运算符。如果条件为true则非运算符将使其为false

赋值运算符
  =:赋值运算符,将右边操作数的值赋给左边操作数
  +=:加且赋值运算符,将右边操作数加上左边操作数的结果赋值给左边操作数
  -=:减且赋值运算符,将左边操作数减去右边操作数的结果赋值给左边操作数
  *=:乘且赋值运算符,将右边操作数乘以左边操作数的结果赋值给左边操作数
  /=:除且赋值运算符,将左边操作数除以右边操作数的结果赋值给左边操作数
  %=:求模且赋值运算符,求两个操作数的模赋值给左边操作数
  <<=:左移且赋值运算符
  &=:按位与且赋值运算符
  ^=:按位异或且赋值运算符
  |=:按位或且赋值运算符

位运算符
  &:如果同时存在于两个操作数中,二进制 and 运算符复制一位到结果中
  |:如果存在于任一操作数中,二进制 or 运算符复制一位到结果中
  ^:如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中
  ~:按位取反运算符是一元运算符,具有"翻转"位效果,即0变成1,1变成0,包括符号位
  <<:二进制左移运算符。左操作数的值向左移动右操作数指定的位数
  >>:二进制右移运算符。左操作数的值向右移动右操作数指定的位数

位运算符"&"是双目运算符
其功能是参与运算的两数各对应的二进位相与
只有对应的两个二进位均为1时,结果位才为1 ,否则为0
参与运算的数以补码方式出现
例:9&5
    9 的二进制补码为 0000 1001
    5 的二进制补码为 0000 0101
    结果             0000 0001
    则:9 & 5 = 1


或运算符“|”是双目运算符
其功能是参与运算的两数各对应的二进位相或
只要对应的二个二进位有一个为1时,结果位就为1
参与运算的两个数均以补码出现
例:9|5
                    0000 1001
                    |
                    0000 0101
            结果    0000 1101
            则: 9 | 5 = 13

 

其他运算符
  ?::条件运算符 , 根据布尔型表达式的值返回两个值中的一个
  格式:condition ? first_expression : second_expression;
  如果条件为 true,则计算第一表达式并以它的计算结果为准;如果为 false,则计算第二表达式并以它的计算结果为准。只计算两个表达式中的一个
  ??:如果 ?? 运算符的左操作数非空,该运算符将返回左操作数,否则返回右操作数


运算符优先级
  算术运算符>>关系运算符>>逻辑运算符>>赋值运算符

示例

using system;

namespace demo
{
    class program
    {
        static void main(string[] args)
        {
            int a = 5;
            int b;

            console.writeline(5 + 5);
            console.writeline(-a);
            console.writeline(a - 1);
            console.writeline(5 * 2);
            console.writeline(5.0 % 2.2);
            console.writeline(a--);
            console.writeline(--a);

            console.writeline(true | false);
            console.writeline(true ^ false);

            console.writeline(1.1 < 1.1);

            console.writeline("b 的值是 {0}", b = (a == 1) ? 20 : 30);
        }
    }
}

结果

C#-运算符(四)