# if

`if` 关键字是书写条件语句判定条件的部分，当小括号内的表达式为 `true` 时，就会执行`if`大括号内的代码块。

> 注意，**两个等号** 才是比较运算符，一个等号是赋值运算符！
>
> `if`小括号内的表达式也叫判断表达式。
>
> 代码块由语句组成。代码块可以有多条语句，可以只有一条语句，也可以没有语句。

```csharp
//第一个例子
if(1 >= 0){// 判断表达式为true
    print("1大于等于0！");// 执行 if 大括号内的语句
}

//第二个例子
if(1 == 1){// 判断表达式为true
    print("1等于1！");// 执行 if 大括号内的语句
}

//第三个例子
if(1 < 0){// 判断表达式为false
    print("1小于0！");// 不执行 if 大括号内的语句
}
```

`else` 关键字可以作为条件语句的后半部分，当 `if` 判断表达式为 `false` 时，就会执行`else`大括号内的代码块。

```csharp
//第一个例子
if(1 >= 0){// 判断表达式为true
    print("1大于等于0！");// 执行 if 大括号内的语句
} else {
    print("1小于0！");// 不执行 else 大括号内的语句
}

//第二个例子
if(1 < 0){// 判断表达式为false
    print("1小于0！");// 不执行 if 大括号内的语句
} else {
    print("1不小于0！");// 执行 else 大括号内的语句
}
```

如果`else`后再接着判断条件呢？你可以使用 if-else-if。

```csharp
var mark as int = 90;// 定义一个成绩，分数为90

if(mark < 60){// 第一次判断，分数是否低于60
   print("成绩不及格");// 90不低于60，不执行此处语句
}
else if(mark < 90){// 第一次判断为false，进行第二次判断，分数是否低于90
    print("成绩及格");// 90不低于90，不执行此处语句
}
else{
    print("成绩优秀");//执行此处语句，输出"成绩优秀"
}
```

所有的条件控制语句都可以嵌套使用，你可以在一个条件控制语句的代码块里再写条件控制。

> 嵌套三层以上的`if`可读性会越来越差，不推荐使用过多的嵌套。

```csharp
if (true) {
    if (true) {
        if (true) {
            if (true) {
                if (true) {
                    if (true) {

                    }
                }
            }
        }
    }
}
```
