架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9725|回复: 0

[资料] java内置的基本数据类型

[复制链接]
发表于 2015-4-7 16:19:13 | 显示全部楼层 |阅读模式
数据类型就是对内存位置的抽象表达。程序员可以利用多种数据类型:某些由编程语言定义,某些由外部库定义,还有些则由程序员来定义。很多编程语言都依赖于特定的计算机类型和对数据类型属性的具体编译实现,比如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取消了其他变成语言中的硬件和编译器依附,允许程序员把注意力转移到其他问题上来




上一篇:JDK,JRE,JVM区别与联系
下一篇:Photoshop运行请卸载并重新安装此产品,错误代码16怎么解决?
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-29 16:21

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表