数据类型转换
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
结合两个代码片段?将用户输入的 Youtube url 转换为嵌入 url,然后将 iframe src 替换为转换后的 url