Scala循环语法

本文介绍Scala中的循环控制结构,包括for循环、while循环等,并详细解释了for循环的多种用法,如基本语法、守卫语法、步长设置、嵌套循环及yield表达式的使用。

Scala循环语法

if-else

 /**
     * java中流程控制:
     *     if-else
     *     for、while、do-while
     *     switch
     * scala中没有switch
     
     
     * 条件控制: if-else
     *     java中条件控制的用法:
     *         1、单分支: if
     *         2、双分支: if-else
     *         3、多分支: if-else if -.. -else
     *     scala中条件控制的用法:
     *         1、单分支: if
     *         2、双分支: if-else
     *         3、多分支: if-else if -.. -else
     *scala中if-else分支控制有返回值的,返回值是满足条件的分支的{ }的最后一个表达式的结果值
    
     
     * 块表达式: 由{ }包裹的一段代码成为块表达式
     * 块表达式有返回值,返回值是{ }中最后一个表达式的结果值
     * 除开while循环、for循环、do-while循环等特殊情况外,其他的{ }都可以看做块表达式
     */
    

for

/**
    * java中的for循环
    *     1、普通for: for(int i=0;i<=10;i++) {..}
    *     2、增强for循环: for(类型 变量: 数组/集合) {..}
    
    
    * scala中的for循环类似java的增强for循环
    * scala for循环中的两个重要方法:
    *      to:  start.to(end,step) 生成一个集合,该集合是左右闭合[1,10],step默认为1
    *      until: start.until(end,step)生成一个集合,该集合是左闭右开[1,10),step默认为1
    
    
    * for循环基本语法: for( 变量名 <- 数组/集合/表达式) {....}
    * 守卫的语法: for( 变量名 <- 数组/集合/表达式 if (布尔表达式)) {.. }  
                //每次循环赋值为变量名之后,还要if满足条件才会执行{ ..} 中的代码
    * 步长: for(变量名 <- start to/until (stop,step)) 
                // for(变量名 <- start to/until stop by step)
    * 嵌套for循环: for(变量名1 <- 数组/集合/表达式; 变量名2 <- 数组/集合/表达式;..) {...}
    * 嵌套for循环+守卫:  for(变量名1 <- 数组/集合/表达式 if(布尔表达式); 变量名2 <- 数组/集合/表达式 if(布尔表达式);..) {...}
    
    * yield表达式: for(变量名1 <- 数组/集合/表达式) yield {...}
    
    * 引入变量:  for(变量名1 <- 数组/集合/表达式 if(布尔表达式); 变量名3 =; 变量名2 <- start to 变量名3 if(布尔表达式);..)
    */

while

/**
   * scala while循环与do-while循环和java用法完全一样
   */

break与continue

/**
   * break: 跳出循环
   * continue: 跳出本次循环,开始下一次循环
   
   
   * scala中没有break与continue,通过抛出异常实现。
   
      
   * scala break功能实现:
   *     1、导入包: import scala.util.control.Breaks._
   *     2、通过breakable与break方法结合使用
   *     breakable套在while循环外面
   
   * scala continue功能实现:
   *     1、导入包: import scala.util.control.Breaks._
   *     2、通过breakable与break方法结合使用
   *     breakable套在while循环里面
   */
### Scala 编程语言基础语法教程 #### 变量声明与数据类型 Scala 支持两种类型的变量定义:`val` 和 `var`。`val` 定义不可变变量,而 `var` 定义可变变量。 ```scala // 不可变变量 val greeting: String = "Hello" // 可变变量 var count: Int = 0 count += 1 ``` 对于基本的数据类型,Scala 提供了丰富的支持,包括整数 (`Int`)、浮点数 (`Double`)、字符 (`Char`) 和布尔值 (`Boolean`) 等[^3]。 #### 函数定义 函数可以通过关键字 `def` 来定义,并可以接受参数列表以及返回类型说明: ```scala def add(x: Int, y: Int): Int = { x + y } ``` 匿名函数也可以通过简洁的方式创建并传递给其他方法作为参数: ```scala val multiply = (a: Int, b: Int) => a * b println(multiply(4, 5)) ``` #### 类与对象 面向对象编程是 Scala 的核心特性之一。类和对象的定义如下所示: ```scala class Person(name: String, age: Int) object ExampleObject { def sayHello(): Unit = println("Hello from object!") } ExampleObject.sayHello() ``` #### 控制结构 常见的控制流语句如条件表达式和循环也得到了良好的支持: ```scala if (condition) { // 执行某些操作 } else { // 处理另一种情况 } for (i <- 1 to 10) { println(i) } ``` #### 集合处理 集合框架提供了多种容器来存储多个元素,比如数组、列表、映射表等: ```scala val numbers = Array[Int](1, 2, 3, 4, 5) numbers.foreach(print) val map = Map("one" -> 1, "two" -> 2) println(map.get("one")) ``` 以上只是对 Scala 基础语法的一个简单介绍,更多高级特性和最佳实践可以在深入学习过程中逐步掌握[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值