一、基本语法
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得到一个新的数组

