Scala基础教程(四):if语句、循环语句、while语句

下面是一个典型的决策中IF...ELSE结构的一般形式使用在大多数的编程语言中:

if 语句:

if 语句包含一个布尔表达式后跟一个或多个语句。

语法:

一个 if 语句的语法:

if(Boolean_expression)
{
   // Statements will execute if the Boolean expression is true
}

如果布尔表达式的值为true,那么if语句里面的代码模块将被执行。如果不是这样,第一组码if语句结束后(右大括号后)将被执行。

示例:

object Test {
   def main(args: Array[String]) {
      var x = 10;
 
      if( x < 20 ){
         println("This is if statement");
      }
   }
}

这将产生以下输出结果:

C:/>scalac Test.scala
C:/>scala Test
This is if statement
 
C:/>

if...else语句:

if语句可以跟着一个可选的else语句,当 else 块执行时,布尔表达式条件是假的。

语法:

if...else的语法是:

if(Boolean_expression){
   //Executes when the Boolean expression is true
}else{
   //Executes when the Boolean expression is false
}

示例:

object Test {
   def main(args: Array[String]) {
      var x = 30;
 
      if( x < 20 ){
         println("This is if statement");
      }else{
         println("This is else statement");
      }
   }
}

这将产生以下结果:

C:/>scalac Test.scala
C:/>scala Test
This is else statement
 
C:/>

if...else if...else语句:

if语句可以跟着一个可选的else if ... else语句,这是非常有用的使用 if...else if如果测试各种条件声明。

当使用 if , else if , else 语句有几点要牢记。

·        if可以有零或一个else,它必须跟在else if后面。

·        一个if 可以有零到多个else if,并且它们必须在else之前。

·        一旦一个 else if 匹配成功,剩余的else if或else不会被测试匹配。

语法:

if...else if...else的语法是:

if(Boolean_expression 1){
   //Executes when the Boolean expression 1 is true
}else if(Boolean_expression 2){
   //Executes when the Boolean expression 2 is true
}else if(Boolean_expression 3){
   //Executes when the Boolean expression 3 is true
}else {
   //Executes when the none of the above condition is true.
}

示例:

object Test {
   def main(args: Array[String]) {
      var x = 30;
 
      if( x == 10 ){
         println("Value of X is 10");
      }else if( x == 20 ){
         println("Value of X is 20");
      }else if( x == 30 ){
         println("Value of X is 30");
      }else{
         println("This is else statement");
      }
   }
}

这将产生以下结果:

C:/>scalac Test.scala
C:/>scala Test
Value of X is 30
 
C:/>

if ... else语句嵌套:

它始终是合法的嵌套 if-else 语句,这意味着可以使用一个 if 或 else if 在另一个if 或else if 语句中。

语法:

语法嵌套 if...else 如下:

if(Boolean_expression 1){
   //Executes when the Boolean expression 1 is true
   if(Boolean_expression 2){
      //Executes when the Boolean expression 2 is true
   }
}

可以嵌套else if...else在if语句中,反之也可以。

示例:

object Test {
   def main(args: Array[String]) {
        var x = 30;
        var y = 10;
 
         if( x == 30 ){
            if( y == 10 ){
            println("X = 30 and Y = 10");
         }
      }
   }
}

这将产生以下结果:

C:/>scalac Test.scala
C:/>scala Test
X = 30 and Y = 10
 
C:/>

 

 

可能有一种情况,当需要多次执行代码的几个块。在一般情况下,语句顺序执行:在一个函数的第一条语句,首先执行,然后是第二个等等。

编程语言提供了各种控制结构,允许更多复杂的执行路径。

循环语句可以执行语句多次或多组,下面是在大多数编程语言和循环语句一般如下:

Scala编程语言提供了以下循环类型的处理循环需求。点击以下链接查看其详细信息。

循环类型

描述

while循环

重复声明语句或一组,当给定的条件为真。它测试条件执行循环体前。

do...while循环

像一个while语句,不同之处在于它测试条件在循环体的结尾

for循环

执行语句多次序列并简写管理循环变量的代码。

循环控制语句:

循环控制语句改变其正常的顺序执行。当执行离开一个范围,在该范围内创建的所有对象自动被销毁。但是Scala不支持break或continue语句,想要像Java,但从Scala2.8版本开始,有一种方法可以打退出循环。点击以下链接查看详细信息。

控制语句

描述

break语句

终止循环语句并将执行立刻循环的下面语句。

无限循环:

一个循环变成无限循环,如果条件永远不会为假。如果使用Scala,while循环是实现无限循环的最佳方式,如下:

object Test {
   def main(args: Array[String]) {
      var a = 10;
      // An infinite loop.
      while( true ){
         println( "Value of a: " + a );
      }
   }
}

如果将上面的代码执行,它会在无限循环可以通过按Ctrl+ C键终止。

 

 

while 循环语句多次执行,只要给定的条件为真执行目标语句。

语法:

Scala while循环的语法是:

while(condition){
   statement(s);
}

在这里,声明可以是单个语句或语句块。所述条件可以是任何表达式,真值是任何非零值。当条件为true,则循环迭代。当条件为faklse,则程序控制进到紧接在循环之后的行。

流程图:

在这里,while循环的关键点是循环可能不会永远运行。当条件测试结果为false,循环体将跳过while循环后的第一个语句执行。

示例:

object Test {
   def main(args: Array[String]) {
      // Local variable declaration:
      var a = 10;
 
      // while loop execution
      while( a < 20 ){
         println( "Value of a: " + a );
         a = a + 1;
      }
   }
}

当上述代码被编译和执行时,它产生了以下结果:

C:/>scalac Test.scala
C:/>scala Test
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19
 
C:/>

from: http://www.yiibai.com/scala/scala_basic_syntax.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值