scala基础
程序员文章站
2022-06-14 17:02:18
...
声明变量
Scala中声明变量的格式:
var 变量名=初始值 val 变量名 = 初始值
var 变量名:数据类型=初始值 val变量名:数据类型 = 初始值
scala> val user:String="jdfs"
user: String = jdfs
scala> val name="kkk" ##声明未指定类型时,scala会自己判断数据类型
name: String = kkk
scala> var money=1000
money: Int = 1000
scala> money=10003
money: Int = 10003
scala> name="dfs"
<console>:12: error: reassignment to val
name="dfs"
^
scala>
小结: val和var的区别
使用var关键字声明的变量,可以对该变量的值进行修改
使用val关键字声明的变量(相当于常量),不可以对该变量的值进行修改
scala> val a = 10.asInstanceOf[Double] ## 转换数据类型
a: Double = 10.0
scala> val b = 10.isInstanceOf[Double] ## 判断数据类型
b: Boolean = false
常用数据类型
Byte Char Short Int Long Float Double Boolean String
函数、方法
函数的定义格式:
def 函数名(参数1:类型 , 参数2:类型 , …) : 返回值类型 ={
函数体代码实现
}
函数用法:
注意:函数中参数默认是使用val定义,不能对参数的值进行修改
###有参函数
def sum(x:Int,y:Int):Int={
x+y # 最后一行代码的执行结果作为返回值
}
###简化写法 ,不写明返回值类型时,程序会自行判断
def sum(x:Int,y:Int)={
x+y
}
### 简化写法,当函数体只有一行代码时,可以这么写。
def sum(x:Int,y:Int)=x+y
###
###无参函数
def sayhello():Unit={
println("ddd")
}
###同样可以简化
def sayhello=println("ddd")
循环表达式
to:
左闭右臂
scala> 1 to 10
res0: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
也可写成
1.to(10)
range:
左闭右开
scala> Range(1,10,1) #第三个参数为步长
res2: scala.collection.immutable.Range = Range(1, 2, 3, 4, 5, 6, 7, 8, 9)
until:
等同range
也可写成1.until(10)
scala> 1 until 10
res0: scala.collection.immutable.Range = Range(1, 2, 3, 4, 5, 6, 7, 8, 9)
for语句:
for语句循环结构:for( i <- 表达式/数组/集合)
for(i <- 1 to 10){}
for(i <-1 to 10 if i%2==0){}
对象
类的简单定义:
class people(val name:String,val age:Int){
var name:String = _ // name肯定是一个字符串类型
val city=""
def sleep()={
name + "zzzzz"
}
构造器
scala中的每个类都有一个主构造器,主构造器的参数直接放置类名后面,与类交织在一起。
注意:主构造器会执行类中定义的所有语句
class Student(val n:String,var a :Int){
val name:String = n
var age : Int = a
println("执行主构造器")
var sex: String =_ //表示占位符,只有在var声明时才可以使用,声明时一定要写上数据类型,编译器会赋予相应的初始值
def this(n:String,a:Int,sex:String){
this(n,a)//第一行必须写调用主构造器的代码
println("执行辅构造器")
this.sex=sex
}
}
上一篇: Scala caseclass 样例类
下一篇: Scala 基础