第二章 Scala变量和数据类型

本文介绍了Scala编程的基础知识,包括注释的使用,如单行、多行和文档注释;变量和常量的声明,强调了常量的不可变性;以及变量类型的推导和命名规范。此外,还讨论了字符串输出的方法,如通过+号连接、printf格式化和插值字符串。实例展示了如何在实践中应用这些概念。
摘要由CSDN通过智能技术生成

目录

一、注释

二、变量和常量


一、注释

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 修饰的对象则不可改变,但对象的状态(值) 却是可以改变的。(比如:自定义对象、数组、集合等等)

object chapter02 {
  def main(args: Array[String]): Unit = {
    var age=18
    age=30

//    age='tom'

//    var name
    var num1=10
    num1=20

    val num=30
//    num=100

    // p1 是 var 修饰的,p1 的属性可以变,而且 p1 本身也可以变
    var p1 = new Person()
    p1.name = "dalang"
    p1 = null
    // p2 是 val 修饰的,那么 p2 本身就不可变(即 p2 的内存地址不能变),但是,p2 的属性是可以变,因为属性并没有用 val 修饰。
    val p2 = new Person()
    p2.name="jinlian"
    // p2 = null // 错误的,因为p2是val修饰的


  }
  class Person{
    var name: String = "jinlian"
  }

}

三、标识符的命名规范

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)实操案例

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

  }

}

五、键盘键入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值