Scala简介
Scala即是可伸缩的语言(Scalable Language),是一种多范式的编程语言,类似于java的编程,设计初衷是要集成面向对象的编程和
函数式编程的特性
scala的特点
(1)Scala具有更广泛意义上的类重用。Scala允许定义新类的时候重用“一个类中新增的成员定义(即相较于其父类的差异之处)”。
(2)Scala还包含了若干函数式语言的关键概念,包括高阶函数(Higher-Order Function)、局部套用(Currying)、嵌套函数(Nested Function)、序列解读(Sequence Comprehensions)等等。
(3)Scala是静态类型的,这就允许它提供泛型类、内部类、甚至多态方法(Polymorphic Method)。
(4)Scala可以与Java互操作。它用scalac这个编译器把源文件编译成Java的class文件(即在JVM上运行的字节码)。你可以从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的代码。
Scala基础语法
1.在Linux命令行任意目录下,启动Scala
1 scala
2.Scala中的变量
在Scala中可以使用关键词var声明变量,val声明常量
在Scala中声明变量和常量可以不指明数据类型,其数类型通过变量和常量的初始值判断出来
所以在定义变量和常量的时候必须进行初始化,否则回报错
ps: val定义的常量只可以初始化一次,再次赋值回报错,var定义的变量和java变量一样可以赋值多次。
val是函数式编程风格,变量一旦赋值就不要再做修改
1 var x:Int = 10 2 var y = 3.14 3 var s = "hello,scala" 4 val str = "hello,world" 5 str = "hello,scala"
基本运算
3.算术运算
1 1+2 2 2*3-5/2 3 7%3 4 7/3
4. 关系运算
1 var a = 5 2 var b = 3 3 a==b 4 a>=b 5 a!=b
5.逻辑运算
1 var a = true 2 var b = false 3 //与 4 a && b 5 //或 6 a || b 7 //非 8 !(a&&b)
6.赋值运算符
1 var x = 2 2 //x = x+3 3 x += 3 4 //x = x*3 5 x *= 3 6 println(x)
7.运算符重载:Scala允许方法调用形式a.fun(b)简写为a fun b。(字符串的+运算符实际上就是调用了+方法,从而使得运算符被重载,此外to运算可以生成一个区间集合)
1 1.to(10) 2 1 to 10 3 "hello" + ",world" 4 "hello".+(",world")