C#运算符

背景:

因编程的基础差,因此最近开始巩固学习C#基础,后期把自己学习的东西,总结相应文章中,有不足处请大家多多指教。

1. 简介

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C# 有丰富的内置运算符,分类如下:

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 复合赋值运算符
  • 位运算符
  • 其他运算符

本文章将逐一讲解算术运算符、关系运算符、逻辑运算符、复合赋值运算符。

2. 算法运算符

算术预算符又分为一元运算符和二元运算符。

  •   一元:++、--、+、-
  •  二元:*、/、%、+、-

对于向加加或者减减这样只需要一个操作数就能完成的运算,称为一元运算符

+ 、-、 *、 /、 %、对于这些需要两个或以上才能完成运算操作符,称为二元运算符

 

运算符

描述

+

加运算符

-

减运算符

++

增量运算符

--

减量运算符

*

乘法运算符

/

除法运算符

%

余数运算符

 

 

 

 

 

 

 

 

 

 

 

优先级

一元的运算符的优先级要高于二元的运算符。

如果在一个表达式当中,既有一元运算符,又有二元运算符,我们要先计算一元运算符。

 

实例

1. 加加

            int number = 10;
            number++;
            ++number;//number=number+1;
            Console.WriteLine(number);
            Console.ReadKey();

2. 减减

            int number = 10;
            number--;
            --number;
            Console.WriteLine(number);
            Console.ReadKey();

3.练习题

             int a = 5;
            int b = a++ + ++a * 2 + --a + a++;
            //      5+7*2+6+6             7
            Console.WriteLine(a);
            Console.WriteLine(b);
            Console.ReadKey()
//最后输出结果a=7,b=31

总结:++:分为前++和后++,不管是前++还是后++,最终结果都是给这个变量加—;

区别:表达式当中,如果是前++,则是给自身加一,然后带着加一后的值参与运算。

--:同上

 

3.  关系运算符

关系运算符是用来描述两个事物之间的关系,由关系运算符连接的表达式称之为关系表示式。

 

运算符

描述

==

相等

!=

不等于 

 大于

小于 

>=

大于等于 

<=

小于等于 

 

 

 

 

 

 

 

 

 

 

 

bool类型

关系运算符用bool类型表示;

在C#中我们用bool类型描述对或者错,bool类型的值只有两个 ,true、false

 

实例

             // 大象的重量(1500)>老鼠的重量(1)
             //关系表达式的结果是bool类型
             // bool b = 1500 > 1;
             //  bool b = 3 > 1000;
             // bool b = 39 < 18;
             bool b = 20 == 20;
             Console.WriteLine(b);
             Console.ReadKey();
            //兔子的寿命(3)>乌龟的寿命(1000)
            //39<18
            //我的年龄(20)==你的年龄(20)

 

4. 逻辑运算符

又逻辑运算符连接的表达式叫做逻辑表达式,逻辑运算符两边的一般都是关系表达式或者bool类型的值。

运算符

描述

&&

逻辑与运算符

||

逻辑或运算符

!

逻辑非运算符

 

 

 

 

 

 

实例

            //让用户输入老苏的语文和数学成绩,输出以下判断是否正确,正确输出True,错误输出False
            //1)老苏的语文和数学成绩都大于90分
            Console.WriteLine("小苏,输入你的语文成绩");
            //string strChinese = Console.ReadLine();
            int chinese = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("小苏,请输入你的数学成绩");
            int math = Convert.ToInt32(Console.ReadLine());
            
            //2)语文和数学有一门是大于90分的
          
            bool b = chinese > 90 || math > 90;
            Console.WriteLine(b);
            Console.ReadKey()

 

用法解释

逻辑运算符两边放的一般都是关系表达式或者bool类型的值。
5>3 &&true
3>5||false

!表达式
逻辑表达式的结果同样也是bool类型

逻辑与 &&

表达式1&&表达式2

表达式1

表达式2

表达式1&&表达式2

True

True

True

False

True

False

True

False

False

False

False

false

 

 

 

 

 

 

 

逻辑或 ||

表达式1||表达式2

表达式1

表达式2

表达式1||表达式2

True

True

True

True

False

True

False

True

True

False

False

false

 

 

 

 

 

 

 

逻辑非 !

!表达式

表达式

!表达式

True

False

False

true

 

 

 

 

 

 

5. 复合赋值运算符

下表列出了 C# 支持的赋值运算符:

运算符

描述

实例

=

简单的赋值运算符,把右边操作数的值赋给左边操作数

C = A + B 将把 A + B 的值赋给 C

+=

加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数

C += A 相当于 C = C + A

-=

减且赋值运算符,把左边操作数减以右边操作数的结果赋值给左边操作数

C -= A 相当于 C = C - A

*=

乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作

C *= A 相当于 C = C * A

/=

除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数

C /= A 相当于 C = C / A

%=

求模且赋值运算符,求两个操作数的模赋值给左边操作数

C %= A 相当于 C = C % A

<<=

左移且赋值运算符

C <<= 2 等同于 C = C << 2

>>=

右移且赋值运算符

C >>= 2 等同于 C = C >> 2

&=

按位与且赋值运算符

C &= 2 等同于 C = C & 2

^=

按位异或且赋值运算符

C ^= 2 等同于 C = C ^ 2

|=

按位或且赋值运算符

C |= 2 等同于 C = C | 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实例:

int number=10;
    //1.+= :
    number+=20;
    number=number+20;
//2. -=: number-=5; number=number-5;
//3. *=: number*=5; number=number*5;
//4. /=: number/=5; //5. %=:
 number%=5;

 

posted @ 2019-10-24 11:38  笑笑未来  阅读(2843)  评论(3编辑  收藏  举报