Java中有两大数据类型,分别为基本数据类型和引用数据类型。数据类型的转换,分为自动转换和强制转换。自动转换是程序在执行过程中“悄然”进行的转换,不需要用户提前声明。下面我们就一起来看看java的基本数据类型有哪些?java数据类型转换规则吧。
一、基本数据类型
基本数据类型如下图所示。包含byte(位)、short(短整数)、int(整数)、long(长整数)、float(单精度)、double(双精度)、布尔(boolean)、char(字符)。
二、引用数据类型
引用数据类型包括类、接口、数组等。
类:类是一个模板,它描述一类对象的行为和状态。
接口:在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
数组:Java 语言中提供的数组是用来存储固定大小的同类型元素。
三、数据类型的转换规则
在Java中数据类型的转换有两种方法:
(1)自动类型转换。编译器自动完成类型转换,不需要在程序中编写代码。
(2)强制类型转换。强制编译器进行类型转换,必须在程序中编写代码。
由于基本数据类型中boolean类型不是数字型,所以基本数据类型的转换是除了boolean类型以外的其他7种类型之间的转换。
自动转换类型的情况如下:
(1)整数类型之间可以相互转换,如byte类型的数据可以赋值给short、int、long类型的变量;short、char类型的数据可以赋值给int、long类型的变量;int类型的数据可以赋值给long类型的变量。
(2)整数类型转换为float类型,如byte、char、short、int类型的数据可以赋值给float类型的变量。
(3)其他类型转换为double类型,如byte、char、short、int、long、float类型的数据可以赋值给double类型的变量。
自动类型转换规则:从存储范围小的类型到存储范围大的类型,即byte→short(char)→int→long→float→double。
☆注意☆ 在整数之间进行类型转换时,数值不发生改变,而将整数类型(尤其是比较大的整数类型)转换成小数类型时,由于存储方式的不同,可能存在数据精度的损失。
强制类型转换规则:从存储范围大的类型到存储范围小的类型,即double→float→long→int→short(char)→byte。
语法格式:type(value)
其中,type是要强制类型转换后的数据类型。例如:
int a = 123 byte b = byte(a)
总结:Java是面向对象语言,其概念为一切皆为对象,但基本数据类型算是个例外,基本数据类型大多是面向机器底层的类型,它是 “值” 而不是一个对象,它存放于“栈”中而不是存放于“堆”中,Java中的基本数据类型之间可以进行转换。数据之间的转换分为两种:自动(隐式)转换和强制(显式)转换。