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

C#运算符

程序员文章站 2023-11-14 21:42:16
背景: 因编程的基础差,因此最近开始巩固学习C#基础,后期把自己学习的东西,总结相应文章中,有不足处请大家多多指教。 1. 简介 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。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;