网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文
当前位置:书香门第 > 计算机 > java语言

Java如何完成数据类型转换

栏目: java语言 / 发布于: / 人气:1.96W

在写程序的时候经常遇到数据的运算,在数据运算中又经常遇到不同类型的数据之间进行转换,Java 如何完成数据类型转换?下面就一起来了解看看吧!

Java如何完成数据类型转换

  Java数据类型转换分为两种:

1、自动类型提升;

2、强制类型转换;

  先来说说第一种,自动类型提升。

发生条件:

两种不同的基本数据类型之间进行算术运算,一个操作数的数据类型会自行提升到与另操作数的`数据类型;

比如:a + b;

a是double型,b是int型,那么上面的表达式结果是一个什么类型呢?

先来看看不同数据类型计算自动提升的规则:

如果a或者b有一个为double,则另一个也转换为double,如果不满足则进行如下判断;

如果a或者b有一个为float,则另一个也转换为float,如果不满足则进行如下判断;

如果a或者b有一个为long,则另一个也转换为long;

如果以上都不满足则a和b都转换为int进行计算;

进行转换的规则如下:

因为不同数据类型所占用的位数不同,所以在进行数据类型的转换时可能会有数据丢失,上图中实线表示无数据丢失,虚线为有数据丢失。

  第二种、强制类型转换;

自动类型提升是一种数据类型自动变为另一种数据类型,强制类型转换则是人为的用进行数据类型改变。

强制类型转换的语法格式是:

type2 变量2 =(type1)变量1;

上面的小括号就是强制类型转换。

例如:

double a = 123.456;

int b = (int)a;

a的值为123,强制类型转换是把小数部分抹去,把整数部分赋值给目标变量。

注意:在进行数据类型强制转换的时候,如果目标数据类型无法容纳转换后的值那么就会出错。比如:(byte)300,结果绝对不是你想要的,所以要避免这种强制类型转换。