代码注解:
(1)第9行和第13行代码使用了if...else条件判断语句,主要用来判断是否满足某种条件,该语句将在第4章进行详细讲解,这里只需要了解即可。
(2)第9行代码中对条件进行判断时,使用了逻辑运算符&&、||和关系运算符==、>=、<=。
程序运行结果如图3.23和图3.24所示。
拓展训练:
一、在某网站首页中,可以使用账户名、手机号或者电子邮箱进行登录。请判断某用户是否可以登录。(已知服务器中有如下记录,账户名:123,手机号: 123****8910, 电子邮箱: 123@123.com )
二、有两名男性应聘者:一位25岁,一位32岁。该公司招聘信息中有一个要求,即男性应聘者的年龄在23~30岁之间,判断这两名应聘者是否满足这个要求。
3.5.6 位运算符位运算符的操作数类型是整型,可以是有符号的也可以是无符号的。C#中的位运算符有位与、位或、位异或和取反运算符,其中位与、位或、位异或运算符为双目运算符,取反运算符为单目运算符。位运算是完全针对位方面的操作,因此,它在实际使用时,需要先将要执行运算的数据转换为二进制,然后才能进行运算。
说明:整型数据在内存中以二进制的形式表示, 如整型变量7的32位二进制表示是00000000 00000000 00000000 00000111,其中,左边最高位是符号位,最高位是0则表示正数,若为1则表示负数。负数采用补码表示,如-8的32位二进制表示为11111111 11111111 11111111 11111000
1.“位与”运算
“位与”运算的运算符为“&”,“位与”运算的运算法则是:如果两个整型数据a和b对应位都是1,则结果位才是1,否则为0。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同,如图3.25所示。
2.“位或”运算
“按位或”运算的运算符为“|”,“位或”运算的运算法则是:如果两个操作数对应位都是0,则结果位才是0,否则为1。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同,如图3.26所示。
3. “位异或” 运算
“位异或”运算的运算符是“∧”,“位异或”运算的运算法则是:当两个操作数的二进制表示相同(同时为0或同时为1)时,结果为0,否则为1。若两个操作数的精度不同,则结果数的精度与精度高的操作数相同,如图3.27所示。
4.“取反”运算
“取反”运算也称“按位非”运算,运算符为“~”。“取反”运算就是将操作数对应二进制中的1修改为0,0修改为1,如图3.28所示。
说明:图3.28 中,123取反后得到的结果中,由于前面符号位为1,因此最高位以负数计算,即-27+22,所以结果为-124。
在C#中使用Console.WriteLine输出图3.25~图3.28的运算结果,主要代码如下:
运算结果如图3.29所示。
3.5.7 移位运算符