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 = ) //打印 ...
随机推荐
- 【转】gdb的调试与使用
转载自:https://www.jianshu.com/p/7a06b0bda2d8 gdb的调试与使用 这篇应该是我见过的总结最详细的gdb调试指南了,这位博主是个很强的人,他的博客对萌新比较友好, ...
- CF731C Socks
CF731C Socks 洛谷评测传送门 题目描述 Arseniy is already grown-up and independent. His mother decided to leave h ...
- day_0
Day01 - 初识Python - Python简介 - Python的历史 / Python的优缺点 / Python的应用领域 - 搭建编程环境 - Windows环境 / Linux环境 / ...
- CSP-J&S2019第一轮认证游记
Day-0 晚上和高一大佬BH聊了聊,感觉大佬第一次参加比赛毕竟还是有点慌QAQ,毕竟我这么菜的人都没慌过. 做了一套模拟题,用45分钟瞎打的提高组卷子得了62分,还不错,正式比赛用2个小时好好答的话 ...
- (三十)golang--面向对象
首先我们要明确: golang并不是纯粹的面向对象的编程语言: golang没有类class,使用struct代替: golang面向对象编程非常简洁,去掉了传统的继承.重载.构造函数和析构函数.隐藏 ...
- 在Windows下的virtualenv中搭建Flask+MySQLDb开发环境
virtualenv和Flask的安装前面已经介绍过了,这里主要讲如何在venv中安装MySQL 安装MySQLdb 下载MySQL-python-1.2.3.win32-py2.7.exe并安装. ...
- LeetCode 232:用栈实现队列 Implement Queue using Stacks
题目: 使用栈实现队列的下列操作: push(x) -- 将一个元素放入队列的尾部. pop() -- 从队列首部移除元素. peek() -- 返回队列首部的元素. empty() -- 返回队列是 ...
- D3力布图绘制--在曲线路径上添加文本标记
今天遇到一个在曲线路径上标识文本标记的问题,找到一个比较好的解决思路,在这里分享下: 使用d3建立的Force Layout,加上自定义的箭头形状,将多条连接线线改成弧线(https://www.cn ...
- 电商项目搜寻功能(分页,高亮,solr,规格过滤,价格的排序)
package cn.wangju.core.service; import cn.wangju.core.pojo.item.Item; import cn.wangju.core.util.Con ...
- Focal Loss 理解
本质上讲,Focal Loss 就是一个解决分类问题中类别不平衡.分类难度差异的一个 loss,总之这个工作一片好评就是了. 看到这个 loss,开始感觉很神奇,感觉大有用途.因为在 NLP 中,也存 ...