scala学习一:scala入门
标签(空格分隔): scala
一,搭建开发环境
1,jdk的安装和环境配置
2,安装scala sdk并且配置环境变量
3,安装scala集成开发环境
二,scala 常用的数据类型
数值类型:Byte,Short,Int,Long,Float,Double
/*
Byte:8位有符号数字 -128~127
Short:16位有符号数字 -32768~32767
Int:32位有符号数字
Long:32位有符号数字
Float:32位有符号的浮点数
Double:64位的有符号浮点数
*/
val a:Byte=10 //> a : Byte = 10
a+10 //> res0: Int = 20
val b:Short=20 //> b : Short = 20
a+b //> res1: Int = 30
字符类型Char和字符串类型String
val c:Char='x' //> c : Char = x
val d:String="hello" //> d : String = hello
//字符串:插值
"my name is ${d}" //> res2: String("my name is ${d}") = my name is ${d}
unit类型:相当有void类型
val f={} //> f : Unit = ()
val g:Unit={} //> g : Unit = ()
Nothing类型:含义相当于返回一个例外
def myfunction=throw new Exception("error happened")
//> myfunction: => Nothing
三,scala变量的声明和使用
val:定义的是常量,值是不可以改变的
var:定义变量
注意:可以不用指定变量类型,scala可以自动推动变量类型
四,函数的定义和使用
1,scala预定义函数(需要导入相应的包)
import scala.math._
max(1,2) //> res0: Int = 2
2,自定义函数(返回值类型可以省略)
def sayHello(name:String):String={
"hello-----"+name
} //> sayHello: (name: String)String
sayHello("world") //> res1: String = hello-----world
//求和
def sum(x:Int,y:Int):Int={
x+y
} //> sum: (x: Int, y: Int)Int
var num=sum(4,6) //> num : Int = 10
五,条件表达式
和java的中的if else语法结构一样,但是在scala中,if else是表达式,有值:这个值就是跟在if或else之后的表达式的值
val xx=1 //> xx : Int = 1
if(xx==1){
"this value is 1"
}else{
"other value"
} //> res2: String = this value is 1
六,循环
1,for循环
//for 的第一种方式
for(temp<-list) println(temp) //> mary
//| tom
//| mike
//for 的第二种方式
for{
temp<-list
if(temp.length>3)
}println(temp) //> mary
//| mike
//for 的第三种方式
for(temp<-list if temp.length<=3) println(temp) //> tom
//for 的第四种方式
var newlist=for{
temp<-list
temp1=temp.toUpperCase
}yield(temp1) //> newlist : List[String] = List(MARY, TOM, MIKE)
2,while循环
var i=0 //> i : Int = 0
while(i<list.length){
println(list(i))
i+=1
} //> mary
//| tom
//| mike
var i=0 //> i : Int = 0
do{
println(list(i))
i+=1
}while(i<list.length)
//> mary
//| tom
//| mike
3,foreach(函数的名称)
list.foreach(println)