• 第二章 Scala变量和数据类型


    一、注释

    1)基本语法

    (1)单行注释://

    (2)多行注释:/* */

    (3)文档注释:/**

                           *

                           */

    2)案例实操

     3)代码规范

    (1)使用一次 tab 操作,实现缩进,默认整体向右边移动,用 shift+tab 整体向左移

    (2)或者使用 ctrl + alt + L 来进行格式化

    (3)运算符两边习惯性各加一个空格。比如:2 + 4 * 5。
    (4)一行最长不超过 80 个字符,超过的请使用换行展示,尽量保持格式优雅

    二、变量和常量

    常量:在程序执行过程中,其值不回被改变的变量

    1.基本语法

    var 变量名 [: 变量类型] = 初始值

    val 常量名 [: 常量类型] = 初始值

    注意:能用常量的地方不用变量

    2.实操案例

    (1)声明变量时,类型可以省略,编译器自动推导,即类型推导

    (2)类型确定后,就不能修改,说明 Scala 是强数据类型语言。

    (3)变量声明时,必须要有初始值
    (4)在声明/定义一个变量时,可以使用 var 或者 val 来修饰,var 修饰的变量可改变, val 修饰的变量不可改。

    (5)var 修饰的对象引用可以改变,val 修饰的对象则不可改变,但对象的状态(值) 却是可以改变的。(比如:自定义对象、数组、集合等等)

    1. object chapter02 {
    2. def main(args: Array[String]): Unit = {
    3. var age=18
    4. age=30
    5. // age='tom'
    6. // var name
    7. var num1=10
    8. num1=20
    9. val num=30
    10. // num=100
    11. // p1 是 var 修饰的,p1 的属性可以变,而且 p1 本身也可以变
    12. var p1 = new Person()
    13. p1.name = "dalang"
    14. p1 = null
    15. // p2 是 val 修饰的,那么 p2 本身就不可变(即 p2 的内存地址不能变),但是,p2 的属性是可以变,因为属性并没有用 val 修饰。
    16. val p2 = new Person()
    17. p2.name="jinlian"
    18. // p2 = null // 错误的,因为p2是val修饰的
    19. }
    20. class Person{
    21. var name: String = "jinlian"
    22. }
    23. }

    3.标识符的命名规范

    Scala 对各种变量、方法、函数等命名时使用的字符序列称为标识符。即:凡是自己可

    以起名字的地方都叫标识符。

    1)命名规则

    Scala 中的标识符声明,基本和 Java 是一致的,但是细节上会有所变化,有以下三种规

    则:

    (1)以字母或者下划线开头,后接字母、数字、下划线

    (2)以操作符开头,且只包含操作符(+ - * / # !等) (3)用反引号`....`包括的任意字符串,即使是 Scala 关键字(39 个)也可以

    • package, import, class, object, trait, extends, with, type, for

    • private, protected, abstract, sealed, final, implicit, lazy, override

    • try, catch, finally, throw

    • if, else, match, case, do, while, for, return, yield

    • def, val, var

    • this, super

    • new

    • true, false, null

    4.字符串输出

    1)基本语法

    (1)字符串,通过+号连接
    (2)printf 用法:字符串,通过%传值。 (3)字符串模板(插值字符串):通过$获取变量值

    2)实操案例

    1. object chapter02 {
    2. def main(args: Array[String]): Unit = {
    3. var name: String = "jinlian"
    4. var age: Int = 18
    5. //(1)字符串,通过+号连接
    6. println(name + " " + age)
    7. //(2)printf 用法字符串,通过%传值。
    8. printf("name=%s age=%d\n", name, age)
    9. //(3)字符串,通过$引用
    10. //多行字符串,在 Scala 中,利用三个双引号包围多行字符串就可以实现。 //输入的内容,带有空格、\t 之类,导致每一行的开始位置不能整洁对齐。 //应用 scala 的 stripMargin 方法,在 scala 中 stripMargin 默认
    11. //是“|”作为连接符,//在多行换行的行头前面加一个“|”符号即可。
    12. val s1=
    13. s"""
    14. |selct
    15. |name,
    16. |age
    17. |from student
    18. |where name ='${name}' and age=${age}
    19. |""".stripMargin
    20. println(s1)
    21. }
    22. }

  • 相关阅读:
    【嵌入式开发学习】__扒一扒单片机串口IAP原理
    Java NIO,Selector机制源码分析
    什么是 XML?使用IntelliJ IDEA 创建一个简单的 xml 文件
    conda init 导致的 powershell 启动缓慢的问题(Loading personal and system profiles took xxxx ms.)
    【嵌入式Linux】编译应用和ko内核模块Makefile使用记录
    Labelme启动崩溃或报错qtpy.QtBindingsNotFoundError: No Qt bindings could be found的原因
    PostgresSQL - 生成uuid
    制造业数字化转型-项目案例合集
    LeetCode107. 二叉树的层序遍历 II
    流行框架:OkHttp配置
  • 原文地址:https://blog.csdn.net/liying700/article/details/126355881