数据类型转换

Posted wurengen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型转换相关的知识,希望对你有一定的参考价值。

为什么要数据类型转换?

Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。

数据类型转换的种类

自动类型转换(隐式):

  • 特点:代码不需要我们进行特殊处理,自动完成
  • 规则:将数据取值范围小的类型 自动提升为 数据取值范围大的类型 。

案例演示:

package com.wu.day02;

public class Demo1DataType {
    public static void main(String[] args) {
        System.out.println(1024);//默认类型为int
        System.out.println(3.24);//默认类型是double
        // 左边是long类型,右边是默认的int类型,左右不一样
        long number = 1024;// int ---> long 符合了数据范围,从小到大的要求。发生了自动类型转换
        System.out.println(number);//100
        double number2 = 3.14F;  // float -->double。符合了数据范围,从小到大的要求。
        float number3 = 332L; // long ---> float .符合了数据范围,从小到大的要求。
        
    }
}

强制类型转换(显示)

  • 特点:将 取值范围大的类型 强制转换成 取值范围小的类型。代码需要进行特殊的格式处理,不能自动完成。:
  • 格式:范围小的类型  范围小的变量名称  = (范围小的类型)原本范围大的数据;

代码演示:

 

package com.wu.day02;

public class Demo2DataType {
    public static void main(String[] args) {
        // 左边是int类型,右边是long类型 int---> long 不能自动完成.
        // 格式: int类型  变量名称 = (int类型)long类型;
        int number1 = (int) 6565L;
        float number2 = (float) 3.14;
        long number3 = (long) 2.314F;

    }
}

类型转换注意事项:

  •  强制类型转换一般不推荐使用,因为有可能发生数据溢出,精度损失。
        int number1 = (int) 656513213234234356L;
        System.out.println(number1);//数据溢出。19743732
        long number3 = (long) 2.314F;
        System.out.println(number3);//2 精度损失
  • byte、short、char都可以发生数学运算。 运算时会先提升为 int ,在进行计算。
  • 布尔类型,不能发生数据类型转换
  • 在char类型和int类型计算的过程中,char类型的字符先查询编码表,得到对应的int数字,再和int类型计算。char类型提升 为了int类型。

 

 

 

 

---

以上是关于数据类型转换的主要内容,如果未能解决你的问题,请参考以下文章

JS的数据类型判断函数数组对象结构处理日期转换函数,浏览器类型判断函数合集

sql 日期转换代码片段 - Dato,120,konvertere

HTML Bookmarklet模板:将任何JavaScript代码片段转换为Bookmarklet

对象不能从 DBNull 转换为其他类型。

java中把json怎么转换成数组?

结合两个代码片段?将用户输入的 Youtube url 转换为嵌入 url,然后将 iframe src 替换为转换后的 url