Scala 学习入门到掌握-数据类型转换[3]

    技术2022-07-10  78

    示例一:char关键字

    object CharDemo { def main(args: Array[String]): Unit = { var char1: Char = 97 //当我们输出一个char类型是,他会输出该数字对应的字符(码值表 unicode)//unicode 码值表包括ascii println("char1=" + char1) // a //char 可以当做数字进行运行 var char2: Char = 'a' var num = 10 + char2 println("num=" + num) // 107 //原因和分析 //1. 当把一个计算的结果赋值一个变量,则编译器会进行类型转换及判断(即会看范围+类型) //2. 当把一个字面量赋值一个变量,则编译器会进行范围的判定 // var c2: Char = 'a' + 1 // var c3: Char = 97 + 1 // var c4: Char = 98 } }

    示例二:低精度转高精度

    object TypeDemo01 { def main(args: Array[String]): Unit = { var num1: Int = 10 //因为Int 是一个类,因此他的一个实例,就是可以使用很多方法 //在scala中,如果一个方法,没有形参,则可以省略() println(num1.toDouble + "\t" +num1.toString + 100.toDouble) var isPass = true // println(isPass.toString) sayHi() } def sayHi(): Unit = { println("say hi") } }

    示例三:高精度转低精度

    object TypeDemo02 { def main(args: Array[String]): Unit = { println(sayHello) var num = 1.2 //默认为double var num2 = 1.7f //这是float //num2 = num ,error ,修改num2 = num.toFloat } //比如开发中,我们有一个方法,就会异常中断,这时就可以返回Nothing //即当我们Nothing做返回值,就是明确说明该方法没有没有正常返回值 def sayHello: Nothing = { throw new Exception("抛出异常") } }

    示例四:Null关键字使用注意事项

    object UnitNullNothingDemo { def main(args: Array[String]): Unit = { val res = sayHello() println("res=" + res) //Null类只有一个实例对象,null,类似于Java中的null引用。null可以赋值给任意引用类型(AnyRef), //但是不能赋值给值类型(AnyVal: 比如 Int, Float, Char, Boolean, Long, Double, Byte, Short) val dog: Dog = null //错误 // val char1: Char = null // println("ok~~~") } //Unit等价于java的void,只有一个实例值() def sayHello(): Unit = { } } class Dog { }

    实例五:用标识符定义变量名

    object IdenDemo01 { def main(args: Array[String]): Unit = { //首字符为操作符(比如+ - * / ),后续字符也需跟操作符 ,至少一个 val ++ = "hello,world!" println(++) val -+*/ = 90 //ok println("res=" + -+*/) //看看编译器怎么处理这个问题 // ++ => $plus$plus //val +q = "abc" //error //用反引号`....`包括的任意字符串,即使是关键字(39个)也可以 var `true` = "hello,scala!" println("内容=" + `true`) val Int = 90.45 println("Int=" + Int) //不能使用_ 做标识符 // var _ = "jack" // println(_) } }
    Processed: 0.014, SQL: 9