好程序员大数据学习路线分享Scala分支和循环
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,好程序员大数据学习路线分享Scala分支和循环3.3. 条件表达式表达式:一个具有执行结果的代码块。结果是具体的值或者()表达式的思考方式:以表达式为中心的编程思想1.表达式和语句的区别:表达式有返回
千家信息网最后更新 2026年11月02日好程序员大数据学习路线分享Scala分支和循环
好程序员大数据学习路线分享Scala分支和循环
3.3. 条件表达式
表达式:一个具有执行结果的代码块。结果是具体的值或者()
表达式的思考方式:以表达式为中心的编程思想
1.表达式和语句的区别:表达式有返回值,语句被执行。表达式一般是一个语句块,执行后,返回一个值
2.不使用return语句,最后一个表达式即返回值
if/else表达式有值,这个值就是跟在if或者else之后的表达式的值
object ConditionDemo {
def main(args: Array[String]){
var x = 1
//将if/else表达式值赋给变量y
val y = if (x > 0 ) 1 else -1
println(y)
//支持混合型表达式//返回类型是Anyval z = if(x>0) "success" else -1println(z)//如果缺失else,相当于if(x>2) 1 else ()//返回类型是AnyVal//如果进行类型判断和转换,可以使用://var b = if(m.isInstanceOf[Int]) m.asInstanceOf[Int] else 0val m = if(x>2) 1println(m)//在scala中,每个表达式都有值,scala中有个unit类,写作(),相当于Java中的 voidval n = if(x>2) 1 else ()println(n)//if 嵌套val k= if(x<0) 0 else if (x>=1) 1 else -1println(k)}
执行结果:
Scala的的条件表达式比较简洁,例如:
注意:1,每个表达式都有一个类型
2,条件表达式有值
3,混合型表达式,结果是Any或者AnyVal
4,scala没有switch语句
3.4. 块表达式
object BlockExpressionDemo {
def main(args: Array[String]){
var x = 0//在scala中,{}中可以包含一系列表达式,块中最后一个表达式的值就是块的值val res = { if (x < 0) { -1 } else if (x >= 1) { 1 } else { "error" }} println(res) val x0 = 1 val y0 = 1 val x1 = 2 val y1 = 2 val distance = { val dx = x1 - x0 val dy = y1 - y0 Math.sqrt(dx*dx+dy*dy) } println(distance)//块语句,最后一句是赋值语句,值是unit类型的 var res2 = { val dx = x1 - x0 val dy = y1 - y0 val res = Math.sqrt(dx*dx+dy*dy) }println(res2)}
}
执行结果:
注意:
1,块表达式的值是最后一个表达式的值
2,赋值语句的值是unit类型的,
3.5. 循环
在scala中有for循环和while循环,用for循环比较多
for循环语法结构:for (i <- 表达式/数组/集合)
while (条件语句){表达式}
do{ 表达式}while()
object ForDemo
def main(args: Array[String]){
//每次循环将区间的一个值赋给i
for( i <- 1 to 10)
println(i)
//for i <-数组val arr = Array("a", "b", "c")for( i <- arr) println(i)val s = "hello"for(i <- 0 until s.length){ println(s(i))}// 或者// for(c <- s)println(c)// 或者// for(i <- 0 until s.length){// println(s.charAt(i))//使用了隐式转换,把字符串变成一个ArrayCharSequence // }//高级for循环for(i <- 1 to 3 ; j<- 1 to 3 if i != j) print((10*i + j) + "") println()//for推导式,如果for循环的循环体以yeild开始,则该循环会构建出一个集合或者数组,每次迭代生成其中的一个值。val v= for ( i <- 1 to 10 )yield i*10 println (v)//也可以借助函数由初始数组生成一个新的数组 val arr1 = Array(1,2,3,4,5,6,7,8,9) val arr2 = arr.map(_*10) val arr3 = arr.filter(_%2==0)}
}
表达式
循环
语句
类型
数组
结果
条件
就是
混合型
混合
生成
分支
数据
程序
程序员
路线
学习
简洁
高级
代码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技企业和互联网企业
互联网金融公司科技
科技互联网公司logo
重庆科技学院互联网
成都玖崟互联网科技有限公司乐商圈怎么样
互联网之后的科技是什么
承德科技产业互联网发展
昭通云南众福互联网科技有限公司
现代互联网科技股
互联网科技有哪些公司
中国航天科技大学国际工业互联网
玉溪互联网科技怎么选
国大互联网教育科技有限公司工作
保险科技服务互联网营销体系
美国互联网科技实力
黑科技 体验场景 互联网大会
云南互联网科技学费
互联网科技品牌
北京品多多互联网科技有限公司
瑞安市蟠桃会互联网科技有限公司
互联网是第几次科技革命的成果
高科技互联网
中关村互联网科技集团
米客互联网科技
银川新华互联网科技学校地址
须眉科技是互联网公司吗
移动互联网年度科技创新
互联网科技与大数据专业
乌苏新华互联网科技做什么的
卓翼科技产业互联网合作