可以免费发帖的网站,wordpress博客页面模板,网站的开发方法,网站开发公司人员配备C#基础知识 - 操作数与运算符篇 4.2 运算符4.2.1 按操作数个数分类4.2.2 按运算类型分类4.2.3 对运算符 、-- 的使用4.2.4 关系运算符#xff1a;、 、 、、 ! 、4.2.5 逻辑运算符#xff1a; || ! ^ |4.2.6 位运算符#xff1a;~ 、^、 、-- 的使用4.2.4 关系运算符、 、 、、 ! 、4.2.5 逻辑运算符 || ! ^ |4.2.6 位运算符~ 、^、 、| 、、 4.2.7 条件运算符表达式1表达式2表达式3 4.3 对运算符的综合运用 更多C#基础知识详解请查看C#基础知识 - 从入门到放弃
4.2 运算符
4.2.1 按操作数个数分类
C#中运算符可以根据其操作数的个数分为一元、二元和三元运算符。 1、一元运算符Unary Operators 一元运算符只操作一个操作数有以下常用 递增运算符 (), 递减运算符 (–), 正号运算符 (), 负号运算符 (-), 逻辑非运算符 (!), 位取反运算符 (~) 等。
2、二元运算符Binary Operators 二元运算符操作两个操作数有以下常用 算术运算符 (, -, *, /, %), 关系运算符 (, !, , , , ), 逻辑与运算符 (), 逻辑或运算符 (||), 位与运算符 (), 位或运算符 (|), 位异或运算符 (^), 左移运算符 (), 右移运算符 () 等。
3、三元运算符Ternary Operators 三元运算符操作三个操作数C#中仅有一个 条件运算符 (condition ? trueValue : falseValue)。
4.2.2 按运算类型分类
1、算术运算符
加法运算符
减法运算符-
乘法运算符*
除法运算符/
取余运算符%2、关系运算符
相等运算符
不相等运算符!
大于运算符
小于运算符
大于等于运算符
小于等于运算符3、逻辑运算符
逻辑与运算符
逻辑或运算符||
逻辑非运算符!4、赋值运算符
简单赋值运算符
复合赋值运算符, -, *, /, %5、位运算符
按位与运算符
按位或运算符|
按位异或运算符^
按位取反运算符~
左移运算符
右移运算符6、条件运算符
条件表达式运算符?:7、成员访问和索引运算符
成员访问运算符.
索引访问运算符[ ]8、递增和递减运算符
递增运算符
递减运算符--【示例】输入语文和数学成绩打印出总成绩。 程序如下
Console.WriteLine(请输入语文成绩); //输出
double Chinese Convert.ToDouble(Console.ReadLine());
Console.WriteLine(请输入数学成绩);
double Math Convert.ToDouble(Console.ReadLine());
//Convert.ToDouble - 类型转换
//ConsoleReadLine();默认是string类型但是我们声明的变量是double类型在接收到数据后需要转换类型
Console.WriteLine(你的总成绩是{0}, Chinese Math);
Console.ReadKey();执行程序
请输入语文成绩
86
请输入数学成绩
93
你的总成绩是1794.2.3 对运算符 、-- 的使用
在前先加再用在后先用后加。-- 相同 程序代码
int var1, var2, var3;
var1 2;
Console.WriteLine(var1的值是var1);
var2 var1; //先用后加var22,var13
Console.WriteLine(var2的值是{0}此时var1的值是{1} , var2,var1);
var3 var1; //先加后用var1314,var34
Console.WriteLine(var3的值是{0}此时var1的值是{1} ,var3, var1);
//提示var1没有重新赋过值并且一直在使用
Console.ReadKey();运行程序
var1的值是2
var2的值是2此时var1的值是3
var3的值是4此时var1的值是44.2.4 关系运算符、 、 、、 ! 、
运算后的结果是布尔值bool,true或者false 关系运算符的运算规则 ① 操作数为数值类型则比较两个数的大小 ② 操作数为字符类型则比较两个字符串的Unicode编码大小 ③ 操作数为i盎格字符串则只能用或者!只能比较字符串各个位字符是否相同
4.2.5 逻辑运算符 || ! ^ |
逻辑符结果 全true为truell有true为true取反!truefalse;!falsetrue^有且只有一个true为true全true为truel有true为true
在运用逻辑运算符表达式中需要注意运算优先级及运算特性一下程序为例
int a 10;
int b 15;
Console.WriteLine((10 a) || (16 b--)); //结果为 True
Console.WriteLine(a的值为{0}b的值为{1}, a, b); //a11,b15
//在||运算后当前面一个表达式为true就不会运算后面表达式b--没有执行b15
Console.ReadKey();运行程序
True
a的值为11b的值为15结果可见b的值未发生变化这是因为在 || 运算后当前面一个表达式为true就不会执行运算后面表达式所以 b-- 不会被执行。
4.2.6 位运算符~ 、^、 、| 、、
运算符结果~按位取反l有1为1全1为1^异或有且仅有一个1为1 var3 var1 var2 将var1d的值左移var2位赋值给var3var3 var1 var2 将var1d的值右移var2位赋值给var3如果对十进制数字进行位运算符需要将其转为二进制数据计算后在转为十进制结果。
【示例】5 4 5的二进制表示101 4的二进制表示100 5 4的结果位100 即为4
【示例】4 1 左移乘2 4 的二进制表示100 左移一位后表示1000 即为8
【示例】4 1 右移除2 4 的二进制表示100 右移一位后表示010 即为2
4.2.7 条件运算符表达式1表达式2表达式3
【示例】根据输入的数量判断输出输出语句“I have 数量 pen(s)”。 程序代码
//输出语句“I have 数量 pen(s)”
Console.WriteLine(输入拥有的钢笔数量);
int qty Convert.ToInt32(Console.ReadLine());
Console.WriteLine(I have {0} pen{1}, qty, qty 1 ? s : );
Console.ReadKey();运行程序
输入拥有的钢笔数量
1
I have 1 pen输入拥有的钢笔数量
5
I have 5 pens4.3 对运算符的综合运用
【示例】计算1232855秒是几天几小时几分几秒。 程序代码
int time 1232855;
int day time / (24 * 3600);
int hour time % (24 * 3600) / 3600;
int min time % 3600 / 60;
int sec time % 60;
Console.WriteLine({0}秒是{1}天{2}小时{3}分种{4}秒, time, day, hour, min, sec);
Console.ReadKey();运行结果
1232855秒是14天6小时27分种35秒