类型转换时将一个值从一种类型更改为另一种类型的过程.
从低精度数据类型向高精度数据类型转换, 则永远不会溢出, 并且总是成功的.
而把高精度数据类型向低精度数据类型转换则必然会有信息丢失, 有可能失败.
数据类型转换有两种方式, 隐式类型转换和显式类型转换 (//,/* 这两个符号代表注释):
隐式类型转换:
从低级类型向高级类型的转换, 系统将自动执行, 程序员无需进行任何操作, 这种类型的转换称为隐式转换.
当然不包括逻辑类型和字符类型, 基本数据类型按精度从低到高排列为 byte<short<int<long<float<double.
显式类型转换:
当把高精度的变量值赋值给低精度的变量时, 必须使用显示类型转换 (又称强制类型转换).
- public class test{ // 创建类
- public static void main(String[] args){ // 主方法
- int number1 = 1; // 声明 int 型变量并赋值为 1
- float number2 = number1; // 声明 float 型变量并赋值为 number1 这里用到了隐式类型转换
- int number3 = (int)12.34; // 这里用到了显式类型转换, 输出值为 12
- }
- }
PS: 当把整数做类型转换的时候, 可以超出要转换类型的取值范围, 必须进行强制类型转换.(如: byte b = (byte)129; 这里 byte 等于 - 127, 具体原因, 请自行百度理解)
<java 基础 > 数据类型转换 <5>
来源: http://www.bubuko.com/infodetail-2591244.html