== 使用场景:

  1. 判断一个数是否偶数(奇数):
    这个数和2取余,如果余数为0,证明是偶数
    x % 2 == 0
  2. 判断是否是奇数: x % 2 != 0
  3. 判断一个数 n 是否是另外一个数 m 的倍数
    即:n % m == 0
    如: 一个数是否是8的倍数 8 16 24 40
    n % 8 == 0
  4. 判断一个数 n 是否能被 18 整除
    n % 18 == 0

练习

从键盘输入一个数,判断这个数是否大于10,是否大于等于10, 是否是偶数。
//1.准备一个数
//2.判断
//3.结果

赋值运算符 =

赋值运算,一个数字常用赋值运算符:=: 将等号右侧的内容赋值给等号左侧

1
2
3
4
5
6
int  i =  1 ; //定义变量i,值为1

//完整形式: i = i + 10
//先计算 i+10 的结果,再将赋值给变量i
// i 的值就变成了11
i += 10 ; //11

练习:

定义一个变量,变量名为 i ,值为10
然后计算
1) i += 10 ; 的结果

  1. i -= 10 ; 的结果
  2. i *= 10 ; 的结果
  3. i /= 10 ; 的结果
  4. i %= 10 ; 的结果

强调:+= -= *= /=等赋值运算符执行完之后,它们所操作的变量的值会改变.

逻辑运算符 && || !

1)布尔值: true | false

2)常用的逻辑运算符:

&& : 逻辑与 “并且”     
|| : 逻辑或  “或”
! : 逻辑非 “取反”

3) 逻辑运算符用下载连接多个比较表达式
运算结果一般是放在一个bool类型的变量中
4) 逻辑运算符中的逻辑与和逻辑或存在
一种短路运算

5) 关于短路运算:

逻辑与连接多个式子时,会从左往右依次执行每一个式子,在这过程中,只要有一个为假,后面的其它式子根本不会执行,整个式子:false;只有所有式子都被执行,且都为真时,整个式子才为真。

逻辑或连接多个式子时,也是依次执行每一个式子,在这过程中,只要有一个为真,后面的式子不会再执行,整个式将返回:true也就是说,面其它的式子即使全部为假,整个式子依然还是真的。

1
2
3
4
5
6
  int  i = 1; 
int j = 2;

// bool b1 = i + j >= 3 || ++j == 2 ;

// bool b2 = i + j >= 3 && j++ == 2 ;

练习:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LianXI_Day3
{
/// <summary>
/// 键盘输入一个数,判断这个数是否是6的倍数。
/// </summary>
class LianXi1
{
static void Main(string[] args)
{
Console.WriteLine("请输入一个数");
string str1;
str1= Console.ReadLine();
int num1 = int.Parse(str1);
bool r1;
Console.WriteLine(r1 = num1 % 16 == 0);
}
}
}

三元运算符(条件运算符)

基本语法: 条件 ? 结果处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. ++或–:
    放在变量的前面时,要先进行+1,然后再执行其它运算;
    int i = 1 ;
    Console.WriteLine( ++i );

    放在变量的后面时,要进行其它的运行,然后再
    为变量加1.
    int i = 1 ;
    Console.WriteLine( i++ );

    ++或–放在已经赋值变量的前面或后面

  2. == 与 = 区别?
    1) == 是比较运算符,是布尔值
    用来比较两个的值是否是相等的
    相等返回true,否则返回false

    1. = 是基础的赋值运算符,

      int number = 10 ;
      将等号右侧的10赋值给等号左侧的变量 number

  3. % 与 ==
    判断奇偶性,整除,是倍数…
    m % n == 0 : 整除,m是n的倍数

  4. == 与 !=

  5. 短路运算 && ||

  6. 三元运算符
    : ?
    其实是分支if结构简单化