一、Scala编程语言基础

一、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中具体的操作展示(读取之前写入的文件内容):
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值