zoukankan      html  css  js  c++  java
  • JAVA 数据类型转换

    JAVA 数据类型转换

    1. 自动数据类型转换(隐式)

    • 特点:代码不需要进行特殊处理,自动完成。
    • 规则:数据范围从小到大

    测试代码

    // 左边是long类型,右边是默认的int类型,左右不一样
    // 一个等号代表赋值,将右侧的int常量,交给左侧的long变量进行存储
    // int --> long,符合了数据范围从小到大的要求
    // 这一行代码发生了自动类型转换。
    long num1 = 100;
    System.out.println(num1); // 100
    
    // 左边是double类型,右边是float类型,左右不一样
    // float --> double,符合从小到大的规则
    // 也发生了自动类型转换
    double num2 = 2.5F;
    System.out.println(num2); // 2.5
    
    // 左边是float类型,右边是long类型,左右不一样
    // long --> float,范围是float更大一些,符合从小到大的规则
    // 也发生了自动类型转换
    float num3 = 30L;
    System.out.println(num3); // 30.0
    

    运行结果:

    2. 强制数据类型转换

    • 强制类型转换
      1. 特点:代码需要进行特殊的格式处理,不能自动完成。
      2. 格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据;
    • 注意事项:
      1. 强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出。
    // 左边是int类型,右边是long类型,不一样
    // long --> int,不是从小到大
    // 不能发生自动类型转换!
    // 格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据;
    int num = (int) 100L;
    System.out.println(num);
    
    // long强制转换成为int类型(数据溢出)
    int test;
    int num2 = (int) 6000000000L;
    System.out.println(num2); // 1705032704
    
    // double --> int,强制类型转换(精度丢失)
    int num3 = (int) 3.99;
    System.out.println(num3); // 3,这并不是四舍五入,所有的小数位都会被舍弃掉
    

    运行结果:

  • 相关阅读:
    typedef的用法
    重定向在网络编程中的理解
    简答的理解C语言中的各种类型函数
    栈、堆、静态存储区
    标识符起作用范围----作用域、连接类型、存储期
    main函数的argc和argv
    基本数据类型
    数组与指针
    第一章 CLR的执行模型
    Revit 二次开发 沿弧形路径创建拉伸屋顶
  • 原文地址:https://www.cnblogs.com/wufuqin/p/13536356.html
Copyright © 2011-2022 走看看