更新时间:2020-12-17 来源:黑马程序员 浏览量:

在Scala中,控制结构语句包括条件分支语句和循环语句。其中,条件分支语句有if语句、if...else语句、if...else if...else语句以及if...else嵌套语句;循环语句有for循环,while循环和do...while循环。条件分支语句和循环语句的语法格式具体如下。
1.条件分支语句
  if 语句的语法格式如下:
if (布尔表达式){
  如果布尔表达式为true,则执行该语句块
}if...else语句的语法格式如下:
if (布尔表达式){
  如果布尔表达式为true,则执行该语句块
} else{
  如果布尔表达式为false,则执行该语句块
}if...else if...else语句的语法格式如下:
if (布尔表达式1){
  如果布尔表达式1为true,则执行该语句块
} else if(布尔表达式2){
  如果布尔表达式2为true,则执行该语句块
} else if(布尔表达式3){
  如果布尔表达式3为true,则执行该语句块
} else {
  如if...else嵌套语句的语法格式如下:
if (布尔表达式1){
  如果布尔表达式1为true,则执行该语句块  if(布尔表达式2){
    如果布尔表达式2为true,则执行该语句块
  }
}else if (布尔表达式3){
  如果布尔表达式3为true,则执行该语句块  else if (布尔表达式4){
  如果布尔表达式4为true,则执行该语句块
  }
}else{
  如果以上条件都为false,则执行该语句块
}接下来,通过一个判断变量值的案例来演示条件分支语句的使用。假设现在要判断一个变量是否等于5,如果是5,则打印出“a的值为5”,如果不是5,则判断该变量是否等于10,如果是10,则打印出“a的值为10”,否则的话,打印出“无法判断a的值”,示例代码如下:
scala> var a=5
a: Int = 5
scala> if(a==5){
   | println("a的值为5")
   | }else if(a==10){
   | println("a的值为10")
   | }else{
   | println("无法判断a的值")
   | }
a的值为52.循环语句
  Scala中的for循环语句和Java中的for循环语句在语法上有较大的区别,对于Java的for循环,大家都应该很清楚了,这里就不作赘述。接下来,我们介绍一下Scala中的for循环语句。
for循环语句的语法格式如下:
for(变量<-表达式/数组/集合){
  循环语句;
}下面,我们通过从0循环到9,每循环一次则就将该值打印输出进行操作演示。在Scala语法中,我们可以使用“0 to 9”表示从0到9的范围,范围包含9,示例代码如下:
scala> for(i<-0 to 9){
   | print(i+" ")
   | }
0 1 2 3 4 5 6 7 8 9Scala在for循环语句中可以通过使用if判断语句过滤一些元素,多个过滤条件用分号分隔开。例如,输出0-9范围中大于5的偶数,示例代码如下:
scala> for(i<-0 to 9;if i%2==0;if i>5){
   | print(i+" ")
   | }
6 8Scala中的while循环语句和Java中的完全一样,只要表达式为true,循环体就会重复执行。Scala中while循环语句的语法格式如下:
  while(布尔表达式){
  循环语句;
  }下面,我们通过打印输出奇数的案例来演示while的使用。假设有一个变量x=1,判断是否小于10,如果是则打印输出,然后再进行+2运算。示例代码如下:
scala> var x = 1
x: Int = 1
scala> while(x < 10){
   | print(x+" ")
   | x += 2
   | }
1 3 5 7 9do...while循环语句的语法格式如下:
do{
  循环语句;
}while(布尔表达式)do...while循环语句与while语句主要区别是,do...while语句的循环语句至少执行一次。接下来,通过数字递增案例演示do...while的使用。假设一个变量x=10,先打印输出,然后再进行+1运算,再判断是否小于20,如果是则进行循环。示例代码如下:
scala> var x = 10
x: Int = 10
scala> do{
   | print(x+" ")
   | x += 1
   | }
   | while(x < 20)
11 12 13 14 15 16 17 18 19
猜你喜欢:
1024首播|39岁程序员逆袭记:不被年龄定义,AI浪潮里再迎春天
2025-10-241024程序员节丨10年同行,致敬用代码改变世界的你
2025-10-24【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19