一、scala基础:

前语:

本文章是作者在学习Scala语言时记录的,是在linux系统中,通过终端shell命令使用Scala语言进行练习,参考了厦门大学数据库实验中的内容。如果有不正确的地方,欢迎大家指出,共同学习,如果文章能够帮助到你的,十分荣幸。

1、Scala的编译和运行

编译和执行,在命令行中输入: I、有main函数入口 (1): scalac 文件名.scala 编译(使用的是Scala文件名称),生成以对象名为名称,后缀名为.class的类文件(如果一个scala代码文件中,有多个类,会生成等数量的类文件)。 (2):Scala (-classpath .) 对象名 执行(执行的时候使用的是对象名称)

II、没有main函数入口 直接scala 文件名.scala进行执行, 不能通过scalac去进行编译! 要把执行的操作写在类外面,因为如果直接执行的话,不会去调用类。

2、Scala中的声明值和变量

Scala中有两种类型的变量:val 和 var (1)val: 特点:在声明时,就必须被初始化,而且初始化以后就不能在赋值(不可变); 语法:val 变量名 :java.lang.数据类型 = 初始值 例子: 简化: 不难发现,scala的数据类型是由Java的数据类型来实现的,由于在每个程序中,Scala都会自动添加一些引用,因此,在每个程序源文件的顶端都增加了一行 import java.lang._(即java.lang包里面的所有东西),因此我们在声明的时候,可以将java.lang.数据类型直接用数据类型来代替;并且scala具有”类型判断的能力”,可以自动推断出变量的类型,因此我们声明的时候可以直接简写成: val 变量名 = 初始值

(2)var: 特点:在声明的时候需要进行初始化,初始化后还可以再次对其进行赋值(可变的) 语法:var 变量名 :java.lang.数据类型 = 初始值 例子:

简化:同理,可以简写成: var 变量名 = 初始值

3、基本数据类型和操作:

数据类型: Scala的数据类型包括Byte、Char、Short、Int、Long、Float、Double和Boolean。与java不用,这些数据类型都是类,并且都是包(包:为了解决命名冲突,和命名空间累死,在不同的包中可以定义相同的类)scala的成员(比如说Int的全名是scala.Int)。 字面量(literal)指的是在源代码中直接表示的一个固定的值,scala中允许对字面量直接执行方法。

对字面量执行方法: 整数字面量执行方法toString转化为字符串字面量: 字符串字面量执行intersect()方法,输出两个字符串中都存在的字符

操作符: 在Scala中可以使用加(+)、减(-)、乘(*)、除(/)、余数(%)等操作符,而且这些操作符就是方法,比如说5 + 3 等价于 (5).-(3), 即在这里-是Int类中的一个方法。 注:在scala中,没有提供一元操作符++和–。

4、Range

Range可以支持创建不同数据类型的数值序列,包括Int,Long,Float,Double,Char,BigInt和BigDecimal等。在创建Range时,需要给出区间的起点和终点以及步长(默认步长为1) 例子: (1)创建一个从1到5的数值序列,区间起点为1,终点为5,步长为1(默认为1,可以不写)

(2)通过调用字面量的方法来直接执行

(3)创建一个从1到5的数值序列,不包含区间终点5,步长为1

(4)创建一个从1到10的数值序列,包含区间终点10,步长为2

(5)创建一个Float类型的数值序列,从0.5f到5.9f,步长为0.8f

(6)创建一个字符类型的序列,从‘a’到‘e’ 按照ascll码表的顺序给出的

5、打印语句

printf(“内容”); //输出内容不换行 println(“内容”); //输出内容并换行 printf(“%d”,1); //printf支持C语言风格的格式化字符串输出

6、读写文件

(1)写入文件 Scala需要使用java.io.PrintWriter实现把数据写入到文本文件。 代码:

在scala中具体的操作展示:

在终端通过cat命令查看一下文件内容:

(2)读取文件 使用Scala.io.Source的getLines方法实现对文件中所有行的读取。 代码:

在scala中具体的操作展示(读取之前写入的文件内容):

好文阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。