Scala的基本语法

数据类型
在这里插入图片描述
和Java不同的是,
在Scala中,这些类型都是“类”,
并且都是包scala的成员,
比如,Int的全名是scala.Int。
对于字符串,Scala用java.lang.String类来表示字符串

特殊类型
Unit:表示无值,和java中的void等同,Unit只有一个实例值,写成()。
Null:空值或引用
Nothing:所有其它类型的子类型,表示没有值
例如:
val list1 = List()在不确定值类型时自动定义为Nothong
Any:所有其它类型的超类,任何实例都属于Any类型
AnyRef:所有引用类型的超类
AnyVal:所有值类型的超类

在这里插入图片描述
类型间的转换
强制类型转换:
toDouble
toFloat
toLong
toInt
toShort
toChar
在这里插入图片描述

字面量
字面量是直接在代码里书写常量值的一种方式
整型字面量定义:
整型字面量用于 Int 类型,如果表示 Long,可以在数字后面添加 L 或者小写 l 作为后缀。
在这里插入图片描述
浮点型字面量:
如果浮点数后面有f或者F后缀时,表示这是一个Float类型,否则就是一个Double类型的
在这里插入图片描述
布尔型字面量:
布尔型字面量有 true 和 false
在这里插入图片描述
字符字面量:
在scala中字符类型表示为半角单引号中的字符
在这里插入图片描述
字符串字面量
字符串表示方法是在双引号中 包含一系列字符
多行字符串的表示方法
多行字符串用三个双引号来表示分隔符在这里插入图片描述
变量定义方法
方法一:
val 变量名 = 初始值
var 变量名 = 初始值
#通过类型推断机制自动推断变量类型
方法二:
val 变量名:数据类型 = 初始值
var 变量名:数据类型 = 初始值

变量和常量
1.scala中定义变量使用 var ,定义常量(或值不可再赋值的变量)使用 val;
2.scala每行后面都有 ; 自动推断机制,不用显式写出;
3.scala中变量和常量的类型可以省略,有自动类型推断机制;
4.scala中建议使用驼峰命名法

流程控制语句

  1. 判断结构:
    if (表达式) {
    语句块1
    } else {
    语句块2
    }
    有一点与Java不同的是,Scala中的if表达式的值可以赋值给变量
  2. while循环
    while (表达式){
    循环体
    }
    do{
    循环体
    }while (表达式)
  3. for循环
    for (变量 <- 表达式) {语句块}
    其中,“变量<-表达式”被称为“生成器”
    在这里插入图片描述
    for“守卫(guard)”的表达式:过滤出一些满足条件的结果。
    基本语法:
    for (变量 <- 表达式 if 条件表达式) 语句块

对循环的控制
为了提前终止整个循环或者跳到下一个循环,Scala没有break和continue关键字
Scala提供了一个Breaks类(位于包scala.util.control)。
Breaks类有两个方法用于对循环结构进行控制,即breakable和break
格式:
breakable{

if(…) break

}
列子:
import util.control.Breaks._ //导入Breaks类的所有方法
val array = Array(1,3,10,5,4)
breakable{
for(i<- array){
if(i>5) break //跳出breakable,终止for循环,相当于Java中的break
println(i)
}
}
// 上面的for语句将输出1,3
for(i<- array){
breakable{
if(i>5) break
//跳出breakable,终止当次循环,相当于Java的continue println(i)
}
}// 上面的for语句将输出1,3,5,4

模式匹配——Match
模式匹配:
1、检查某个值(value)是否匹配某一个模式的机制;
2、是Java中的switch语句的升级版,同样可以用于替代一系列的 if/else 语句;
3、使用match-case语句实现值的条件判断;
4、较java只能对值判断来看,match-case可以实现变量类型、集合的元素、有值或无值的判断
基本结构:
变量名 match{
case 变量值 => 表达式或值
case 变量值 => 表达式或值
……
case _ => 表达式或值
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值