一、基础及环境配置
Scala构建在JVM之上,与java兼容,互通
面向对象编程,函数式编程,表达能力强,代码精简
安装包(要求jdk环境):https://www.scala-lang.org/download
在idea中安装scala环境:在idea的setting搜索Plugins(插件的意思),在插件栏搜索scala安装即可
如果在线无法安装的话,可以从idea的官网找到对应版本的scala插件,下载到本地,选择从本地安装即可
tips:scala插件的版本需要和idea的版本一致
二、概述
每个值都是对象
对象的数据类型和行为由类(Class)和特质trait(类似java的接口)
可以使用特质实现混入式多继承
2.1基础知识
var 变量,val常量
数据类型:Byte,Short,Int,Long,Float,Double,Char,String,Boolean
数据类型的层次:
Any:所有类型的超类(是顶级类型)
AnyVal:表示值类型的超类
AnyRef:表示引用类型的超类
Unit:表示无值,类似java中的void,无返回值的意思
Nothing:所有类型的子类,什么也没有
Null:表示null或空引用
2.2字符串操作
s插值器:允许将变量引用,表达式直接插入字符中
val name="James"
println(s"Hello,$name")
//输出的结果为:Hello,James
2.3条件控制
if条件 控制:
val x=10
if(x>10){
print("x大于10")
}else if(x==10){
print("x等于10")
}else{
print("x小于10")}
条件语句的返回值
val x=10
val y={
print("我是代码块")
x+1
}
此表达式的返回值为(x+1)即11,
代码块{。。。。}也是一个表达式,返回值为最后一个表达式结果
while循环与for循环
var num: Int = 0;
while ( num < 100 ) {
println( num );
num = num + 1;
}
var num: Int = 0;
do {
println( num );
num = num + 5;
} while ( num < 200 }
val num:Int = 10;
for ( i: Int <- 1 to num )
{
println( i * 100 );
}
for {
i: Int <- 1 until 100 }
{
val y = 2*i;
println( y );
}
1 to 10表示创建一个区间rang(1,2,3,4,5,6,7,8,9,10)
循环的中断:需要导包,by 2表示步长为2,不写表示默认步长为1
import scala.util.control.Breaks._
val num:Int = 10;
for ( i: Int <- 1 to num by 2 ) {
if(i>=5) break;
println( i * 100 );
}
for循环添加条件过滤:用if添加过滤条件,添加多个条件用分号隔开
val num:Int = 10;
for ( i: Int <- 1 to num; if i%2