Scala--2
2023-12-13 03:45:42
package scala02
object Scala07_typeCast {
def main(args: Array[String]): Unit = {
// TODO 隐式转换
// 自动转换
val b: Byte = 10
var i: Int = b + 10
val l: Long = b + 10 + 100L
val fl: Float = b + 10 + 100L + 10.5f
val d: Double = b + 10 + 100L + 10.5f + 20.00
println(d.getClass.getSimpleName)
// 把精度大的数值赋值给精度小的数据类型 会报错
// val d1:Float=3.5 ERROR
val f: Double = 3.5f
// byte short char 不会相互转换
// val b1:Char=b error
// byte short char可以计算 int
val b1: Byte = 10
val b2: Byte = 20
val i1: Int = b1 + b2
val s: Short = 100
val i2: Int = b1 + 2
// int和int相加
val i3: Int = 1000
val i4: Int = 1000
val i5 :Int =i3+i4
val i6: Int = b + s + 'a'
println(i6)
// TODO 强制类型转换
// 类型从大转小
val d1:Double=10.5
val l1: Long = d1.toLong
println(l1)
// 如果想完成四舍五入效果
(d1+0.5).
val l2:Long = (d1+0.5).toLong
println(l2)
// TODO 数值类型和STRING类型转换
val str:String="100"
val int: Int = str.toInt
println(int.getClass.getSimpleName)
val int1:Int=100
val string: String = int1.toString
println(string.getClass.getSimpleName)
// 不能跨级转换
// val int2:Int="100.5".toInt error
val int2:Int="100.5".toDouble.toInt
println(int2)
}
}
package scala03
object scala01_opera {
def main(args: Array[String]): Unit = {
// == 和 equals 作用一样 比较具体值大小
val s1: String = new String("aaa")
val s2:String=new String("aaa")
println(s1.equals(s2))
println(s1 == s2)
// true true
// 比较地址值
println(s1.eq(s2))
// 运算符本质就是方法
1+1
val i: Int = 1.+(1)
println(i)
// 调方法的时候.可以省略
// 当方法中的参数只有一个的时候 括号也可以省略
}
}
package scala04
object scala01_for_if_else {
def main(args: Array[String]): Unit = {
// 三元运算符
val age: Int = 10
val str1: String = if (age > 18) "成年" else "未成年"
}
}
package scala04
import scala.collection.parallel.immutable
object scala02_for {
def main(args: Array[String]): Unit = {
// for
// scala中的循环变量i 不能声明到for之外
for (i <- 0 to 5) {
println(i)
}
println("====================================")
// 不包含5
for (i <- 0 until (5)) {
println(i)
}
// 循环本质
// f范围内的元素放入一个集合中 ,遍历集合
val inclusive: Range.Inclusive = 0.to(5)
for (elem <- inclusive) {
println(elem)
}
// for 循环的补充语法
// 循环守卫
for (i <- 0 to 5) {
if (i < 3) {
println(i)
}
}
println("====================================")
for (i <- 0 to 5 if i < 3) {
println(i)
}
println("====================================")
// 循环步长
for (i <- 0 to 10 by 2) {
println(i)
}
for (i <- 0.0 to 10 by 0.5) {
println(i)
}
println("====================================")
// 嵌套循环
for (i <- 0 to 3){
for (j<-0to 4){
println(s"$i*$j=${i*j}\t")
}
println()
}
for (i<-0 to 3;j<-0 to 4){
println(s"$i*$j=${i*j}\t")
if (i==4){
println()
}
}
println("====================================")
// 引入变量
for (i<-0 to 5 ;a=1+i){
println(a)
}
// 循环返回值 yield 关键字进行标识
val unit: Unit = for (i <- 0 to 5) {
println(i)
//}
//val ints : immutable.IndexedSeq[Int]=for
}
// 倒序打印
for (i <-0 to 5 reverse){
println(i)
}
println("====================================")
for (i <-0 to 5 by -1){
println(i)
}
}
}
?
package scala04 import scala.collection.parallel.immutable object scala02_for { def main(args: Array[String]): Unit = { // for // scala中的循环变量i 不能声明到for之外 for (i <- 0 to 5) { println(i) } println("====================================") // 不包含5 for (i <- 0 until (5)) { println(i) } // 循环本质 // f范围内的元素放入一个集合中 ,遍历集合 val inclusive: Range.Inclusive = 0.to(5) for (elem <- inclusive) { println(elem) } // for 循环的补充语法 // 循环守卫 for (i <- 0 to 5) { if (i < 3) { println(i) } } println("====================================") for (i <- 0 to 5 if i < 3) { println(i) } println("====================================") // 循环步长 for (i <- 0 to 10 by 2) { println(i) } for (i <- 0.0 to 10 by 0.5) { println(i) } println("====================================") // 嵌套循环 for (i <- 0 to 3){ for (j<-0to 4){ println(s"$i*$j=${i*j}\t") } println() } for (i<-0 to 3;j<-0 to 4){ println(s"$i*$j=${i*j}\t") if (i==4){ println() } } println("====================================") // 引入变量 for (i<-0 to 5 ;a=1+i){ println(a) } // 循环返回值 yield 关键字进行标识 val unit: Unit = for (i <- 0 to 5) { println(i) //} //val ints : immutable.IndexedSeq[Int]=for } // 倒序打印 for (i <-0 to 5 reverse){ println(i) } println("====================================") for (i <-0 to 5 by -1){ println(i) } } }
?
package scala04 import scala.util.control.Breaks import scala.util.control.Breaks.{break, breakable} object scala04_break { def main(args: Array[String]): Unit = { //scala中使用breaks体系进行循环终止 Breaks.breakable( for (i <- 0 to 10) { if (i == 5) { Breaks.break() } println(i) } ) // 简化写法 breakable( for (i <-0 to 10){ if(i==5){ break() } println(i) } ) println("===================================================") // scala 中循环终端原理就是使用异常处理体系 try { for (i <- 0 to 10) { if (i == 5) { // 通过抛一场循环打断 throw new RuntimeException } println(i) } }catch { case e:RuntimeException => println ("循环终端") }finally { println("关闭资源....") } } }
文章来源:https://blog.csdn.net/weixin_74711824/article/details/134787317
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!