Scala内建控制结构

一、条件表达式

(一)语法格式

if (条件) 值1 else 值2

(二)执行情况

(三)案例演示

任务1、根据输入值的不同进行判断

 当然也可以在一个表达式中进行多次判断
在这里插入图片描述

 

务2、编写Scala程序,判断奇偶性

  • 打开Scala项目ScalaDemo2022,创建net.hw.structure包,在包里创建Example01对象

 

package net.hw.structure

import scala.io.StdIn

object Example01 {
  def main(args: Array[String]): Unit = {
    print("n = ")
    val n = StdIn.readLine().toInt
    if (n % 2 == 0) {
      println(n.toString + "是偶数")
    } else {
      println(n.toString + "是奇数")
    }
  }
}
运行程序,查看结果

 利用if结构具有返回值的特性,改写程序

运行程序,查看结果

 

 二、块表达式

(三)案例演示

  • 语句块最后一句的值就是整个块表达式的结果
  • 语句块最后一句没有执行结果,那么块表达式结果就是Unit

 

 

三、for循环

(一)单重for循环

1、案例演示

任务1:输出1到10

  • 两种方式实现
  • 示将集合或数组中的每一个值循环赋给一个变量

 

 用Java语言完成任务

 打印字符直角三角形

 利用map函数产生每行星号构成的向量,然后利用foreach函数循环输出

 利用双重循环与流间变量

 

任务2、遍历字符串,输出每个字符

  • 方法一、按索引取字符串的每个字符
    在这里插入图片描述

 方法二:将字符串看作一个由多个字符组成的集合
在这里插入图片描述

 

 

任务3、计算 1 + 2 + 3 + … + 100

  • 注意sum必须定义为var型变量
    在这里插入图片描述
  • 任务4、输出列表内的偶数

     采用两种方式来实现

  •  采用Java语言实现

  •  

    2、案例演示

    任务1、打印九九表

    方法一、采用双重循环来实现

  • 在项目ScalaDemo2022里创建Example02对象

  •  

    package net.hw.structure

    /**
      * 功能:双重循环打印九九表
      * 作者:华卫
      * 日期:2022年3月6日
      */
    object Example02 {
      def main(args: Array[String]): Unit = {
        for (i <- 1 to 9) {
          for (j <- 1 to i)
            print(i.toString + "×" + j + "=" + (i * j) + "\t")
          println()
        }
      }
    }
    运行程序,查看结果

  •  

    方法二、采用单重循环来实现

  • 在项目ScalaDemo2022里创建Example03对象

 

package net.hw.structure

/**
  * 功能:单重循环打印九九表
  * 作者:华卫
  * 日期:2022年3月6日
  */
object Example03 {
  def main(args: Array[String]): Unit = {
    for (i <- 1 to 9; j <- 1 to i) {
      print(i.toString + "×" + j + "=" + (i * j) + "\t")
      if (i == j) println()
    }
  }
}
运行程序,查看结果

 

方法三、采用单重循环与流间变量绑定来实现

  • 在项目ScalaDemo2022里创建Example04对象
  • 在for循环头里sep = if (i == j) "\r\n" else "\t"就是流间变量绑定

 

package net.hw.structure

/**
  * 功能:单重循环与流间变量绑定打印九九表
  * 作者:华卫
  * 日期:2022年03月06日
  */
object Example04 {
  def main(args: Array[String]): Unit = {
    for (i <- 1 to 9; j <- 1 to i; sep = if (i == j) "\r\n" else "\t")
      print(i.toString + "×" + j + "=" + (i * j) + sep)
  }
}
运行程序,查看结果

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值