一、Scala编程语言基础

2023-05-16

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一、Scala编程语言基础 的相关文章

  • 在线考试系统

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 今天给大家介绍一篇基基于SSM超市管理系统的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 大家介绍一篇学生选课系统的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 健身中心健身管理系统的设计与实现(源码+数据脚本+论文+技术文档)

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 缘来交友网站的设计与实现(源码+数据库+论文+开题报告+说明文档)

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于SSM的药店管理系统

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • VirtualBox 网络连接一些坑

    virtualbox启动虚拟机报错Failed to open create the internal network 39 HostInterfaceNetworking VirtualBox Host 正确步骤 xff1a 先去掉Dri
  • 基于jsp的学生培训管理系统

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • C语言输出所有的水仙花数

    输出所有的 水仙花数 所谓 水仙花数 是指一个3位数 xff0c 其各位数字立方之和等于该数本身 例如 xff0c 153是一个水仙花数 xff0c 因为153 61 1 43 5 xff0b 3 解题思路 xff1a 水仙花数的解题思路是
  • python如何实现浪漫烟花代码(附源代码)

    这篇文章主要为大家详细介绍了python实现浪漫的烟花秀 xff0c 具有一定的参考价值 xff0c 感兴趣的小伙伴们可以参考一下 无意中看到一段用Tkinter库写的放烟花的程序 xff0c 就跟着跑了一遍 span class toke
  • java烟花代码_java代码放烟花(附源码)

    本文实例讲述了JavaScript实现的简单烟花特效代码 分享给大家供大家参考 xff0c 具体如下 xff1a 这是一款JavaScript烟花特效 xff0c 过年的时候放到你的网页上祝贺大家牛年大吉吧 xff0c 是不是很不错 xff
  • 基于JavaWeb的物流管理系统的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于JavaWeb的校园故障报修系统(源码+数据脚本+论文+技术文档)

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 开发一个App大概要多少钱?只讲干货

    结合自己的各种采坑失败经验以及周边个别成功试水经验 xff0c 站在个人角度给出一些理解 APP制作有多种形式 xff0c 所以需要的成本差异较大 1 寻找外包公司 2 模板APP xff08 内行叫SAAS xff09 3 自己组建团队
  • 基于springboot的汽车租赁管理系统的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于SSM的亲子活动平台的搭建与实现(源码+数据脚本+论文+技术文档)

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于ASP学生资助管理系统的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做ASP程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情当
  • LevelDb 资料整理

    z 2014 08 29 09 46 17 L 124 39 51223 BG57IV3 64 XCL T161676003 K F4029401865 T6 L94 R5 V74 leveldb介绍 http code google co
  • 网上预约挂号系统的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于SSM的学籍证明打印系统设计与实现。

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情

随机推荐

  • 开心公寓房屋出租管理系统的设计与实现(系统源码+技术文档+论文)

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于ssm的旅游网站的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 保健品销售网站

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于SSM的医院医疗管理系统的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 学生选课系统

    项目描述 通过项目背景的分析以及了解到现在学校面临的问题 xff0c 特别需要一个选课管理系统保证学生信息以及各种课程成绩的准确性和实效性 xff0c 通过利用计算机的高速计算和快速的统计分析 xff0c 保证学生信息的最新记录 从教职工的
  • 基于Java Web的传智播客crm企业管理系统的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 校园论坛网站设计设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于springboot信用分析管理系统设计与实现。

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • ubuntu 查询 修改 时间

    ubuntu 查询 修改 时间 date 用法 xff1a date 选项 43 格式 或 xff1a date u utc universal MMDDhhmm CC YY ss 以给定的格式显示当前时间 xff0c 或是设置系统日期 d
  • 基于ssm的小区物业管理系统

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于springboot的家装平台设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于C#的公交充值管理系统的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做C 程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情当下
  • 基于ssm的宠物商城网站设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于JSP网上书城的设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于springboot的作业管理系统设计与实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于springboot的鲜花销售商城网站

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于ssm的社区疫情返乡管控系统设计实现

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于JavaWeb的大学迎新系统设计与实现(源码+数据库脚本+论文+开题报告)

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 基于SSM的网红书购物商城(源码+论文+开题报告+答辩PPT)

    项目描述 临近学期结束 xff0c 还是毕业设计 xff0c 你还在做java程序网络编程 xff0c 期末作业 xff0c 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情
  • 一、Scala编程语言基础

    一 scala基础 xff1a 前语 xff1a 本文章是作者在学习Scala语言时记录的 xff0c 是在linux系统中 xff0c 通过终端shell命令使用Scala语言进行练习 xff0c 参考了厦门大学数据库实验中的内容 如果有