scala基础03

for ,while,do…while## 标题

  1. to和until 的用法(不带步长,带步长区别)
    /**

    • to和until
    • 例:
    • 1 to 10 返回1到10的Range数组,包含10
    • 1 until 10 返回1到10 Range数组 ,不包含10
      */

    println(1 to 10 )//打印 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
    println(1.to(10))//与上面等价,打印 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

    println(1 to (10 ,2))//步长为2,从1开始打印 ,1,3,5,7,9
    println(1.to(10, 2))

    println(1 until 10 ) //不包含最后一个数,打印 1,2,3,4,5,6,7,8,9
    println(1.until(10))//与上面等价

println(1 until (10 ,3 ))//步长为2,从1开始打印,打印1,4,7

  1. 创建for循环
    /**

    • for 循环

    */
    for( i <- 1 to 10 ){
    println(i)
    }
    结果:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

  2. 创建多层for循环
    //可以分号隔开,写入多个list赋值的变量,构成多层for循环
    //scala中 不能写count++ count-- 只能写count+
    var count = 0;
    for(i <- 1 to 10; j <- 1 until 10){
    println(“i=”+ i +", j="+j)
    count += 1
    }
    println(count);

    //例子: 打印小九九
    for(i <- 1 until 10 ;j <- 1 until 10){
    if(i>=j){
    print(i +" * " + j + " = “+ i*j+” ")

    }
    if(i==j ){
    println()
    }

    }
    结果:

1*1=1	
2*1=2	2*2=4	
3*1=3	3*2=6	3*3=9	
4*1=4	4*2=8	4*3=12	4*4=16	
5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	
6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	
7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	
8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	
9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81	
  1. for循环中可以加条件判断,可以使用分号隔开,也可以不使用分号
    //可以在for循环中加入条件判断
    for(i<- 1 to 10 ;if (i%2) == 0 ;if (i == 4) ){
    println(i)
    }

  2. scala中不能使用count++,count—只能使用count = count+1 ,count += 1

  3. for循环用yield 关键字返回一个集合

  4. while循环,while(){},do {}while()

    //将for中的符合条件的元素通过yield关键字返回成一个集合
    val list = for(i <- 1 to 10 ; if(i > 5 )) yield i
    println(list)
    Vector(52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100)
    for( w <- list ){
    println(w)
    }

/**
* while 循环
*/
var index = 0
while(index < 100 ){
println(“第”+index+“次while 循环”)
index += 1
}
index = 0
do{
index +=1
println(“第”+index+“次do while 循环”)
}while(index <100 )

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值