scala入门

Scala简介
Scala是一门类Java的多范式语言,它整合了面向对象编程和函数式编程的最佳特性。
Scala运行于Java虚拟机(JVM)之上,并且兼容现有的Java程序
Scala是一门纯粹的面向对象的语言
Scala也是一门函数式语言
马丁 · 奥德斯基( Scala之父)

Scala特性
1.与java无缝对接
2.类型自动判断(val与var)
3.支持并发和分布式(Actor)
4.将java中接口与抽象类整合(Trait)
5.模式匹配(Match)
6.高阶函数,面向函数式编程

Scala的安装
下载:
http://distfiles.macports.org/scala2.11/
下载scala-2.11.8.tgz
把scala命令添加到path环境变量中
vim /etc/profile
export PATH=$PATH:/usr/local/scala/bin
启动Scala解释器:
$ scala
scala> //可以在命令提示符后面输入命令

scala的基本使用
Scala REPL(READ,EVAL,PRINT,LOOP):运行scala表达式和程序的交互式shell。
启动scala
$ scala
scala> //可以在命令提示符后面输入命令
练习一:scala入门
练习二:scala入门
练习三:scala入门
小结:
1.定义函数时:如果一条语句需要多行,REPL会自动在一行以“|”开头,指示用户继续输入;
2.在REPL中通过:load 文件名的形式可装载执行简单程序
练习四:scala入门
运行程序:
方法一:在REPL中运行——scala> :load 文件名.scala
方法二:在shell中运行——Scala text.scala

练习五:scala入门
运行程序:scalac text.scala
scala HelloWorld

小结:
1.object用于定义单例对象,scala无静态方法;
2.scala文件名可以与类名不同;
3.scala大小写敏感,最后一条语句末尾的分号可以省略;
4.在shell环境中可通过输入以下命令实现程序文件执行:
scalac scala文件名 :可以生成两个class文件
scala 类名 :运行该程序

scala的输入输出方法

  1. 输入方法:import io.StdIn._
    readByte()/ readByte:从键盘接受整型数字
    readShort()/ readShort:从键盘接受整型数字
    readInt()/ readInt:从键盘接受整型数字
    readLong()/ readLong:从键盘接受长整型数字
    readFloat()/ readFloat:从键盘接受单精度数字
    readDouble()/ readDouble:从键盘接受双精度数字
    readChar()/ readChar:从键盘接受字符
    readBoolean()/ readBoolean:从键盘接受布尔型数据
    readLine(”提示文本”):从键盘接受任何类型数据
  2. 输出方法:
    print(“输出内容”):不含换行符输出
    println(“输出内容”):结尾含有换行符
    printf(“输出内容”):c语言风格输出
    字符串插值机制:
    在字符串字面量中嵌入变量的值。
    格式: println(s”$变量名”)

读写外部文件

  1. 写入文件:
    Scala需要使用java.io.PrintWriter实现把数据写入到文件,PrintWriter类提供了print 和println两个写方法。
    使用方法:
    scala> import java.io.PrintWriter
    scala> val outputFile = new PrintWriter(“test.txt”)
    scala> outputFile.println(“I love scala!")
    scala> outputFile.print(“I love python too!")
    scala> outputFile.close()
  2. 读取文件
    可以使用scala.io.Source的getLines实现对文件中所有行的读取
    使用方法:
    scala入门