C#零基础学习笔记 Day3

表达式与运算符

表达式

表达式是由运算符和操作数组成的。+、-、*、/都是运算符,操作数包括变量、常量和表达式等。

算数运算符

  • 算术运算符包括:+、-、*、/ ;

    • %运算符时,返回值符号与左操作数相同;
    • /运算符是,左操作数不能为零;
  • 赋值运算符

    • 数据类型名称 = 数值
      -遇到相同数值的时候
    int aScore = 80;
    int bScore;
    bScore=aScore;
    
    • 错误示范

      i+j=k;
      5=k;

  • 重新赋值

int a = 3;
a = a+2;// a += 2 == a = a + 2;
  • 复合赋值运算
    可以自动完成数值类型转换
a+=3;      a=a+3;		//算术赋值
a&=3;      a=a&3;		//位赋值
a>>=3;      a=a>>3;			//移位赋值
a %=b-3;      a=a%(b-3);   //不能写作 a= a%b-3;

关系运算符

  • 关系运算符:==、!=、> 、<、>=、<=;
    等于、不等于、大于、小于、大于等于、小于等于;

逻辑运算符

  • 逻辑与运算:真真才真其他全假
  • 逻辑或运算:假假才假其他全真
  • 逻辑非运算:真变假,假变真

&&与&、||与|的区别

  • &&如果一开始操作数结果就是false就直接判定结果为false不回去判断第二个,&如果一开始结果为false,还是会去判断第二个的结果;&& 比& 执行效率高
  • ||如果第一个操作数为true,不回去判断第二个,|如果第一个操作数为true还是会去判断另外一个操作数。 || 比 | 执行效率高
    &&与||又被称为短路运算符

位运算符

  • 位与(&)、位或(|)、位取反(~)、位异或(^)
    • 位与:有0即为0
    • 位或:有1即为1
    • 位取反:0变1,1变0
    • 位异或:全0或1全1才为0

使用位运算符的时候使用单个 & 或者 |

移位运算符

  • 左移位运算: “<<” 将一个
    二进制数向 移动指定的位数右边补0左边舍弃移动的位数,向左移动多少位就等于乘以2的几多少方;
  • 右移位运算:">>"将一个二进制数向右移动相应的位数如果数值的最高位为0则补充0为1则补充1右边舍弃,右移多少位相当于除以2的多少次方;

其他运算符

  1. 条件运算符
    • 判断公式?结果1:结果2;
      如果判断公式结果为真返回结果1否则返回结果2。
      条件运算符的执行顺序是从右向左, 必须要有一个变量来记录条件运算的结果
  2. 逗号运算符
    • <表达式1>,<表达式2>,…,<表达式n>
  3. is运算符
    • 对象 is 类型 是的话返回 true ,否返回false

运算符的优先级和结核性

简称单目运算符数目结核性
单目++,–,!,~单目
算数+,-,*,/,%双目
位移<<,>>双目
关系>,<,>=,<=,==,!=双目
逻辑&&,II双目
条件?: 三目
赋值=,+=,-=,*=,/=,%=双目

小括号优先级最高其次按照表格的优先级顺序


版权声明:本文为DesignationX原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。