scala 学习笔记 之 循环

本文详细介绍了Scala中的循环语法,包括基本的for循环用法及其与Java的不同之处,如何使用to和until关键字来定义循环范围,以及如何在循环中加入条件判断等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于 for循环   差别 还是有点大    我们来看一下   scala中的for循环 写法   例如 我们想循环 1-10 

 for (i <- 1 to 10) {
      println(i)
    }
这样打印 1-10 
for中  1 to 10 代表 从1 循环到10   i<- 代表  用 i来接收 1-10   

其实这样的写法 要比 java更简洁

还有另一个关键词叫  until   我们来看一下   

 for (i <- 1 until  10) {
      println(i)
    }
这样打印出来的是 1-9   

那么现在 to  和  until 的区别 就在于   to 就像java 循环中的  <=      until就像java中的  <  


接下来是循环 集合  其实循环集合  我们在java中更多在用 foreach  也就是增强for循环   

在scala中 的 写法 其实和java很类似  

val list = List(1,2,3,4)
    for (i <- list) {
      println(i)
    }
这样就是循环list集合了     和java相比   只是把   :  换成了  <- 


在此说明  如果 循环的同时需要判断  那么我们可以这样写   

val list = List(1,2,3,4)
    for (i <- list if(i%2==0)) {
      println(i)
    }
在循环的同时  我们只循环 偶数  也就是 除以2取余数为0的  

这样打印出的就只有2和4了 


那么在此大家有没有什么疑问呢?  我看到这的时候 在想  这个if条件 是怎样做的  

是在循环中 不符合if条件的 是不参与循环了  还是继续参与循环  然后条件不成立就不执行代码块了呢   

我们来试一下   先打印 1-10的累加  

 var flag=true;
    var sum=0;
    val list = List(1,2,3,4,5,6,7,8,9,10)
    for (i <- list if (flag)) {
       sum+=i;
    }
    println(sum)

这样打印的是55  没问题   

接下来  我再试试  

 var flag=true;
    var sum=0;
    val list = List(1,2,3,4,5,6,7,8,9,10)
    for (i <- list if (flag)) {
        if(i==5)
          flag=false;
       sum+=i;
    }
    println(sum)

这样打印出来的是 15  

也就是 还是从1-10进行循环   每次循环 都先判断 flag  

其实scala可以使用这种方式跳出循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值