1.1scala注释
scala中的注释和java中的完全一样
1.1.1 单行注释
package com.yang.bigdata.scala.Test01
object Test {
def main(args: Array[String]): Unit = {
//单行注释
}
}
1.1.2多行注释
package com.yang.bigdata.scala.Test01
object Test {
def main(args: Array[String]): Unit = {
/*
多
行
注
释
*/
}
}
1.1.3文档注释
package com.yang.bigdata.scala.Test01
object Test {
/**
*
* @param args
*/
def main(args: Array[String]): Unit = {
}
}
1.2变量
1.2.1可变变量和不可变变量
Scala有两种变量,val和var。
val类似于Java里的final变量。一旦初始化了,val就不可改变。
var如同Java里面的非final变量,可以被多次赋值。
object Test {
def main(args: Array[String]): Unit = {
// var | val 变量名 :变量类型 = 变量值
//var 可以多次赋值
var name : String = "zhangsan"
name = "lisi"
//val 不可修改
val age : Int = 18
age = 22 // 报错 Reassignment to val
}
}
1.2.2 数据类型的省略
Scala是和java一样,都属于强类型语言
强类型语言中,类型的声明应该前后统一,
如果明确知道变量取值是多少 那么变量的类型的确定了
如果我能猜测出来 的语法 就可以不用写了
能够通过推断出来的变量类型,才可以省略不写
eg:多态
var name :String = "zhangsan"
val i = 123
val bool = true
val lisi = "lisi"
1.3 scala标识符
scala 和 java 中的标识符 基本一致
1. 数字 字母 下划线 $
2. 数字不能 开头
3. 不能使用关键字 和 保留字
4. 区分大小写
5. 长度没限制
但
scala 中 !@#¥%……&*()+-/ 都可以
马丁(Scala创始人) 在编译时 将特色符号 编译为转换的变量名 这个变量名 以$符 开头
一般情况 下 标识符 起名时候 不能使用 $ 开头
scala 中的标识符 不需要记 错了 改就可以了
并且在scala中支持颜文字 但是
val :-> = "lisi"
println(:->)
// 和Java一样的标识符命名规则
val name = "zhangsan" // OK
val name1 = "zhangsan0" // OK
//val 1name = "zhangsan0" // Error
val name$ = "zhangsan1" // OK
val $name = "zhangsan2" // OK
val name_ = "zhangsan3" // OK
val _name = "zhangsan4" // OK
val $ = "zhangsan5" // OK
val _ = "zhangsan6" // OK
//val 1 = "zhangsan6" // Error
//val true = "zhangsan6" // Error
// 和Java不一样的标识符命名规则
val + = "lisi" // OK
val - = "lisi" // OK
val * = "lisi" // OK
val / = "lisi" // OK
val ! = "lisi" // OK
//val @ = "lisi" // Error
val @@ = "lisi" // OK
//val # = "lisi" // Error
val ## = "lisi" // OK
val % = "lisi" // OK
val ^ = "lisi" // OK
val & = "lisi" // OK
//val ( = "lisi" // Error
//val ( = "lisi" // Error
//val ) = "lisi" // Error
//val = = "lisi" // Error
val == = "lisi" // OK
//val [ = "lisi" // Error
//val ] = "lisi" // Error
//val : = "lisi" // Error
val :: = "lisi" // OK
//val ; = "lisi" // Error
//val ' = "lisi" // Error
//val " = "lisi" // Error
val "" = "lisi" // OK
val < = "lisi" // OK
val > = "lisi" // OK
val ? = "lisi" // OK
val | = "lisi" // OK
val \ = "lisi" // OK
//val ` = "lisi" // Error
val ~ = "lisi" // OK
val :-> = "wangwu" // OK
val :-< = "wangwu" // OK
// 切记,能声明和能使用是两回事