分支

分支语句 属于 Julia

7 个练习

关于 分支语句

比较运算符

Julia 的比较运算符和许多其他语言类似,不过为喜欢数学的人多准备了一些选项。

判断相等性时,运算符有==(相等)和!=或≠(不相等)。

txt = "abc"
txt == "abc"  # true
txt != "abc"  # false
txt ≠ "abc"  # false (synonym for !=)

此外,还有各种大于、小于运算符。

1 < 3  # true
3 > 3  # false
3 <= 3  # true
3 ≤ 3  # true (synonym for <=)
4 >= 3  # true
4 ≥ 3  # true (synonym for >=)

和 Julia 的许多情况一样,用一个合适的编辑器就能轻松输入这些数学符号。输入\ne、\le或\ge,再按TAB,就能得到≠、≤或≥。

上面的例子只用了数字,但在教学大纲的其他部分我们会看到,许多其他类型也有顺序,可以比较大小。

比较运算符可以连起来用,从而写出清晰简洁的语法:

n = 3
1 ≤ n ≤ 5  # true (n "between" two limits)

上面的例子等价于1 ≤ n && n ≤ 5。

用if进行分支

下面是if语句的完整形式:

if conditional1
    statements...
elseif conditional2
    statements...
else
    statements...
end

不需要写圆括号()或大括号{},缩进“只是”为了让代码更易读_(但可读性非常重要!)_。

elseif和else都是可选的,而且可以有多个elseif块。不过end是必需的。

if语句可以嵌套,不过为了可读性,你可以有意识地用好括号、缩进和注释。

if语句最短的形式大致是这样:

if n < 0
    n = 0
end

提醒一下:只有求值结果为true或false的表达式才能用作条件。Julia 有意避开了“真值性”这类概念,所以零值、空字符串和空数组都_不_等同于false。

三元运算符

一种简单又常见的情况,是根据条件从两个值里挑一个。

和许多语言一样,Julia 有三元运算符,可以让这种写法更简洁。

语法是conditional ? value_if_true : value_if_false。

所以上面的例子可以改写成:

n = n < 0 ? 0 : n

编译器并不要求写括号,但括号可以让代码更易读。

Julia 有match语句吗?

目前基础语言里没有 match/case 结构。

简单的情况推荐用if..elseif..else。

如果需要像 Scala 那样复杂的模式匹配,Match.jl包很受欢迎。不过和大多数第三方包一样,Exercism 的测试运行器里并没有Match。

通过 GitHub 编辑 该链接会在新窗口或标签页中打开

学习 分支语句

练习已锁定

再解锁 5 个练习即可练习 分支语句