一、基本语法
1.数据类型:
值类型:Byte/Short/Int/Long/Float/Char/Double/Boolean
引用类型:String/Unit/Null/Nothing/Any/AnyRef
无基本类型与包装类型区分,统一为类
2.变量定义:
val:不可变(类似 Java 的final)
var:可变
强类型语言:Java
弱类型语言:JS、Scala
3.操作符:
算术运算符(+、-、*、/、%)、位运算符(&、|、^、>>、<<)。
操作符本质是方法(如1 + 2等于1.+(2))。
无++、--操作符,需用+= 1替代。
4.字符串插值:
s | 在任何字符串前加上s,就可以直接在串中使用变量了 |
f | 除了 s 的功能外(不指定格式就和 s 一样),还能进行格式化输出,在变量后用 % 指定输出格式 |
raw | 除了对字面值中的字符不做编码外,raw 插值器与 s 插值器在功能上是相同的 |
“”引起来的是string类型
5.条件表达式:
if-else:支持混合类型返回,默认返回Unit(())。
循环结构:
for 循环:遍历集合、生成新集合for (i <- 1 to 10):包含结尾。
for (i <- 1 until 10):不包含结尾。
while/do-while:与 Java 类似。
代码实例:
//打印y的值
//混合类型表达式,打印z的值
//如果缺失else,相当于if (x > 2) 1 else ()
//在scala中每个表达式都有值,scala中有个Unit类,写做(),相当于Java中的void
//当y的值类型既可能为Int又可能为String时,它的类型被定义为Any,是Int和String的父类
没有else,会默认else为(),y的类型被定义为AnyVal
6.类型转换
toInt转换为int类型
7.for循环
//从1打印到10
//从1打印到9,包含开头不包含结尾
//遍历字符串
//通过下标遍历字符串
//遍历数组
通过下标遍历数组
双重循环:输出个位数与十位数不相同的两位数(个位、十位数均从1-3取值)
数组操作:
对数组中的每个数乘以10,生成一个新数组:
Scala 中 for 循环是有返回值的。如果被循环的是 Map,返回的就是Map,被循环的是 List,返回的就是 List
把数组中的偶数取出来乘以100得到一个新的数组