C#练习(2)
== 使用场景:
- 判断一个数是否偶数(奇数):
这个数和2取余,如果余数为0,证明是偶数
x % 2 == 0 - 判断是否是奇数: x % 2 != 0
- 判断一个数 n 是否是另外一个数 m 的倍数
即:n % m == 0
如: 一个数是否是8的倍数 8 16 24 40
n % 8 == 0 - 判断一个数 n 是否能被 18 整除
n % 18 == 0
练习
从键盘输入一个数,判断这个数是否大于10,是否大于等于10, 是否是偶数。
//1.准备一个数
//2.判断
//3.结果
赋值运算符 =
赋值运算,一个数字常用赋值运算符:=
: 将等号右侧的内容赋值给等号左侧
1 | int i = 1 ; //定义变量i,值为1 |
练习:
定义一个变量,变量名为 i ,值为10
然后计算
1) i += 10 ; 的结果
- i -= 10 ; 的结果
- i *= 10 ; 的结果
- i /= 10 ; 的结果
- i %= 10 ; 的结果
强调:+= -= *= /=等赋值运算符执行完之后,它们所操作的变量的值会改变.
逻辑运算符 && || !
1)布尔值: true | false
2)常用的逻辑运算符:
&& : 逻辑与 “并且”
|| : 逻辑或 “或”
! : 逻辑非 “取反”
3) 逻辑运算符用下载连接多个比较表达式
运算结果一般是放在一个bool类型的变量中
4) 逻辑运算符中的逻辑与和逻辑或存在
一种短路运算
5) 关于短路运算:
逻辑与连接多个式子时,会从左往右依次执行每一个式子,在这过程中,只要有一个为假,后面的其它式子根本不会执行,整个式子:false;只有所有式子都被执行,且都为真时,整个式子才为真。
逻辑或连接多个式子时,也是依次执行每一个式子,在这过程中,只要有一个为真,后面的式子不会再执行,整个式将返回:true也就是说,面其它的式子即使全部为假,整个式子依然还是真的。
1 | int i = 1; |
练习:
1 | using System; |
三元运算符(条件运算符)
基本语法: 条件 ? 结果处1 : 结果处2 ;
1) 整个条件运算符返回时,返回值类型应该如何确定 ?是float ? double? string? bool?
返回值要么是第1处结果,要么第2处结果,所以返回值是什么类型是根据 第1处内容的类型和第2处内容的类型
2)三元运算符,其实是 if 语句的一种简化形式。表述的含义是:如果满足条件,执行一种操作;如果不满足条件,执行另外一种操作。
位运算符 : 二进制
运算符 | 描述 | 实例:假设变量 A 的值为 60,变量 B 的值为 13 |
---|---|---|
& | 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 | (A & B) 将得到 12,即为 0000 1100 |
| |
如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 | (A | B) 将得到 61,即为 0011 1101 |
^ | 如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中。 | (A ^ B) 将得到 49,即为 0011 0001 |
~ | 按位取反运算符是一元运算符,具有”翻转”位效果,即0变成1,1变成0,包括符号位。 | (~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码形式。 |
<< | 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 | A << 2 将得到 240,即为 1111 0000 |
>> | 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 | A >> 2 将得到 15,即为 0000 1111 |
小结:
算术运算符:
++ – == + - * / %
++或–:
放在变量的前面时,要先进行+1,然后再执行其它运算;
int i = 1 ;
Console.WriteLine( ++i );放在变量的后面时,要进行其它的运行,然后再
为变量加1.
int i = 1 ;
Console.WriteLine( i++ );++或–放在已经赋值变量的前面或后面
== 与 = 区别?
1) == 是比较运算符,是布尔值
用来比较两个的值是否是相等的
相等返回true,否则返回false= 是基础的赋值运算符,
int number = 10 ;
将等号右侧的10赋值给等号左侧的变量 number
% 与 ==
判断奇偶性,整除,是倍数…
m % n == 0 : 整除,m是n的倍数== 与 !=
短路运算 && ||
三元运算符
: ?
其实是分支if结构简单化