Scala基本知识入门(一)

一、主要内容

  • 变量和常量

  • 运算符

二、代码示例

object scalaBasic {

  def main(args: Array[String]): Unit = {

    // Part1: 关于变量
     // 1.常量的值不可修改
     val a:Int = 1
    // a = 3 会报错

    // 2. 变量的值可以修改
    var b: Int = 10
    b = 100
    println(b) // 100

    //3. 变量的类型可以自动推断
    var c = "Maple"
    println(c.getClass) //class java.lang.String
    // c = 100 //但是变量的类型确定之后,不可再更改 ,报错:type mismatch;

    //4. 低精度向高精度转换
    var d = 12.0
    val result = b + d
    println(result.getClass) //double


    //5.变量声明必须有初始值
    //var f

    // 6.多个变量一起声明
    val x,y,z = 100
    println(x,y,z) //(100,100,100)

    // 7.引用类型
    // 7-1 .可变类型
    var p1 = new Person("张三")
    println("p1 before:",p1) //(p1 before:,Person@566776ad)
    println("p1.name before:",p1.name) //(p1.name before:,张三)
    p1.name = "李四"
    println("p1.name after:",p1.name)  //(p1.name after:,李四)
    p1 = null
    println("p1 after:", p1) //(p1 before:,Person@566776ad)

    // 7-2 p2定义成常量
    val p2 = new Person("张三")
    // p2 = null 报错
    p2.name = "Kelly"
    println("p2.name",p2.name)

    // 7-3 类中的变量不可变
    val s1 = new Student("Max")
    // 因为s1中的name是常量,导致虽然s1定义成变量,但仍然不可修改其值
    // s1 = null 报错

    // s1中的name是常量,不可修改
    // s1.name = "Avery"


    // Part2: 关于运算符
    // 1. Scala中的'运算符'本质其实是方法
    println( 10 + 10 )
    println(10.+(10))

    // 2.Scala中建议使用方法进行类型转换
    println(10.toByte)
    println(10.toDouble)

    // 3.Scala中没有++和--操作
    // 替换方式如下
    var i = 10
    i+= 10
    println('i',i)


    //Part3: 输入输出
    // 3-1 字符串模版s
    val name = "Maple"
    val age = 10
    println(s"我叫${name},今年${age}岁")

    // 3-2 字符串模版f""
    val name2 = "Maple"
    val weight = 10.01233
    println(f"我叫${name2},体重为${weight}%2.2f") //我叫Maple,体重为10.01

    // 3-3 三引号换行输出
    val school = "广州中学"
    var sql =
      s"""
        |select grade
        |,max(age) as max_age
        |,avg(height) as avg_height
        |from students
        |where school = '${school}'
        |group by grade
        |""".stripMargin

    println(sql)
    

  }

}

// name定义成可变类型
class Person(var name:String)

// name定义成不可变类型
class Student(val name:String)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值