Java语言的基本数据类型
2013-06-22 22:47
260 查看
Java语言的基本数据类型共八种,也可称为内置类型,分别具有对应的包装类。字符型char,布尔型boolean以及数值型byte、short、int、long、float、double。数值型又可以分为整形(byte、short、int(默认类型)、long)与浮点型(float、double(默认类型))。它们的取值范围是固定的,不会随着机器硬件环境或软件环境的改变而改变。固定的存储空间正是Java可移植性、跨平台的原因之一。以上八种数据类型不存在“引用”的概念,其都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间中,而复杂数据类型,其“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上。
整数类型
byte 包装类 java.lang.Byte 其占1个字节 8位 默认初始值 0 取值范围 -2^(8-1)~2^(8-1)-1
short 包装类 java.lang.Short 其占2个字节 16位 默认初始值 0 取值范围 -2^(16-1)~2^(16-1)-1
int 包装类 java.lang.Integer 其占4个字节 32位 默认初始值 0 取值范围 -2^(32-1)~2^(32-1)-1 默认类型
long 包装类 java.lang.Long 其占8个字节 64位 默认初始值 0 取值范围 -2^(64-1)~2^(64-1)-1
实数类型
float 包装类 java.lang.Float 其占4个字节 32位 默认初始值 0.0
double 包装类 java.lang.Double 其占8个字节 64位 默认初始值 0.0 默认类型
字符型
char 包装类 java.lang.Character 其占2个字节 16位 默认初始值空格字符 取值范围 0 ~ 2^(16-1)-1
布尔类型
boolean 包装类 java.lang.Boolean 其占一位0或1 默认初始值false 取值 true false
当变量在方法中得初始化,在类中当属性时可以不用。
基本类型数据转型分为两种:自动转型和强制转型
自动转型:当一个数据类型较“小”的数据和一个数据类型较”大“的数据一起运行时,系统会自动将较”小“的转换为较“大”的类型。
在方法的调用中,如果实际参数类型较“小“,而函数的形参比较”大“时,除非有匹配的方法,否则会直接使用较”大”的形参函数进行使用。因为实参类型可自动的转为函数形参类型。
强制装换:恰恰相反,将数据类型”大“的转换为“小”的时候,用强制转换不过这时有可能会出现精度损失。转换方法例如int num = (nt)3.14 ; 后num为3;不四舍五入
byte short (char) int (默认类型) long float double 自动转换类型顺序 强制则反过来 。
常见问题:
各种基本数据类型进行混合运算,结果会是表达能力最强的那种。如:int和long运算,结果是long,整型和浮点型运算结果是浮点型。特殊的一点是:只要类型比int小(如char、byte、short),那么在运算之前,这些值会自动地转换成int。
例子:
byte b1 = 12;
byte b2 = b1 + 1; //在编译时出错了!因为b1+1已经是int型了!切记! 系统自动转型了! (byte) (b + 1)
float f = 1.3 ; //错的 因为 默认是 double类型 而且double类型高于float类型 解决的办法就是 float f = 1.3f; 或者是强转成float型。
long l = 1L ; long l1 = 2l;
整数类型
byte 包装类 java.lang.Byte 其占1个字节 8位 默认初始值 0 取值范围 -2^(8-1)~2^(8-1)-1
short 包装类 java.lang.Short 其占2个字节 16位 默认初始值 0 取值范围 -2^(16-1)~2^(16-1)-1
int 包装类 java.lang.Integer 其占4个字节 32位 默认初始值 0 取值范围 -2^(32-1)~2^(32-1)-1 默认类型
long 包装类 java.lang.Long 其占8个字节 64位 默认初始值 0 取值范围 -2^(64-1)~2^(64-1)-1
实数类型
float 包装类 java.lang.Float 其占4个字节 32位 默认初始值 0.0
double 包装类 java.lang.Double 其占8个字节 64位 默认初始值 0.0 默认类型
字符型
char 包装类 java.lang.Character 其占2个字节 16位 默认初始值空格字符 取值范围 0 ~ 2^(16-1)-1
布尔类型
boolean 包装类 java.lang.Boolean 其占一位0或1 默认初始值false 取值 true false
当变量在方法中得初始化,在类中当属性时可以不用。
基本类型数据转型分为两种:自动转型和强制转型
自动转型:当一个数据类型较“小”的数据和一个数据类型较”大“的数据一起运行时,系统会自动将较”小“的转换为较“大”的类型。
在方法的调用中,如果实际参数类型较“小“,而函数的形参比较”大“时,除非有匹配的方法,否则会直接使用较”大”的形参函数进行使用。因为实参类型可自动的转为函数形参类型。
强制装换:恰恰相反,将数据类型”大“的转换为“小”的时候,用强制转换不过这时有可能会出现精度损失。转换方法例如int num = (nt)3.14 ; 后num为3;不四舍五入
byte short (char) int (默认类型) long float double 自动转换类型顺序 强制则反过来 。
常见问题:
各种基本数据类型进行混合运算,结果会是表达能力最强的那种。如:int和long运算,结果是long,整型和浮点型运算结果是浮点型。特殊的一点是:只要类型比int小(如char、byte、short),那么在运算之前,这些值会自动地转换成int。
例子:
byte b1 = 12;
byte b2 = b1 + 1; //在编译时出错了!因为b1+1已经是int型了!切记! 系统自动转型了! (byte) (b + 1)
float f = 1.3 ; //错的 因为 默认是 double类型 而且double类型高于float类型 解决的办法就是 float f = 1.3f; 或者是强转成float型。
long l = 1L ; long l1 = 2l;
相关文章推荐
- 02.java语言基础-参数的值传递机制-基本数据类型
- 第二章 JAVA语言基本语法————数据类型之间的转换
- java语言-基础(参数的值传递机制(基本数据类型与引用数据类型))
- Java语言基础之基本数据类型与数据类型转换
- Java语言基本数据类型、转换及其封装
- java语言中的基本数据类型
- java,c,c++ 语言之间基本数据类型的比较
- java语言基础——3基本数据类型
- java语言基本数据类型
- java语言基础(82)——操作基本数据类型的流
- JAVA基本数据类型与其他语言数据类型之间的转换方法
- 从Android/Java基础之上学习C/C++语言(1)--C语言基础--基本数据类型
- java语言基础【java的基本数据类型】
- Java第一课 Java的一些基本概念,Java的起源、为什么我们要学习Java语言,Java跨平台原理剖析;Java环境变量的配置,初学者常犯的问题,Java语言的基本数据类型和Java的语句。
- java,c,c++ 语言之间基本数据类型的比较
- (一)语言基础——Java数据类型和基本运算符
- 第二章Java语言基本语法————数据类型
- Java语言基础1——基本数据类型
- 浅谈Java语言中八种基本数据类型
- C语言与JAVA语言中基本数据类型长度的比较