Alpha's Tech Space

一个关于软件开发的技术交流空间,希望和大家共同进步!(.net/C/C++/Java)

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Java数据类型

第一部分,就已经提到了Java的基本数据类型。今天,我来把这方面的内容详细的归纳出来。

第一个问题,什么是数据类型。这个问题,听上去很简单,可是,我想大部分人可能都没有仔细考虑过,恐怕也很难一下给出明确的回答。那么,究竟什么是数据类型呢?其实,概括的说,数据类型可以看做是标识和操作的集合。无论是什么样的数据类型,其实都是由一些抽象的标识来表示的,比如int ,又如 bollean;这里,int bollean本身是合法的标识符,但它们代表了整数和布尔这两种数据类型;同时,每种数据类型还对应着特定的操作。还是前面的例子,对于整形而言,它支持的操作有加减乘除等,而对于布尔型,它支持的操作就和整形不尽相同,例如,不能对布尔类型进行加减乘除的操作,而只能比较。所以,在学习数据类型这个部分的时候,可以从标识和操作两个方面来理解。这可以看做是一个普遍规律,就是很复杂的类型也是如此。

接着,我们来看看Java的类型。概括而言,Java支持的数据类型可以分为两种:基本数据类型和结构数据类型。基本数据类型就是在第一部分中提到的,共有8种。而结构数据类型,则是指 Array (数组),class(类) interface(接口)等。结构数据类型是基本数据类型和/或(and/or)其它结构数据类型的组合。

最后,在学习Java的时候,一定要把一个观念牢记心中:即:Java是强类型的语言。这句话的意思是,凡是使用到的变量,在编译之前一定要被显示的声明。

 

下面,我们来详细介绍这些数据类型:

数据类型

长度

取值范围

操作

典型用法

byte

8 bits

-128127

 

常用于I/O操作

short

16 bits

-3276832767

 

 

integer

32 bits

-21474836482147483647

 

 

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 byteshort类型在进行计算之前,会被自动扩展到integer类型。

5 在计算过程中,如果出现多种不同类型的数据参与计算,那么所有的“小”类型会被扩展到“大”类型来参与计算。如 在语句中同时有char  integer long型的数据,那么最终的计算结果是long型的。

6 从“大”类型到“小”类型的转换是有风险的,需要用户明确指明,进行强制转换。其原因在于可能造成数据丢失。

 

 

相关文章 
 

读书笔记:《Java2 教程》(一)

读书笔记:《Java2 教程》(

posted on 2005-05-30 13:27  Lexrate  阅读(1529)  评论(0编辑  收藏  举报