Julia - 循环
while 循环
当 while 后的条件成立的话,执行循环体内的语句,直到条件不成立,跳出循环
如果条件一直成立,或者循环体中的语句没有能让条件不成立的,则是死循环
julia> i = 1; julia> while i <= 10 println(i) global i += 1 end 1 2 3 4 5 6 7 8 9 10
在旧版本中,不需要 global 关键字
julia> i = 1; julia> while i <= 10 println(i) i += 1 end 1 2 3 4 5 6 7 8 9 10
for 循环
julia> for i = 1:10 println(i) end 1 2 3 4 5 6 7 8 9 10
1:10 是一个 Range 对象,表示的是 1,2,3,4,5,6,7,8,9,10 序列
for 循环遍历这些数,将其逐一赋给变量 i
如果在其它作用域中没有引入变量 i ,那么它仅存在于 for 循环中
julia> for i = 1:10 println(i) end 1 2 3 4 5 6 7 8 9 10 julia> i ERROR: UndefVarError: i not defined
for 循环可以遍历任意容器
julia> for i in [1, 4, 9] println(i) end 1 4 9 julia> for i in ["julia", "python", "java"] println(i) end julia python java
for 循环的多层嵌套
julia> for i = 1:3 for j = 4:6 println((i, j)) end end (1, 4) (1, 5) (1, 6) (2, 4) (2, 5) (2, 6) (3, 4) (3, 5) (3, 6)
更多的是下面这个写法
julia> for i = 1:3, j = 4:6 println((i, j)) end (1, 4) (1, 5) (1, 6) (2, 4) (2, 5) (2, 6) (3, 4) (3, 5) (3, 6)
break 语句
break 语句是结束整个循环
while 循环中的 break 语句
julia> i = 1; julia> while i <= 10 println(i) if i == 5 break end global i += 1 end 1 2 3 4 5
for 循环中的 break 语句
julia> for j = 1:10 println(j) if j == 5 break end end 1 2 3 4 5
从上面两个例子可以看到 break 语句使得循环在 i 和 j 等于 5 的时候退出了整个循环
continue 语句
continue 语句是结束本次循环继续下一次循环
while 循环的 continue 语句
julia> i = 1; julia> while i <= 10 if i == 5 global i +=1 continue end println(i) global i += 1 end 1 2 3 4 6 7 8 9 10
for 循环的 continue 语句
julia> for j = 1:10 if j == 5 j += 1 continue end println(j) j += 1 end 1 2 3 4 6 7 8 9 10
continue 语句只在 i 和 j 等于 5 的时候跳出了循环,然后又继续循环