scala outline
案例演示
案例
package com.atguigu.chapter01
object Hello {
def main(args: Array[String]): Unit = {
var name: String = "老王"
var age: Int = 43
val height: Double = 1.88
println("姓名:" + name + "-年龄:" + age + "-性别是否是男:" + height)
printf("姓名:%s-年龄:%d-性别是否是男:%.2f\n", name, age, height)
// 通过$来获取变量值 (类似shell)
println(s"姓名:$name-年龄:$age-性别是否是男:$height")
// 加{},可以对变量进行运算
println(s"姓名:$name-年龄:${age + 7}-性别是否是男:$height")
// 去掉s
println("姓名:$name-年龄:$age-性别是否是男:$height")
//
}
}
输出结果
姓名:老王-年龄:43-性别是否是男:1.88
姓名:老王-年龄:43-性别是否是男:1.88
姓名:老王-年龄:43-性别是否是男:1.88
姓名:老王-年龄:50-性别是否是男:1.88
姓名:$name-年龄:$age-性别是否是男:$height
在Scala中打印多行字符串
,利用三个双引号包围多行字符串就可以实现
package com.atguigu.chapter01
object Hello {
def main(args: Array[String]): Unit = {
val str: String = {
// str不是sql语句,而是字符串(这里要演示的是带有格式,且在不同行的字符串的打印)
"""
|select
| *
|from
| table
|where
| name="老王"
""".stripMargin
}
// stripMargin:控制打印时,以顶格打印
println(str)
}
}
输出
注意事项
(1)以操作符开头,且只包含操作符(+ - * / # !%等)
几乎不用
var +*-/#!% : String = "hello" // ok
var +*-/#!%a : String = "hello" // error 以操作符开头,必须都是操作符
(2)用反引号....
包括的任意字符串,即使是Scala关键字(39个)也可以
几乎不用
var if : String = "" // error 不能用关键字
var `if` : String = "" // ok 用反引号`....`包括的任意字符串,包括关键字
(3)声明变量时,类型可以省略,编译器自动推导,即类型推导
var age = 18 // 编译器可以自动推导出age是Int类型
(4)变量声明时,必须要有初始值
var name //错误