• Scala类型转换


    目录

    Java (隐式类型转换)

    Scala数值类型自动转换


    Java (隐式类型转换)

    原则:精度小的类型自动转换为精度大的数值类型,这 个就是自动类型转换(隐式转换)。有它对应的类型就输出什么类型,如果没有它的类型,就会遵循从精度小的数值类型自动转换为精度大的数值类型。

    1. package chapter01;
    2. public class TestDataTypeConversion {
    3. public static void main(String[] args) {
    4. byte b = 10;
    5. test(b);
    6. char c = 'a';
    7. test(c);
    8. //精度小的类型自动转换为精度大的数值类型,这个就是自动类型转换(隐式转换)
    9. }
    10. public static void test(byte b){
    11. System.out.println("bbb");
    12. }
    13. public static void test(short s){
    14. System.out.println("sss");
    15. }
    16. public static void test(char c){
    17. System.out.println("ccc");
    18. }
    19. public static void test(int i){
    20. System.out.println("iii");
    21. }
    22. }

    代码测试

    Scala数值类型自动转换

    char类型只能转换成int类型

    原则:当 Scala 程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数值类型,这 个就是自动类型转换(隐式转换)。数据类型按精度(容量)大小排序为:

     基本说明:

    (1)自动提升原则:有多种类型的数据混合运算时,系统首先自动将所有数据转换成精度大的那种数据类型,然后再进行计算。

    (2)把精度大的数值类型赋值给精度小的数值类型时,就会报错,反之就会进行自动类型转换。

    (3)(byte,short)和char之间不会相互自动转换。

    (4)byte,short,char他们三者可以计算,在计算时首先转换为int类型。

    运行代码

    1. package chapter02
    2. object Test_08DataTypeConversion {
    3. def main(args: Array[String]): Unit = {
    4. //(1)自动提升原则:有多种类型的数据混合运算时,系统首先自动将所有数据转换成
    5. // 精度大的那种数据类型,然后再进行计算。
    6. val a1:Byte = 10
    7. val b1:Long = 2353L
    8. val result1 :Long=(a1+b1)
    9. val result2 :Int =(a1+b1.toInt) //强制数值类型转换
    10. //(2)把精度大的数值类型赋值给精度小的数值类型时,就会报错(除非强制数值类型转换),反之就会进行自动
    11. //类型转换。
    12. val a2:Byte =8
    13. val b2:Int =a2
    14. // val c2:Byte =b2 //会报错的,除非强制数值类型转换
    15. //(3)(byte,short)和 char 之间不会相互自动转换。
    16. val a3:Byte =9
    17. val b3:Char ='a'
    18. //val c3:Byte =b3 //虽然IDEA没有报错,但是它是错误的,除非强制数值类型转换
    19. val c3:Int = b3
    20. println(c3)
    21. //(4)byte,short,char 他们三者可以计算,在计算时首先转换为 int 类型。
    22. val a4:Byte =12
    23. val b4:Short=25
    24. val c4:Char ='c'
    25. val result4:Int=a4+b4
    26. val result44:Int=a4+b4+c4
    27. println(result44)
    28. }
    29. }

    测试截图

     

  • 相关阅读:
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    并发数计算方法
    完全彻底的卸载MySQL5.7.35
    Python 语音识别系列-实战学习之初识语音识别
    钢化玻璃CE认证EN 12150
    深度解析C语言文件操作以及常见问题
    六十分之八——糟糕的八月
    【算法|贪心算法系列No.2】leetcode2208. 将数组和减半的最少操作次数
    java毕业生设计在线选课系统设计计算机源码+系统+mysql+调试部署+lw
    PWMADC重要参数
  • 原文地址:https://blog.csdn.net/qq_70085330/article/details/126093168