0
点赞
收藏
分享

微信扫一扫

Julia学习02——变量和控制流

科牛 2022-03-19 阅读 89
julia学习

文章目录

变量:

  • Julia有非常灵活的变量名,可以用字母、汉字、表情、希腊字母,它对大小写非常敏感。
  • 合法的变量命名
  • 首字符以字母(A-Z、a-z)、下划线( _ )或者编码大于00A0 的 Unicode 字符(希腊字母、Emoji非数字类等)
  • 非首字符支持感叹号!、数字等各类Unicode字符
  • 像 + 这样的运算符也是合法的标识符,但是它们会被特别地解析。在一些语境中,运算符可以像变量一样使用,比如 (+) 表示加函数,语句 (+) = f 会把它重新赋值。
  • 明确禁止的变量名称是内置关键字的名称,如else
  • 命名规范
  • 变量的名字采用小写。
  • 用下划线(_)分隔名字中的单词,但是不鼓励使用下划线,除非在不使用下划线时名字会非常难读。
  • 类型(Type)和模块(Module)的名字使用大写字母开头,并且用大写字母而不是用下划线分隔单词。
  • 函数(Function)和宏(Macro)的名字使用小写,不使用下划线。
  • 会对输入参数进行更改的函数要使用 ! 结尾。这些函数有时叫做“mutating”或“in-place”函
    数,因为它们在被调用后,不仅仅会返回一些值还会更改输入参数的内容。

控制流:


  1. 复合表达式:begin 和 ;
  2. 条件表达式:if-elseif-else 和 ?: (三元运算符)
  3. 短路求值:&&、||
  4. 重复执行:循环:while 和 for
  5. 异常处理:try-catch、error 和 throw
  6. 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中文文档有些不一样,文档表示可以获得整个链的最终布尔值。有兴趣的同学可以去查看一下。
• && 比 || 有更高的优先级
• &、| 为位运算,&:按位与 ;|:按位或
在这里插入图片描述

剩下的三个控制流请查看下一篇。

举报

相关推荐

0 条评论