目录
混合使用优先级:
规则 :
// 逻辑非 > 算术运算符 > 条件运算符 > 逻辑运算符优先级
一、算术运算符
加减乘除 取余 + - * / %
优先级 乘 除 取余 > 加减
复合运算符 += -= %= /= *=
用于自己和自己计算
int i2 = 2;
i2 *= 4; // i2 = i2 * 4;i2 += 5; // i2 = i2 +5
例子:
int k = 987652; //转换成天、时、分、秒
int OneDay = 60 * 60 * 24;
int OneHour = 60 * 60;
int OneMins = 60;int day = 987652 / OneDay;
int hour = 987652 % OneDay / OneHour;
int Min = 987652 % OneHour / OneMins;
int s = 987652 % 60;Console.WriteLine("987652秒是"+day +"天"+hour+"时"+Min+"分"+s+"秒。");
二、字符串拼接
方式1: + 和 +=
str = "123";
str += "1" + 4 + true;
Console.WriteLine(str);
// 使用 += 时,用算术运算符计算还是用 + 号拼接,要看第一个计算的是什么。
str += "" + 1 + 2 + 3; (用+的形式拼接)输出为 1 2 3
str += 1 + 2 + "" + 3; (用算术运算符的形式拼接) 输出为 3 3
方式2:string.Format
语法:
//string.Format("待拼接的内容",内容1,内容2,。。。。)
规则:
//想要被拼接的内容用占位符替代 {数字} 数字:0~n 依次往后
str2 = string.Format("{0}{1}{2}", 2113.34, true ,false);
Console.WriteLine(str2);
注意:使用了多少个占位符就必须要有多少个内容,内容数 >= 占位符数。
控制台打印
Console.WriteLIne(); 用法和 string.Format 一样
三、条件运算符
用于比较两个变量或者常量
> < == != >= <=
大于小于 是否等于不等于 是否小于等于大于等于
//条件运算符 语法
// 左边的内容 条件运算符 右边的内容
//比较所返回的 结果 是一个 bool值 成立则为true 不满足为false
//纯粹比较 但结果必须被使用起来
(1)写法
变量和变量比 变量和常量比
数值和数值比较(一般较少出现)
Result = 9 > 5; //true
Result = 4 > 5; //False
计算结果比较
Result = a + 3 > a - 2 + 3;// 条件运算符 优先级低于 算数运算符
//先计算 再比较 Result = 13 > 11 true
(2)不能进行范围比较
//判断是否在两个值之间
// 1 < a <10 不能连着用
//在C# 都不能这么写
// Result = 1 < a < 10
//要判断 一个变量是否存在两个数之间 要结合 逻辑运算符
(3)不同类型之间的比较
//>=小于 或者 等于 只需要满足一个条件就好 ,就会输出 true
四、逻辑运算符
对 bool 类型 进行逻辑运算
(1)逻辑与
符号 &&(并且)
//规则 对两个 bool 值进行逻辑运算 有假则假 同真为真
bool result = true && false;
Console.WriteLine(result); 输出false.
逻辑运算符 优先级 低于 条件运算符 和算数运算符
result = 3 > 1 && 1 < 2;
int i = 3;
result = i > 1 && i < 5; // 逻辑运算符 范围判断 是否在 1和5 之间
Console.WriteLine(result);
多个逻辑 与 组合应用
int i2 = 5;
//从左到右依次看 true && false true false
result = i2 > 1 && i2 < 5 && i > 1 && i < 5;
Console.WriteLine(result);
(2)逻辑或
//符号 || 或者
//规则 对两个 bool值进行逻辑运算 有真则真 同假为假
result = true || false;
Console.WriteLine(result); 输出true。
(3)逻辑非
符号 !
//对一个 bool 值进行取反 真变假 假变真
result =!true;
Console.WriteLine(result); 输出为false。
result = ! (3 > 2); //逻辑非的优先级 大于条件运算符 连着一起必须加括号
(4)混合使用优先级问题
//规则 !(逻辑非)优先级最高 &&(逻辑与)优先级高于||(逻辑或)
//逻辑运算符优先级 低于 算术运算符 条件运算符(逻辑非除外)
bool gameOver = false;
int hp = 100;
bool isDead = false;
bool isMustOver = true;
result = gameOver || hp < 0 && !isDead || isMustOver;
Console.WriteLine(result);
(5)逻辑运算符的短路规则
i = 1;
|| 有真则真
//短路 只要逻辑与&& 逻辑或|| 左边满足条件后,后面的就不再计算了
//i>0 true ++1后的部分不再计算
result = i > 0 || ++i >= 1;
Console.WriteLine(i);
五、位运算符
//位运算符 主要用数值类型进行计算
//将数值转化为2进制 再进行位运算
(1)位与 &
//规则 连接两个数值进行位计算 将数值转为2进制
//对位运算 有0则0
int a = 1, b = 5;//001 和 101
int c =a & b; //001
Console.WriteLine(c); // 1
// 001 上下对位
//& 101
//算出来就是 001
(2) 位或 |
//有1则1
(3)异或
//^为符号
//规则 相同为0 不同为1
(4)位取反
//规则 对位运算 0变1 1变0 取反
//与前面不同的是 取反需要把 用来运算的变量类型有多少位都全表示出来。。。
//反码补码
(5)左移 >> 右移 <<

六、三目运算符
//3个空位 2个符号
//语法:空位 ?空位 :空位;
//关键信息:bool类型?bool类型为真返回内容 : bool类型为假返回内容;
//三目运算符 会有返回值 ,这个返回值类型必须一致,且必须使用。
string a = true?"条件为真":"条件为假";
Console.WriteLine(a);
string b = false ? "条件为真" : "条件为假";
Console.WriteLine(b);
int y = 5;
b = y < 1 ? "a>1" : "a不满足条件";
Console.WriteLine(b);


本文详细介绍了C#中的运算符,包括算术运算符如加减乘除,字符串拼接,条件运算符,逻辑运算符,位运算符和三目运算符的用法,并通过实例解析了它们的优先级和短路规则。
1293

被折叠的 条评论
为什么被折叠?



