二、基础语法(2)
2.1标识符
//Scala中的标识符声明,基本和Java是一致的,但是细节上会有所变化。
- 首字符为字母,后续字符任意字母和数字,美元符号,可后接下划线_
- 首字符为操作符,后续字符为任意操作符(变量如果用运算符,那么后面全都应该用运算符)
- Scala中有些保留字,不能用作标识符,但是反引号括起除外,如yield在Scala中就是保留字
- 用反引号`....`包括的任意字符串,即使是关键字也可以
2.2变量
//Scala声明变量有两种方式,一个用val,一个用var。
//val / var 变量名 : 变量类型 = 变量值。
//val定义的值是不可变的,它不是一个常量(像1,2,3才是常量),是不可变量,或称之为只读变量。
2.3常用类型
//Scala常用类型中包含有8种数值类型:Byte、Char、Short、Int、Long、Float、Double及Boolean类型,另外还有String类型(scala中的String使用的是Java中的String)。
注意:既然Java的基本类型数据在Scala中都是对象,那么也就意味着Java中基本类型的数据在Scala中都是可以调用对象方法的。
特别关注Unit(表示过程,无明确返回,类比void),Nothing(所有类型的子类型,可以作为没有正常返回值的方法的返回类型),Null(所有引用类型的子类型)
2.4算术操作符重载
//+-*/%可以完成和Java中相同的工作,但是有一点区别,Scala是完全面向对象语言,所以所有的运算符都是对象的运算行为,也就是所谓的对象方法。
注意:Scala中没有++、--操作符,需要通过+=、-=来实现同样的效果。
2.5调用函数和方法
- 调用函数,求方根(需要先导入这个包,这里_指的是*。可以直接引用。Scala的包不仅仅用于管理类,还可以当成对象使用,所以倒包时等同于将包的对象引用到当前环境中,所以包对象中的所有方法都可以直接使用)
- 调用方法,静态方法(scala中没有静态方法这个概念,需要通过类的伴生对象来实现)
- 用方法,非静态方法,使用对象调用
三、控制结构
3.1if-else