Julia学习02——变量和控制流
作者:互联网
文章目录
变量:
- Julia有非常灵活的变量名,可以用字母、汉字、表情、希腊字母,它对大小写非常敏感。
- 合法的变量命名
- 首字符以字母(A-Z、a-z)、下划线( _ )或者编码大于00A0 的 Unicode 字符(希腊字母、Emoji非数字类等)
- 非首字符支持感叹号!、数字等各类Unicode字符
- 像 + 这样的运算符也是合法的标识符,但是它们会被特别地解析。在一些语境中,运算符可以像变量一样使用,比如 (+) 表示加函数,语句 (+) = f 会把它重新赋值。
- 明确禁止的变量名称是内置关键字的名称,如else
- 命名规范
- 变量的名字采用小写。
- 用下划线(_)分隔名字中的单词,但是不鼓励使用下划线,除非在不使用下划线时名字会非常难读。
- 类型(Type)和模块(Module)的名字使用大写字母开头,并且用大写字母而不是用下划线分隔单词。
- 函数(Function)和宏(Macro)的名字使用小写,不使用下划线。
- 会对输入参数进行更改的函数要使用 ! 结尾。这些函数有时叫做“mutating”或“in-place”函
数,因为它们在被调用后,不仅仅会返回一些值还会更改输入参数的内容。
控制流:
- 复合表达式:begin 和 ;
- 条件表达式:if-elseif-else 和 ?: (三元运算符)
- 短路求值:&&、||
- 重复执行:循环:while 和 for
- 异常处理:try-catch、error 和 throw
- Task(协程):yieldto。
- 复合表达式:begin 和 ;
有序地计算若干子表达式,最后返回
z = begin
x = 1
y = 2
x + y
end
z = (x = 1; y =2; x+y)
- 条件表达式:if-elseif-else 和 ?: (三元运算符)。
a,b,c = 3,4,1 #三数比较大小
if a > b #排序
a, b = b, a
end
if b > c
b, c = c, b
end
if a > b
a, b = b, a
end
println("Min:", a, "Max:", c)
a = 2
b = 4
if a == b #比较两数大小
println(a, "=", b)
elseif a > b
println(a, ">", b)
else
println(a, "<", b)
end
?前的内容为真,执行第一个,?前为假,执行第二个,类似if-else
若想进行if-elseif-else形式,则可进行嵌套,即将执行的第二个内容写为?:(如In[13])
注:? 和 : 旁边的空格是强制的,不可以a>b?"yes":,这与Julia命名有冲突。
但在? 和 : 之后的换行是允许的
- 短路求值:&&、||
• 在表达式 a && b 中,子表达式 b 仅当 a 为 true 的时候才会被执行。
• 在表达式 a || b 中,子表达式 b 仅在 a 为 false 的时候才会被执行。
注意:
• && 或者 || 的操作数a必须是布尔值(true 或者false)
• 得到的结果要么是b执行的结果,若不执行b,则得到的是执行a的结果
• 与Julia中文文档有些不一样,文档表示可以获得整个链的最终布尔值。有兴趣的同学可以去查看一下。
• && 比 || 有更高的优先级
• &、| 为位运算,&:按位与 ;|:按位或
剩下的三个控制流请查看下一篇。
作者是新手,为了毕设,每天会更新自己的一些学习和坑,希望在自己的学习过程中可以帮助到大家,有什么不好的地方,麻烦大家指点一些,有什么好的建议,希望大家在评论区留言。谢谢。
标签:02,下划线,控制流,Julia,else,运算符,&&,表达式 来源: https://blog.csdn.net/m0_45509884/article/details/123571382