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 的时候跳出了循环,然后又继续循环

posted @ 2018-08-22 00:01  Sch01aR#  阅读(1352)  评论(0编辑  收藏  举报