当前位置: 首页 > 学习 > 电脑学习 > 程序设计 > JAVA > 设计模式 > 正文

面向对象编程:Java的简单数据类型

http://www.zk168.com.cn  招考学习网 2006-4-11 3:36:08
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
面向对象编程:Java的简单数据类型

   数据类型就是对内存位置的抽象表达。程序员可以利用多种数据类型:某些由编程语言定义,某些由外部库定义,还有些则由程序员来定义。很多编程语言都依赖于特定的计算机类型和对数据类型属性的具体编译实现,比如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定义的复杂数据类型,同时了解下如何利用它们来处理典型的编程问题。
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
最新入库:
 
·实质、过程及意义——阿多尔诺“否定的辩证法”探微
·从Ontology的译名之争看哲学术语的翻译原则
·论马克思主义哲学经典的解释——解释学方法及其在马克
·中国哲学当前的核心与周边问题
·和合学与21世纪文化价值和科技
·中国文化的和合精神与21世纪
·宗教之间理当相互宽容
·上半个世纪的自由主义
·殷周至春秋时期神人关系之演进
·大学之道:构建以“三纲八目”为核心的道德修养体系
相关内容:
 
·环保企业人力资源开发与管理的实证研究————巨龙公
·重油制气污水处理系统(A/O)技术改造
·英美CPA管理模式及其启示
·改造NERA微波公务信道为国产监控信道
·EAStudio让电子商务网站如虎添翼
·基于PB6和ORACLE8开发“劳动信息管理系统”
·巧解Pretty  Park 病毒一例
·CDMA在中国的应用以及向CDMA2000的过度中的问题研究
·SMA施工控制与现场监理
·浅谈改性沥青及SMA路面平整度的控制
网友点评:
 
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
友情提醒:
 1.库中的资料大都来自互联网、网友上传、各类书籍,在录入的过程中难免会出现错误,恳请网
 友来信指正!
 2.如果网友在本库中未能找到所需要的材料,请登陆到我们的论坛《招考学习网》版块!
 3.考友想加入招考学习网的编辑部,请发信到XueXiWang#Gmail.com(#改为@)附带个人简历
 4.如需转载请注明出处及作者,谢谢合作!
 5.如果您有更好的建议或意见请EMAIL:XueXiWang#Gmail.com (#改为@)
 6.凡标题中有注有“[NO]”字样均不含答案且答案整理中.
 7.如本库中转载文章涉及版权等问题,请相关网站或作者在两周内发邮件通知(EMAIL:  XueXiWang#Gmail.com (#改为@))我们,我们接到通知后立即删除该文章及链接!
你问我答 更多>>