第三章
运算符有4类:赋值运算符、算术运算符、关系运算符、逻辑运算符
1、赋值运算符:赋值符号左边一定是变量名
1)基本赋值:=,把数据赋给变量
用法: 变量名=值
int a=10;
a=20;
a=10+20+30;
-
复合赋值:+=(累加)、-=、*=、/=、%=
int a=10;
a+=20; //相当于a=a+20 ,所以a=30
a+=30; //相当于a=a+30, 所以a=60a-=20; // 相当于a=a-20; 所以a=40
a*=3; // 相当于a=a3;所以a=120
a=2+1; // 相当于a=a*(2+1),所以a=360a/=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
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语句的顺序可以调整!