scala基础1

1.声明变量
在scala中声明变量可自定义变量类型也可不定义变量类型。如果不定义变量类型,scala编译器会自动推断变量类型。
在声明变量时,有两种变量修饰词,val和var,其中val用来定义不可变变量(从内存的角度即指向地址唯一不可变)
var用来定义可变变量(从内存角度来说,指向地址可变)
例如:
1.定义一个不可变变量
val i = 1
2.定义一个可变变量
var s = “hello”
3.定义一个指定参数的不可变变量
val str:String = “world”
val x:Int = 3
2.变量常用类型
有7种数值类型(Byte、Char、Short、Int、Long、Float和Double)和一个Boolean类型
3.条件表达式(if语句的使用)
相较于Java,scala中没有return这个关键字,行最后的即为返回值
如:
val x = 1
//如果x大于0则返回1 ,否则返回-1
val y = if(x > 0) 1 else -1
此时y的值为1,且数据类型为Int类型

val z = if(x > 1) 1 else “error”
此时z的值为error,且数据类型为Any类型
(Any类型可视为String和Int的父类)

val m = if(x > 2) 1 else ()
在scala中每个表达式都有值,scala中有个Unit类写作(),相当于java中的void
m的返回值为()

val k = if (x < 0) 0
else if (x >= 1) 1 else -1
if …else if 实例
else if 也写作elif

4. 块表达式
在scala中{}中课包含一系列表达式,块中最后一个表达式的值就是块的值
//下面就是一个块表达式
val result = {
if (x < 0){
-1
} else if(x >= 1) {
1
} else {
“error”
}
}
5.循环
for循环本质上就是遍历
for(i <- 表达式)
例如:
val arr = Array(1,2,3,4,5,6)
for (i <- arr)
println(i)
遍历arr数组并将值赋给i

高级for循环
每个生成器都可以带一个条件 注意:if前面没有分号
for(i <- 1 to 3 ; j <- 1 to 3 if i != j)
print((10 * i + j ) + " ")
println()

for推导式:如果for循环的循环体以yield开始,则该循环会构建出一个集合,每次迭代生成集合中的一个值
val v = for (i <- 1 to 10) yield i * 10
println(v)

6.方法和函数
在这里插入图片描述
方法的返回值类型可以不写,编译器可以自动推断出来,但是对于递归函数,必须指定返回类型
在这里插入图片描述

在函数式编程语言中,函数是“头等公民”,它可以像任何其他数据类型一样被传递和操作
例如:
在这里插入图片描述
方法可以转换成函数在作为参数进行操作和传递
在方法后面加空格和下划线即可,也有些省略不写但是本质都是进行转换

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值