9.14知识点

3.2.4 Scala的循环结构

1.循环变量

2.循环条件

3.循环变量自增

(1)while语句的语法格式:

while(满足条件){

        重复要做的事

}

(2)do...whilw语句的语法格式:

do{

        要做的事

}while(条件)

(3)while与do...while的区别

while是先判断条件,再决定是否执行;do...while是先执行一次代码,再判断条件。

(4)For语句的语法格式

for(循环变量 <- 数据集){

//循环体代码

}

例:

object TestFor {
  def main(args: Array[String]): Unit = {
//    var array = 1 to 5
//    for(i <- array){
//      println(i)
//    }
//    var array = 1 to 10
//    for(i <- array ){
//      if(i % 2 == 0){
//        println(i)
//      }
//    }
//    for(i <- 1 to 10; if (i%2==0)){
//      println(i)
//    }
//    for (i <- 1 to 10 by 2 ) {
//      println(i)
//    }
    var ret = for(i <- 1 to 4) yield {
  println(i)
  i*2
  }
    println(ret,ret(1))
  }

}

例:

object TestFor2 {
  def main(args: Array[String]): Unit = {
    for(i <- 1 to 9){
      for(j <- 1 to i){
        print(i+"*"+j +"=" + (i*j) +" ")
      }
      println()// 换行
    }
  }

}

(5)循环守卫格式:

for(var x <-区域; if条件) {}

例:

for(i <- 1 to 10;if(i % 2 == 0)){println(i)}

(6)循环步长格式:for(var x <-区域 by步长)

例:

1 to 5 by 2

(7)设置返回值用yield关键字

(8)break与continue

continue的作用:跳出本轮循环

例:

import scala.util.control.Breaks.{break, breakable}

object TestContinue {
  def main(args: Array[String]): Unit = {
    //遇到3的倍数就跳过
    for (i <- 1 to 10){
      breakable{
        if(i % 3 == 0)
          break//跳出本轮循环,相当于continue
        println(i)
      }
    }
  }

}

(9)class类

object TestClassCustomer {
  class Customer {
    var name:String = "张三"
    var sex:String = "男"

    def printHello(msg:String): Unit = {
      println(s"$msg,你好")
    }
  }

  def main(args: Array[String]): Unit = {
    var c = new Customer()
    var c2 = new Customer()
    println(c2.name)
    c2.printHello("小花")
  }

}
object TestClass {
  //1.定义一个类(模具)
  class Person(var name:String,var age:Int,var height:Double){
    //类是属性和方法的集合
    //属性
//    var name:String = "张三"
//    var age:Int = 18
//    var height:Double = 188

    //方法
    def sing(songname:String) = {
      println("你"+age+"岁的,身高"+height+"的对象"+name+",给你唱" + songname + ",....")
    }
  }

  def main(args: Array[String]): Unit = {
    //new 一个
    //2.用类生产一个对象
    var p1 = new Person("张三",18,180.0)
    var p2 = new Person("彭于晏",28,180.0)
    p1.sing("小情歌")
    p2.sing("夜曲")
  }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值