Java数据类型
在第一部分,就已经提到了Java的基本数据类型。今天,我来把这方面的内容详细的归纳出来。
第一个问题,什么是数据类型。这个问题,听上去很简单,可是,我想大部分人可能都没有仔细考虑过,恐怕也很难一下给出明确的回答。那么,究竟什么是数据类型呢?其实,概括的说,数据类型可以看做是标识和操作的集合。无论是什么样的数据类型,其实都是由一些抽象的标识来表示的,比如int ,又如 bollean;这里,int 和bollean本身是合法的标识符,但它们代表了整数和布尔这两种数据类型;同时,每种数据类型还对应着特定的操作。还是前面的例子,对于整形而言,它支持的操作有加减乘除等,而对于布尔型,它支持的操作就和整形不尽相同,例如,不能对布尔类型进行加减乘除的操作,而只能比较。所以,在学习数据类型这个部分的时候,可以从标识和操作两个方面来理解。这可以看做是一个普遍规律,就是很复杂的类型也是如此。
接着,我们来看看Java的类型。概括而言,Java支持的数据类型可以分为两种:基本数据类型和结构数据类型。基本数据类型就是在第一部分中提到的,共有8种。而结构数据类型,则是指 Array (数组),class(类) 和 interface(接口)等。结构数据类型是基本数据类型和/或(and/or)其它结构数据类型的组合。
最后,在学习Java的时候,一定要把一个观念牢记心中:即:Java是强类型的语言。这句话的意思是,凡是使用到的变量,在编译之前一定要被显示的声明。
下面,我们来详细介绍这些数据类型:
数据类型 |
长度 |
取值范围 |
操作 |
典型用法 |
byte |
8 bits |
-128~127 |
|
常用于I/O操作 |
short |
16 bits |
-32768~32767 |
|
|
integer |
32 bits |
-2147483648~2147483647 |
|
|
long |
64 bits |
不用写了吧? |
|
|
float |
32 bits |
3.4e-038 - 3.4e+038 |
|
不太精确的浮点数值 |
double |
64 bits |
1.7e-308 - 1.7e+308 |
|
科学计算等 |
char |
16 bits |
0-65535 |
|
Unicode |
bollean |
|
true 和 false |
|
|
array |
|
|
|
同一类型的一组数据的集合 |
class |
|
|
|
将在后续部分详细说明 |
interface |
|
|
|
将在后续部分详细说明 |
说明:
1 在java中,上面列出的数据类型的长度不一定代表实际分配的内存的大小。如byte,长度是8,但是在运行的时候往往分配32bits的存储空间。
2 java中的数字有关的类型都是有符号的。
3 数据类型之间在一定的条件下是可以转换的。这种转换一般是从“小”的类型到“大”的类型,或者从基础类型到派生类型的转换。
4 byte和short类型在进行计算之前,会被自动扩展到integer类型。
5 在计算过程中,如果出现多种不同类型的数据参与计算,那么所有的“小”类型会被扩展到“大”类型来参与计算。如 在语句中同时有char integer 和long型的数据,那么最终的计算结果是long型的。
6 从“大”类型到“小”类型的转换是有风险的,需要用户明确指明,进行强制转换。其原因在于可能造成数据丢失。
相关文章