"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这样的表达式并不会产生结果,因此组合表达式也并非必须
* 产生结果。
*/
}
}