16.运算符

1,算数运算符

//算数运算符 是用于 数值类型变量计算的运算符
//它的返回结果是数值

1.赋值符号:“=”
把右侧的值赋值给左侧的变量 “先看右侧 再看左侧”
int i = 5;

字符串运算符

2.加 + 减号 - 乘号 除 / 取余 % 数学运算*斜体样式**
// 用自己计算 先算右侧结果 再赋值给左侧变量
// 连续运算 先算右侧结果 再赋值给左侧变量
// 初始化时就运算 先算右侧结果 再赋值给左侧变量
int i = 1;i= i+2;output:3
i= i+i+2;output :8

int j = 1;j=j-1;output:0

int i = 1;i= i*2;output:2

int i = 1;i= 10/2;output:5

//默认的整数 是int 如果用来做除法运算 要注意 会丢失小数点后的小数
//如果你想用浮点数来存储 一定是 在运算时要有浮点数的特征!
float f=1/2f;
Console.WriteLine(f); output:0.5
3.算数运算符优先级
//优先级 是指 在混合运算时的运算顺序
//乘除取余 优先级高于 加減 先算乘除取余 后算加減
//括号可以改变优先级 优先计算括号内内容
//多组括号 先算最里层括号 依次往外算
4.算数运算符的 复合运算符
// 固定写法 运算符=
//+= -= *= /= %=
//复合运算符 是用于 自己=自己进行运算
//有+=先算=后面的再加上前面的自己就是最终结果。
//注意:复合运算符之恩那个进行一种运算 不能混合运算。
int i3=3;
i3+=2;output :3

int i4 = 10;
i4+=20*2/10;output 40

4.算数运算符的 自增减

//自增运算符
a2 = 1;

a2++;//先用再加
Console.WriteLine(a2);

++a2;//先加再用
Console.WriteLine(a2);

//自减运算符 让自己-1

a2–;//先用再减
–a2;//先减再用

2,字符串拼接

字符串拼接方式1
//之前的算数运算符 只是用来数值类型变量进行数学运算的
//而 string 不存在算数运算符不能计算 但是可以通过+号来进行字符串拼接
例子:string str =“123”
//用+号进行字符串拼接
例子:
str =str +“456”;
Console.WriteLine(str);
str = str +1;
Console.WriteLine(str);
// 复合运算符 +=
例子:
str =“123”;
str += "1”+ 4 + true;
Console.WriteLine(str);

/注意 : 用+号拼接 是用符号唯一方法 不能用-*/%

字符串拼接方式2
固定语法
//string.Format(“待拼接的内容”,内容1,内容2,…);
//拼接内容中的固定规则
//想要被拼接的内容用占位符替代{数字}数字:8~n 依次往后
例子:
string str2 = string.Format(“我是{0},我今年{1}岁,我想要{2}”,“马轻轻”,18,“学习程序”);
Console.WriteLine(str2);
str2=string.Format(“asdf{0},{1},sdfasdf{2}”,1,true, false);
Console.WriteLine(str2);
控制台打印拼接
//后面的 内容 比占位符多 不会报错
//后面的 内容 比占位符少 会报错
例子:
Console.WriteLine(“A{0}B{1}c{2}”,1,true, false,1,2);
Console.Write(“A{0}B{1}{2}”,1,true);

3,条件运算符

条件运算符
// 用于比较两个变量或常量
// 是否大于 >1
//是否小于 <
// 是否等于 ==
//是否不等于 !=
//是否大于等于 >=
//是否小于等于<=

// 条件运算符 一定存在左右两边的内容
// 左边内容 条件运算符 右边内容
例子:
// 比较的结果 返回的是 一个 bool 类型的值
//true和false 如果比较的条件满足 那就返回true 不满足 就返回false
// 先算右边 再赋值给左边

a=5,b=10;
bool result=a>5;
controlLine(result ); 返回:false

各种应用写法
//变量和变量比较

a =5;
b = 10;
result =a< b;// true

//变量和数值(常量)比较

result=a<10;// true
result=b>5;//true

//数值和数值比较

result =5 >3j;//true
result=5==3;// false
result=5!=3;// true;

//条件运算符的 优先级 低于算数运算符

//计算结果比较
result=a+3>a-2 +3;

不能进行范围比较
//不同数值类型之间 可以随意进行条件运算符比较
int i 5;
float f = 1.2f;
double d=12.4;
short s.= 2;
byte by = 20;
uint ui = 222;
//只要是数值 就能够进行条件运算符比较 比较大于小于等于等等
result =i >f;
result =f< d;
result =i > by;
result =f> ui;
result =ui >d;
//特殊类型 char string bool 只能同类型进行 == 和!=比较
string stn=“123”;
char c = ‘A’;
bool bo= true;
result = str ==“234”;//false
result= str == “123”;//true
result =str != “123”;//false

不同类型之间的比较

4.逻辑运算符
逻辑与
符号 && 并且

//规则: 对两个bool值进行逻辑运算 有假则假 同真为真
bool result =true && false;
Console.WriteLine(result);
//bool相关的类型 bool变量 条件运算符
//逻辑运算符优先级 低于 条件运算符 术运算
// true && true
result=3>1 &&1<2;
Console.WriteLine(result);
int i = 3;
//多个逻辑与 组合运用
int i2 = 5;
// true && fals && true && true
result=i2>1&& i2<5 && i>1 && i<5;//false
注意:没有括号按左到右比较,有括号先算括号里面的。
逻辑或
符号 ||

//规则:对两个bool值进行逻辑计算,有真则真,同假为假
result =truefalse;
Console.WriteLine(result);
result = truetrue;
Console.WriteLine(result);
result = false true;
Console.WriteLine(result);
result =falsefalse;
Console.WriteLine(result);

逻辑非
符号 !

//规则:对一个bool值进行取反,真变假 假变真
resjult = !true;//false
Console.WriteLine(result);
result =!!false;//false
Console.WriteLine(result);
//逻辑非的优先级较高
result = !(1<2);//false
混合使用优先级问题
//规则 !(逻辑非)优先级最高 &&(逻辑与)优先级高于|(逻辑或)
// 逻辑运算符优先级 低于 数运符 条件运算符(逻辑非除外)
逻辑运算符短路规则
int i3 = 1;
//|| 有真则真
// 只要 逻辑与或者逻辑或 左边满足了条件就不会计算右边了
// i3 >0 true
result=i3>0||++i3 >= 1;
Console.WriteLine(i3);// output:1

5.位运算符
//位运算符 主要用数值类型进行计算的
//将数值转换为2进制 再进行位运算
1,位与&
// 规则 连接两个数值进行位计算 将数值转为2进制

int a= 1;// 001
int b=5;// 101
// 对位运算 有a则8
// 001
//& 101
// 001 = 1(换算成10进制)
int c=a& b;
Console.WriteLine©;//output 1
注意1,多个数值位运算,没有括号时,从左到右,依次计算。

2,位或 |
位或|
// 规则 连接两个数值进行位计算 将数值转为2进制
// 对位运算 有1则1

3,异或^
// 对位运算 相同为0 不同为1
//规则 连接两个数值进行位计算 将数值转为2进制
a=1;//001
b=5;//101
a// 001
b//^101
c// 100换算10进制为4
c=a^ b;//4;
Console.WriteLine©;
4,位取反~
//规则 写在数值前面 将数值转为2进制
// 对位运算 0变1 1变0
0000 0000 0000 0000 0000 0000 0000 0101
// 1111 1111 1111 1111 1111 1111 1111 1010
// 反码补码知识
C = ~a;
Console.WriteLine©;//output :-6

5,左移和右移<< >>
//规则 让一个数的2进制数进行左移和右移!
//左移几位 右侧加几个0
// 右移几位 右侧去掉几个数
a=5;// 101
c=a<<5;
// 1位11010
// 2位 10100
//3位 101000
// 4位 1010000
//5位10100000=(转10进制)32 + 128 = 160
Console.WriteLine©;输出:160
// 右移几位 右侧去掉几个数
a=5;// 101
c=a>>2;
// 1位 10
// 2位 1
Console.WriteLine©;输出:1

6.三目运算符

基本语法
//套路: 3个空位 2个符号
//固定语法:空位 ?空位 :空位;
//关键信息:bool类型 ? bool类型为真返回内容 : bool类型为假返回内容;
//三目运算符 会有返回值,这个返回值类型必须一致,并且必须使用!

示例例子:
//条件
string str = false ?“条件为真”:“条件为假”;
Console.WriteLine(str);//
//具体内容:
int a= 5;
str = a > 1 ? "a大于1”:“a小于1”;
Console.WriteLine(str);
//第一个空位 始终是结果为bool类型的表达式 bool变量 条件表达式
逻辑运算符表达式
//第二三个空位 什么表达式都可以 只要保证他们的结果类型是一致的

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐