赛迪网 > IT技术 Java > (最新更新)Java基础
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

Java基础-Java中的简单数据类型祥解

发布时间:2006.04.25 08:50     来源:Net China    作者:

 

数据类型

数据类型就是对内存位置的抽象表达。程序员可以利用多种数据类型:某些由编程语言定义,某些由外部库定义,还有些则由程序员来定义。很多编程语言都依赖于特定的计算机类型和对数据类型属性的具体编译实现,比如word和integer数据类型的大小等。另一方面,Java的虚拟机负责定义其内置数据类型的各方面内容。这就意味着不管Java虚拟机(JVM)运行在何等低级的操作系统之上,数据类型的属性都是完全一样的。

简单数据类型

简单数据类型是不能再简化的、内置的数据类型,由编程语言定义,表示真实的数字、字符和整数。更大、更复杂的数据类型可以采用简单数据类型的组合来定义。在大多数情况下,简单数据类型都具有其硬件等价物。比方说,int简单类型有时存放在32位硬件寄存器内。Java提供了几类简单数据类型表示数字和字符。

简单数据类型通常划分为以下几种类别:实数、整数、字符和布尔值。这些类别中又包含了多种简单类型。比如说,Java定义了两种简单类型:float和double,它们都属于实数类别,另外4种简单类型:byte、short、int和long则都属于整数类别。此外还有一种简单类型char则归于字符类型。布尔值类别只有一种简单类型:boolean。表A详细列出了Java的简单数据类型.

表A Java简单数据类型

简单类型 大小 范围/精度

float 4 字节 32位IEEE 754单精度

double 8 字节 64位IEEE 754双精度

byte 1字节 -128到127

short 2 字节 -32,768到32,767

int 4 字节 -2,147,483,648到2,147,483,647

long 8 字节 -9,223,372,036,854,775,808到9,223,372,036, 854,775,807

char 2 字节 整个Unicode字符集

boolean 1 位 True或者false

Java的简单数据类型

Java中的所有数字变量都是有符号的,Java不允许数据类型之间随意的转换。只有数字变量之间可以进行类型转换。比如,boolean就不能转换为其他数据类型,而且其他数据类型也不能转换为boolean。

因为Java的简单数据类型都经过准确定义,而且直接内存访问也是不允许的,所以在Java语言中取消了sizeof运算符。

Java的简单数据类型并不是对象。为了采用面向对象方式对待Java简单数据类型,你需要首先用类封装它们。

封装类

Java还提供了Byte、Short、Boolean、Character、Integer、Double、Float和Long等内置的封装类。这些封装(wrapper)类提供了很直观的实用方法。比如,Byte、Float, Integer、Long和Double类都具有doubleValue()方法,通过它可以把存储在类的实例中的值转换为Double类型。还有,所有的封装类都提供了静态的valueOf(String s)方法把给定的String转换为对应的简单类型。清单A的代码演示了这些封装类的一些用法。

简单数据类型初始化

在Java语言中,简单数据类型作为类的成员变量声明时自动初始化为默认值,除非显式地声明。简单数据类型为某一方法声明局部变量时不会自动地初始化而且会导致编译器扔出类似以下的错误消息“Variable x may not have been initialized.(x变量没有初始化)”表B定义了Java简单数据类型的默认值。

表B Java简单数据类型的默认值

类型

默认值

boolean

false

Byte

0

short

0

int

0

Long

0

Char

´u0000´

Float

0.0

double

0.0

Java简单数据类型的默认初始值

清单B 中的代码显示所有的Java简单数据类型都用做了Initialization类的成员变量。该例还显示Initialization类的构造器中局部声明了一个int变量。在不修改以上代码的情况下,编译器会在对以上代码进行编译的时候扔出错误。

一旦引发问题的代码行(那些引用未初始化变量导致错误发生的代码)被删除或者注释掉。程序成功编译和执行之后就会显示以下的结果:

byte: 0

short: 0

int: 0

long: 0

float: 0.0

double: 0.0

char: 0

boolean: false

我们还可以显式地初始化成员变量为其他值,如以下代码所示:

byte b = 5;

short s = 123;

int i = 1234;

long l = 12345;

float f = 123.45f;

double d = 12345.678;

char c = ´A´;

boolean z = true;

小结

Java定义了全套简单数据类型。此外,Java取消了其他变成语言中的硬件和编译器依附,允许程序员把注意力转移到其他问题上来。在下一篇文章里,我们将继续讨论某些经常用到的、Java定义的复杂数据类型,同时了解下如何利用它们来处理典型的编程问题。


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 飞天智能卡通过银行卡检测中心PBOC2.0检测 (04-19) · 全面解析Java中的String对象数据类型 (04-16)
· Java开源IOC容器Fuse 0.2 Final发布 (04-16) · Java内容管理系统AtLeap 0.5版本发布 (04-16)
· Java开源-轻量级RIA框架Plocit发布 (04-16) · Java图形调试工具JSwat 3.8发布 (04-16)
· Java核心类库GNU Classpath 0.90发布 (04-16) · 常见的几种Java开发工具的特点比较 (04-16)
· Simple Persistence 1.1.0 版本发布 (04-16) · 快速建站工具Java SOS 4.75发布 (04-16)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 北京新规不能霸王硬上弓 网店牌照缓期执行
· 软件外包之变的新台阶: 提高全球交付能力
· ERP案例分析 SaaS带来冲击 IT服务商面临挑战
· 通方期货CRM解决方案 房地产行业CRM解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统