2.2 Scala基础知识
一、基本数据类型和变量
1.基本数据类型

java中每一个数据类型都是一个类;
scala没有自己定义String类型,String类型是从java.lang.String照搬的。
字面量(literal)




2.变量




同一个环境中,可以重复使用同样一个变量名,只会记录最后一次用的那个类型。
二、输入输出

1.输入



2.输出




3.读写文件
(1)写入文件


文件保存在Scala启动目录
(2)读取文件



三、控制结构
1.if-else


2.while和do-while
3.for循环







4.异常处理

(1)受检异常
写代码时,需要考虑所有要抛出的错误,并且给出相应的处理方法。

(2)不受检异常
代码运行时抛出的异常。


scala中只有不受检异常


5.对循环的控制
scala中没有break和continue




(1)break

(2)continue

四、数据结构

1.数组Array

(1)一维数组



(2)多维数组


2.元组Tuple



3.容器Collection


scala.collection定义了一些可变容器和不可变的一些通用操作

scala中没有接口的概念



4.序列Sequence


(1)列表List和队列

列表和队列继承了LinearSeq
List是具体的容器类,而不是一个特质(实现接口的方法)。
特点:列表中的值必须要求相同类型;列表的值不可变









::右结合,从右往左执行

(2)向量Vector和ArrayBuffer
ArrayBuffer和Vector继承了IndexedSeq


"y+:vector"表示把y放在了向量vector的左边
"vector:+y"表示把y放在了向量vector的右边
(3)range






5.集合Set








6.映射Map
默认是不可变映射






7.迭代器Iterator
2.2 Scala基础知识的更多相关文章
- scala 基础知识总结
在最开始处引入 log 相关的 包 import org.apache.log4j.{Logger,Level} 在需要屏蔽日志输出的地方加上这两行代码 // 屏蔽不必要的日志显示在终端上 Logge ...
- Scala基础知识[一]
摘要:在Scala 是 Scalable Language 的简写,是一门多范式(multi-paradigm)的编程语言.设计初衷是要集成面向对象编程和函数式编程的各种特性.Scala 运行在Jav ...
- SCALA基础知识学习
注:本文只说和Java不同的地方. 总结自: Scala详细教程 Scala教程 scala基础语法 Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ";" 是 ...
- Scala基础知识笔记1
上一篇文章介绍了如何下载scala, 因为在官网上点击下载按钮无法下载, 下面介绍scala的基础语法: 1 scala和java的关系 Scala是基于jvm的一门编程语言,Scala的代码最终会经 ...
- (数据科学学习手札45)Scala基础知识
一.简介 由于Spark主要是由Scala编写的,虽然Python和R也各自有对Spark的支撑包,但支持程度远不及Scala,所以要想更好的学习Spark,就必须熟练掌握Scala编程语言,Scal ...
- [Scala] Scala基础知识
Object An object is a type of class that can have no more than one instance, known in object-oriente ...
- 为Play初学者准备的Scala基础知识
1 前言 本文的主要目的是为了让Play Framework的初学者快速了解Scala语言,算是一篇Play Framework的入门前传吧.使用PlayFramework可以极大的提高开发效率,但是 ...
- 【转】Scala基础知识
原文地址.续 课程内容: 关于这节课 表达式 值 函数 类 继承 特质 类型 apply方法 单例对象 函数即对象 包 模式匹配 样本类 try-catch-finally 关于这节课 最初的几个星期 ...
- Scala基础知识笔记2
1 类 1.1 定义一个简单的类 1.2 field的getter 和 setter方法 感觉成员变量定义成 var 属性名=属性值即可, 不需要定义成 val 或者 private就行, // ...
- Scala基础知识(二)
1.条件表达式 object ConditionDemo { def main(args: Array[String]) { val x = //判断x的值,将结果赋给y val y = ) //打印 ...
随机推荐
- 环形链表 II
给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 - ...
- csps2019记
Day0: 上午疯狂颓板子(树状数组,KMP)屁都没考,感觉海星. 上午坐大巴去了德州,中午和skyh凑钱吃饭(其实是我请他)rp++. 下午在火车上和侯神打扑克,拉火车之神Get. 到燕大试机,敲了 ...
- SiIsEnterpriseFunctionsRestrictedOnOpenSource
src/Cedar/Server.c SiIsEnterpriseFunctionsRestrictedOnOpenSource()
- mysql用户与权限操作
本文所有操作均在mysql8.1下验证,mysql5.x部分语句不适用. 1.创建用户 '; # 创建用户test,密码123456,%表示允许在所有主机登陆 用户表为mysql库小的user表,Ho ...
- (二十七)golang-排序和查找
排序:将一组数据,依据指定的顺序进行排列 (1)内部排序:将数据加载在内存中进行排序: 交换排序(冒泡排序,快速排序)冒泡排序实现: 快速排序实现 (2)外部排序:数据量过大,无法全部加载到内存中,需 ...
- python asyncio 关闭task
import asyncio import time async def get_html(sleep_times): print("waiting") await asyncio ...
- Java JDK和IntelliJ IDEA 配置及安装
序言 初学java,idea走一波先.安装完成,配置配置项. idea 软件 官方下载地址:https://www.jetbrains.com/idea/download/#section=windo ...
- virtualbox 配置记录
virtualbox 网络模式 Host-only Internal Bridged NAT 之间的区别 host-only模式,host与vm一起在内部网络 Internal模式,仅vm在内部网络 ...
- 基本认证(Basic Authorization)
---------------------------------- import arcpy from base64 import encodestring username = 'xxx' pas ...
- 使用CefSharp前端后台交换
原文:使用CefSharp在.NET中嵌入Google kernel 使用CefSharp可以在.NET轻松的嵌入Html,不用担心WPF与Winform 控件与它的兼容性问题,CefSharp大部分 ...