Scala编程 (二) 基本语法

Scala编程 (二) 基本语法

1.声明值和变量

Scala有两种类型的变量:

  • val:是不可变的,在声明时就必须被初始化,而且初始化以后就不能再赋值;
  • var:是可变的,声明的时候需要进行初始化,初始化以后还可以再次对其赋值。

val 声明值

这种变量在声明的时候就必须被初始化,如下是几种初始化的方法

下面方法 由编译器自己推断变量的类型属于字符串
在这里插入图片描述
**下面方法 在变量名后先加 冒号数据类型 **
在这里插入图片描述
可以使用java中的数据类型
在这里插入图片描述
这是因为scala在启动的时候 已经自动执行了下面这条命令
在这里插入图片描述
我们可以输出一下变量
在这里插入图片描述
因为val是声明值,我们可以看到如果想改变它的值就会报错,如下
在这里插入图片描述

var 声明变量

下面是var的声明, 格式跟之前一样,只不过前面变成了var
在这里插入图片描述
如下,用var声明的变量是可以修改的
在这里插入图片描述

小技巧

如果没有敲完一条变量的赋值就不小心点了回车 Scala会在下面的几行里继续让你输入,直到命令结束
在这里插入图片描述
在这里插入图片描述

2.基本数据类型和操作

Scala中,类型都是类 而且是scala包下的
下表给出了各个值类型的表示范围在这里插入图片描述
在这里插入图片描述

字面量

各种类型的字面量定义
这里只要注意 字符串是双引号 字符是单引号
在这里插入图片描述

操作符

5 + 3 5 + 3 5+3其实可以写成 ( 5 ) . + ( 3 ) (5).+(3) (5).+(3)
这里的(5)就是一个对象,它有一个方法是+,3是它的参数
所以就通过对象.方法来调用
如上述例子就是 (5)对象的加法,参数为3

在这里插入图片描述

富包装类

  • 对于基本数据类型,除了以上提到的各种操作符外,Scala还提供了许多常用运算的方法,只是这些方法不是在基本类里面定义,还是被封装到一个对应的富包装类中
  • 每个基本类型都有一个对应的富包装类,例如Int有一个RichInt类、String有一个RichString类,这些类位于包scala.runtime中
  • 当对一个基本数据类型的对象调用其富包装类提供的方法,Scala会自动通过隐式转换将该对象转换为对应的富包装类型,然后再调用相应的方法。

例如3 max 5
这里的3和5都是Int类,但是Int类没有max这个方法,这里就隐式转化为RichInt类,然后调用max方法来获取最大值

Range

跟python类似

  • 在执行for循环时,我们经常会用到数值序列,比如,i的值从1循环到5,这时就可以采用Range来实现
  • Range可以支持创建不同数据类型的数值序列,包括Int、Long、Float、Double、Char、BigInt和BigDecimal等

在这里插入图片描述
until方法是不包括5的
在这里插入图片描述
by说明步长
在这里插入图片描述
在这里插入图片描述

3.控制台输入输出语句

在这里插入图片描述

import scala.io.Stdln

在这里插入图片描述
在同一行执行两条语句,用分号进行分割
在这里插入图片描述
在这里插入图片描述
这里注意到了分开打印的时候外面是没有括号的
在这里插入图片描述
插值字符串,这个概念比较新
在输出的字符串前面加个s或者f
s只能控制变量
f还可以控制输出格式
在这里插入图片描述
在这里插入图片描述

4.读写文件

写文件

在这里插入图片描述
读文件
在这里插入图片描述

5.异常处理

在这里插入图片描述

在这里插入图片描述

6.控制结构

if条件表达式

在这里插入图片描述
在这里插入图片描述
有一点与Java不同的是,Scala中的if表达式的值可以赋值给变量,也就是python里面常用的,非常好理解
在这里插入图片描述

while循环

在这里插入图片描述
do while 结构
在这里插入图片描述

for循环

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上图就相当于两层循环.在这里插入图片描述

for推导式

在这里插入图片描述

循环的控制

在这里插入图片描述
break
在这里插入图片描述
continue
在这里插入图片描述

数据结构

容器

在这里插入图片描述

List 列表

在这里插入图片描述
在这里插入图片描述

Set 集合

在这里插入图片描述
不过现在创建的默认好像就是mutable中的

Map 映射

在这里插入图片描述
相当于字典
在这里插入图片描述
这里的语句运用到了之前的if表达式的特性
在这里插入图片描述
在这里插入图片描述

迭代器

在这里插入图片描述
在这里插入图片描述
grouped和sliding看例子就很好理解

数组 Array

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
insert是指定位置插入
-=是删除第一个值一样的元素
+=是在末尾添加
remover是删除指定位置的元素

元组 tuple

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Joker-Tong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值