AviatorScript 中的条件语句和其他语言没有太大区别:

    1. if(true) {
    2. println("in if body");
    3. }

    上面的代码执行,将打印 in if body 。 if 接受一个布尔表达式,如果其值为 true 就执行后续的代码块。如果为 false ,可以带上 else 语句执行其中的代码块,代码块都是以大括号包起来:

    1. if(false) {
    2. println("in if body");
    3. } else {
    4. println("in else body");
    5. }

    请注意,代码块都必须用大括号包起来,哪怕是单行语句,这跟 java 是不一样的

    if 后面连着的表达式的括号是可以忽略,上面的例子可以改写成:

    1. if false {
    2. println("in if body");
    3. } else {
    4. println("in else body");
    5. }

    连续的条件判断可以用复杂的

    1. if test1 {
    2. ...
    3. } else {
    4. if test2 {
    5. ...
    6. } else {
    7. if test3 {
    8. ...
    9. } else ...
    10. }
    11. }

    嵌套结构,但是更应该直接使用 elsif 语句,类似 Java 中的 else if ,比如我们写一个猜数字的例子:

    1. ## examples/if.av
    2. let a = rand(1100);
    3. if a > 1000 {
    4. println("a is greater than 1000.");
    5. } elsif a > 100 {
    6. println("a is greater than 100.");
    7. } elsif a > 10 {
    8. println("a is greater than 10.");
    9. } else {
    10. println("a is less than 10 ");
    11. }
    12. println("a is " + a + ".");

    比如上面的代码写生成一个 [0, 1100) 内的整数,然后通过一系列条件语句,判断 a 的范围,并打印相应的字符串,最后打印 a 的值是多少。同样 elsif 对应的判断语句的括号也是可以忽略的。