【C#基础】运算符和选择语句

第三章

运算符有4类:赋值运算符、算术运算符、关系运算符、逻辑运算符

1、赋值运算符:赋值符号左边一定是变量名
1)基本赋值:=,把数据赋给变量
用法: 变量名=值
int a=10;
a=20;
a=10+20+30;

  1. 复合赋值:+=(累加)、-=、*=、/=、%=

    int a=10;
    a+=20; //相当于a=a+20 ,所以a=30
    a+=30; //相当于a=a+30, 所以a=60

    a-=20; // 相当于a=a-20; 所以a=40

    a*=3; // 相当于a=a3;所以a=120
    a
    =2+1; // 相当于a=a*(2+1),所以a=360

    a/=5; // 相当于a=a/5;所以a=72

    a%=5; // 相当于a=a%5; 所以a=2

2、算术运算符:
+、-、*、/、%、++、–

int a=+1,b=2; //+1:正1 (正号)
int c=a+b; //加法,c=3
string s1=“2020”;
string s2=s1+“年”+10+“月”; //字符串连接,s2=“2020年10月”

int d=-100; // 负号
int e=a-b; // 减法

int f=a*b; // 乘法

int g=a/b; // 除法

%:求余数,两个相除后的余数。也叫“取模运算”

int x=10%3; //10除以3,余数是1 。故x=1

1、算术运算符

  1. ++ : 自增1
    eg:
    int a=10;
//想让a增加1,变成11
//a=a+1;
//a+=1;
//a++; //a=11
//a++; //a=12

a++;  // 后缀++
++a;  // 前缀++

//如果计算式子只有一个++的符号,前缀和后缀没有区别
//如果计算式子有多个符号,前缀和后缀就有区别
//区别在于优先级的不同:
	前缀优先级很高(要先计算),
	后缀优先级很低(最后计算)。

eg:
int a=10;

	//int x=a++; //后缀++最后计算
		     //x=10 a=11

	int x=++a;  //前缀++要先计算
	            //a=11  x=11

eg:
int a=1,b=2;

	//int x=a+(++b); //x=4
	int x=a+(b++);	 //()不影响++的优先级。x=3



eg:
	int a=10;
	
	//int x=a--;  //x=10 a=9
	int x=--a;    //x=9 a=9

2、关系运算符:>、>=、<、<=、==(等于),!=(不等于)
主要用于两个数大小的比较。

关系表达式的结果只有两种:true和false(布尔类型的结果)

3、逻辑运算符:&&(与)、||(或)、!(非)

&&:与运算符,表示并且的含义。在多个条件同时要满足的
时候使用!
运算规则:A&&B
A和B同时为true,式子结果为true
A和B只要一个为false,式子结果就为false

  eg:判断一个数x是否在0~100区间内的情况。
      x>=0&&x<=100

     当x=30,式子结果是:true
 当x=150,式子结果是:false
 当x=-1,式子结果是:false

  &&运算符有短路运算的特点:
    当第一个条件为false,后面条件就不需要计算
  	 eg:  int a=1,b=2;
      bool c=a>b&&(b=3)<3;
      
      Console.WriteLine("b={0}",b); //b=2

||:或运算符,表示或者的含义。在多个条件只要满足其中
一个就可以的时候使用!
运算规则:A||B
A和B同时为false,式子结果为false
A和B只要一个为true,式子结果就为true

  eg:期末要考理论x和上机y两门课,只要一门不及格,
     全部要重考!
       x<60||y<60

   当x=40,y=80,式子结果是:true
   当x=90,y=70,式子结果是:false

 ||运算符有短路运算的特点:
    当第一个条件为true,后面条件就不需要计算
  	 eg:  int a=1,b=2;
      bool c=a<b||(b=3)<3;
      
      Console.WriteLine("b={0}",b); //b=2

!:非运算符,表示不的意思。
运算规则:!A 得到条件的相反的结果
A为true,结果是false
A为false,结果是true
eg:
int a=10;

	Console.WriteLine("{0}",!(a>1)); //false
	Console.WriteLine("{0}",!(a>100)); //true
有了非运算符,写条件时就可以有正面、反面的不同角度。

eg:判断一个数a是否大于0
   条件的写法:
   	a>0     从正面角度写条件
        !(a<=0) 从反面角度写条件

4、选择分支结构:if
第一种形式的语法:

if(条件)
{
    条件满足的时候要做的事情;
}

条件是通过关系运算符、逻辑运算符组成布尔型的表达式!

2、switch语句: 开关语句,多路选择结构。常用于等值判断。

语法:

switch(判断对象)
{
case 值1:语句块;break;
case 值2:语句块;break;

default:语句块;break;
}

说明:
1、判断对象常是bool、int、char、string型的变量或表达式;
不能是float、double、decimal类型
2、case语句可以有多个,每个case代表一种情形;
3、case后一般跟常量/变量值,表示当判断对象等于
该值时,就会执行后面的语句块!
4、break语句:跳出switch结构;执行到break语句时,
就意味着switch结构执行完成!
5、default:默认。当判断对象跟case后任何一个值都不
相等的时候,就会执行default语句。
default语句相当于if结构中的else语句!
default语句最多只有1条.
6、case和default语句的顺序可以调整!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值