Scala语言学习-03-IF和FOR返回值测试

一、测试环境

名称版本
操作系统Red Hat Enterprise Linux Server release 7.9 (Maipo)
CPU12th Gen Intel® Core™ i7-12700H
内存5G
JDK1.8.0_171
Scala3.1.2

二、想法

今天学习Scala语言的时候发现IF判断和FOR循环有返回值,当然while也有。只不过返回值为Unit,Scala和之前学习的C语言、Python不一样在这一点上,很有趣记录一下,我在代码上写了注释说明,方便大家理解。

三、源码

import scala.io.{Source, StdIn}

object TestScala_If_For {
    def main(args: Array[String]): Unit = {
        //scala语言中if和for循环是有返回值的
    
        //if测试
        TestIfReturn()
        
        //for测试
        TestForReturn()

    }
    
    def TestForReturn(): Unit = {
        //如果没有加yield i这一段代码,例如循环体内只放一个i,是没有返回值的
        //因为Scala并不知道你是想返回1到10之间的哪个数
        println("start Scala For Test!!!")
        val Result = for(i <- 1 to 10) yield i
        println(Result)
    }
    
    def TestIfReturn(): Unit = {
        println("start Scala If Test!!!")
        println("Please Input A Int Value :")
        val TestNum: Int = StdIn.readInt()
        val ReturnStringVal: String = "Younger!!!"
    
        //Any为所有类型的父类,
        //if的返回值为分支条件中最后的一个值
        //例如:
        //当TestNum小于20时,返回值是一个字符串类型。
        //当TestNum小于40时,返回值是一个整数类型。
        val Result: Any = if (TestNum <= 20){
            ReturnStringVal
        }
        else if (TestNum <= 40){
            TestNum
        }
        else{
            "older man!!!"
        }
    
        println(Result)
    }
}

四、编译

[root@node0 src]# scalac TestScala_If_For.scala -d ../test/

五、测试结果

[root@node0 test]# scala TestScala_If_For
start Scala If Test!!!
Please Input A Int Value :
10
Younger!!!
start Scala For Test!!!
Vector(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
[root@node0 test]# 
[root@node0 test]# 
[root@node0 test]# 
[root@node0 test]# scala TestScala_If_For
start Scala If Test!!!
Please Input A Int Value :
30
30
start Scala For Test!!!
Vector(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
[root@node0 test]# 
[root@node0 test]# 
[root@node0 test]# 
[root@node0 test]# scala TestScala_If_For
start Scala If Test!!!
Please Input A Int Value :
80
older man!!!
start Scala For Test!!!
Vector(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值