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 的时候跳出了循环,然后又继续循环
Julia - 循环的更多相关文章
- 如果你喜欢python,那你迟早会喜欢上julia的!
你可曾想过有那么一门语言: 这门语言能够有C语言一样的速度,Ruby一样得活力(dynamism).像homoiconic一样的语言,它像Lisp一样有宏,但是也像Matlab一样有显而易见.熟悉的数 ...
- 在天河二号上对比Julia,Python和R语言
Julia是一款高级高效为技术计算(technical computing)而设计的编程语言,其语法与其他计算环境类似.其为分布式计算和并行所设计,最知名的地方在于其接近C语言的高效率. 按开发者的话 ...
- 初试 Julia 语言 (转)
原文地址: https://blog.csdn.net/seekiu/article/details/47397067 随着 Julia 1.0版本的推出,人工智能圈子比较炸锅, 好像这门小众语言要 ...
- Julia体验 语言基础
以前听说过Julia,不过那时候官网还处于时不时宕机状态,最近Julia发布了1.0 released版本到处都是它的资讯,官网良心自带简体中文,趁着热度我也来试试,顺便聊记一二. 关于Julia J ...
- LiveScript 流程控制、循环以及列表推导式
The LiveScript Book The LiveScript Book Generators and Yield 你可以在你的 LiveScript 代码中使用 Ecmascript ...
- 破阵九解:Node和浏览器之事件循环/任务队列/异步顺序/数据结构
前言 本文内容比较长,请见谅.如有评议,还请评论区指点,谢谢大家! >> 目录 开门见山:Node和浏览器的异步执行顺序问题 两种环境下的宏任务和微任务(macrotask &&a ...
- 【.net 深呼吸】细说CodeDom(8):分支与循环
有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...
- Recurrent Neural Network系列1--RNN(循环神经网络)概述
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
随机推荐
- java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\xB3' for column 'Content' at row 1
在尝试将 emoji 表情符号 插入MySQL数据库时,遇到以下错误信息: ### The error occurred while setting parameters ### SQL: INSER ...
- 查看PHP以字母"E"开头的常量
1.E_ALL <?php echo E_ALL; ?> 32767 2.E_COMPILE_ERROR <?php echo E_COMPILE_ERROR; ?> 64 3 ...
- EasyPlayer RTSP Android安卓播放器修复播放画面卡在第一帧bug
本文转自EasyDarwin团队成员John的博客:http://blog.csdn.net/jyt0551/article/details/75717097 最近发现某些手机在运行EasyPlaye ...
- YXY的测试流程
不同的公司测试流程都会不一样
- android Camera模块分析
Android Camera Module Architecture and Bottom layer communication mechanism ----------- ...
- caffe学习笔记教程
1 官网:http://caffe.berkeleyvision.org/ 2 豆丁网中:http://www.docin.com/p-871820917.html 3 下载的caffe中,.../d ...
- Java之OO的特性与原则
OO(Object-Oriented)面向对象 面向对象,有三个特性.五个原则之说. 特性 封装 顾名思义,封装就好比一个黑盒子,内部被隐藏,只有几个接口与外界相连.具体来说,所谓封装 ...
- CF的Architecture,把它搞透!
Architecture Cloud Controller - Maintains a database with tables for orgs, spaces, apps, services, s ...
- 每天一个linux命令(权限):【转载】chmod命令
chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中的每 ...
- CF1114B Yet Another Array Partitioning Task
CF1114B Yet Another Array Partitioning Task 贪心,选择前 \(k*m\) 大的元素对答案进行贡献. 每次划分时,从当前位置往后扫,扫到 \(m\) 个前 \ ...