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> //可以在命令提示符后面输入命令
练习一:
练习二:
练习三:
小结:
1.定义函数时:如果一条语句需要多行,REPL会自动在一行以“|”开头,指示用户继续输入;
2.在REPL中通过:load 文件名的形式可装载执行简单程序
练习四:
运行程序:
方法一:在REPL中运行——scala> :load 文件名.scala
方法二:在shell中运行——Scala text.scala
练习五:
运行程序:scalac text.scala
scala HelloWorld
小结:
1.object用于定义单例对象,scala无静态方法;
2.scala文件名可以与类名不同;
3.scala大小写敏感,最后一条语句末尾的分号可以省略;
4.在shell环境中可通过输入以下命令实现程序文件执行:
scalac scala文件名 :可以生成两个class文件
scala 类名 :运行该程序
scala的输入输出方法
- 输入方法:import io.StdIn._
readByte()/ readByte:从键盘接受整型数字
readShort()/ readShort:从键盘接受整型数字
readInt()/ readInt:从键盘接受整型数字
readLong()/ readLong:从键盘接受长整型数字
readFloat()/ readFloat:从键盘接受单精度数字
readDouble()/ readDouble:从键盘接受双精度数字
readChar()/ readChar:从键盘接受字符
readBoolean()/ readBoolean:从键盘接受布尔型数据
readLine(”提示文本”):从键盘接受任何类型数据 - 输出方法:
print(“输出内容”):不含换行符输出
println(“输出内容”):结尾含有换行符
printf(“输出内容”):c语言风格输出
字符串插值机制:
在字符串字面量中嵌入变量的值。
格式: println(s”$变量名”)
读写外部文件
- 写入文件:
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() - 读取文件
可以使用scala.io.Source的getLines实现对文件中所有行的读取
使用方法: