scala入门1(简介与基础语法1)

时间:2022-08-26 16:25:11

scala是什么?

       Scala 是一门 函数式面向对象语言。他运行在Java虚拟机上.


第一个Scala例子

   作为学习Scala的第一步,我们将首先写一个标准的HelloWorld,这个虽然不是很有趣,但是它可以让你对Scala有一个最直观的认识而不需要太多关于这个语言的知识。我们的Hello world看起来像这样:

     

object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}

程序的结构对Java程序员来说可能很令人怀念:它由一个main函数来接受命令行参数,也就是一个String数组。这个函数的唯一一行代码把我们的问候语传递给了一个叫println的预定义函数。main函数不返回值(所以它是一个procedure method)。所以,也不需要声明返回类型。

对于Java程序员比较陌生的是包含了main函数的object语句。这样的语句定义了一个单例对象:一个有且仅有一个实例的类。object语句在定义了一个叫HelloWorld的类的同时还定义了一个叫HelloWorld的实例。这个实例在第一次使用的时候会进行实例化。

大家可能会发现main函数并没有使用static修饰符,这是由于静态成员(方法或者变量)在Scala中并不存在。Scala从不定义静态成员,而通过定义单例object取而代之。


为何学习Scala(特点)

可拓展
•面向对象
•函数式编程
兼容JAVA
•类库调用
•互操作
语法简洁
•代码行短
•类型推断
•抽象控制
静态类型化
•可检验
•安全重构
支持并发控制
•强计算能力
•自定义其他控制结构


Scala基础语法

    声明与定义(赋值):

         val,常量声明                  val x:T val x:T=e
         var,变量声明                  var x:T var x:T=e
        类型省略(默认类型)       val x=e var x=e
        声明省略(连续声明)       val x1,x2,x3 等价于 val x1;val x2;val x3       var x1,x2,x3:T=e等价于var xn:T=e
        def,函数声明                   def adder(m:Int,n:Int) =m+n
        无参函数                           def adder()=e
        type,类型声明                             type T1 = String => Int

      class,类声明                      

class Complex(real: Double, imaginary: Double) {
def re() = real
def im() = imaginary
}

      object,对象声明             

object Timer {
def oncePerSecond(callback: () => Unit) {
while (true) { callback(); Thread sleep 1000 }
}
def timeFlies() {
println("time flies like an arrow...")
}
def main(args: Array[String]) {
oncePerSecond(timeFlies)
}
}