1.scala组合表达式之嵌套

"C:\Program Files\Java\jdk1.8.0_181\bin\java.exe" "-javaagent:C:\Users\Lenovo\AppData\Roaming\JetBrains\IntelliJ IDEA Community Edition 2018.2.2\lib\idea_rt.jar=60589:C:\Users\Lenovo\AppData\Roaming\JetBrains\IntelliJ IDEA Community Edition 2018.2.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_181\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\rt.jar;E:\spark\scala-trainging\out\production\scala-trainging;D:\sacla\scala\lib\scala-library.jar;D:\sacla\scala\lib\scala-parser-combinators_2.12-1.0.7.jar;D:\sacla\scala\lib\scala-reflect.jar;D:\sacla\scala\lib\scala-swing_2.12-2.0.0.jar;D:\sacla\scala\lib\scala-xml_2.12-1.0.6.jar;C:\Users\Lenovo\Desktop\jar包\mysql-connector-java-5.1.6-bin.jar" main.zuhe1
operating hours9_20
true

Process finished with exit code 0

 

 

 

 

 

 

 

 

 

 

 

具体的显示代码结果如下所示:

package main

object zuhe1 {
  def main(args: Array[String]): Unit = {
    val activity ="sim" //会自动类型推断为字符串类型
    val hour=10
    val isopen={
      if(activity=="sim"||activity=="ice"){ //这里if里面的条件表达式为true
        val opens=9
        val closes=20
        println("operating hours"+opens+"_"+closes)
        if(hour>=opens&&hour<=closes){ //这里10>9以及&&10<20都是成立的。
          true  //因此验证过后的结果是true,此时的这个true决定了isopen的最终数值
          /**
            * 概念理解过程如下所示:val  c={a>b?:true:false}以上是类似于三目运算嵌套的一个结果
            * 实际过程可以理解为如下表达式
            * val c={true?(hour>open&&hour<=closes?:true(第13行的true):false):false}
            * 因此在类型推断的结果上是进行如下操作的,
            * 真正的最终完成输出的结果类型决定了isopen的结果类型。、
            * 
            * 推理过程如上所示:
            */
        }else{
          false
        }
      }else{
        false
      }
    }
    println(isopen)//最终根据IDE的编码提示结果为boolean.//输出的最终结果是true
    /**
      * 布尔操作符,在其两边表达式相等的时候才会返回true。像println这样的表达式并不会产生结果,因此组合表达式也并非必须
      * 产生结果。
      */
  }
}

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值