java数据类型代表价格_解读Java数据及数据类型内幕

(2)字符型

计算机除了处理数值数据,还要处理字符数据。Java语言提供了一种char数据类型,用于字符数据。char类型占2个字节的存储空间,该类型可以存储英文字符,也可以存储单个汉字。

char型变量只能存储单个英文和中文字符,即可以把字符直接赋值给char型变量,也可以直接把字符所在字符集的编码赋值给char型变量,Java输出char型变量时,输出到显示设备(如电脑屏幕)的是字符本身。

(3)布尔型

布尔类型是表示逻辑状态的类型,在详解Java表达式与运算符一文中谈到关系运算符和逻辑运算符运算返回的结果是布尔值,这个布尔值就是布尔型。java语言通过关键字boolean来定义布尔型变量,只有true和false两个值,分别代表布尔逻辑中的“真”和“假”。Java语言虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替。

boolean变量编译后被转换为int变量,占用4个字节的存储空间,true被转换为1赋值给int变量,false被转换为0赋值给int变量。因此,程序需要判断数值的真或假时,既可以用boolean类型变量,也可以用int类型的变量,当然也可以用byte类型的变量。

引用数据类型

前面例1中的图书目录是一个表结构,包含多个数据项,类似图书目录这样的表结构,显然不适合用前面的基本数据类型表示。后面会讲到Java类,Java类可以存储这样的表结构。

关于Java类,在使用Eclipse集成开发工具编写程序一文中已经使用过,如System类和Scanner类,System类可以直接使用,Scanner类则需要声明并用new运算符初始化后才能使用。Scnaaer类的声明及初始化代码如下:

Scanner sc;

sc = new Scanner(System.in);

代码首先声明了Scanner类的变量sc,此时,Java虚拟机为变量sc分配了一个4字节的存储空间。当调用new运算符初始化Scanner类时,Java虚拟机为Scanner类分配存储空间,并把该存储空间的地址赋值给sc的存储空间。如下图所示。

从图中可以看出,变量sc存储了Scanner存储空间的地址,利用该地址能够访问到Scanner的存储空间,意味着可以使用Scanner提供的属性和方法。

类似采用上图链式存储结构方式存储的数据,其类型称为引用数据类型。因为数据并没有直接存储在变量的存储空间,而是存储到另外一个空间,变量的存储空间仅是存储了另外一个空间的地址。这样处理的好处是进行类的传递时,只需要把类对象的地址传过去就可以了,无需传递类对象本身。

■ 文章小结

1、数据在我们的生活中随处可见,家庭的收入和支出、填写的银行存款单、电视播放的天气预报、新闻等等都属于数据的范畴。计算机数据将现实世界的数据抽象后,形成了基础数据数值型、字符型、和布尔型,并在基础数据的基础上产生复合数据(表、图、树等数据),以及图片、音视频等数据。

2、数据有两种方式的存储结构。一种是顺序存储结构,数据存储在连续的内存区域中。一种是链式存储结构,逻辑上相邻的数据在物理存储上并不相邻,要访问应用链式存储结构存储的数据,需要使用数据地址进行访问。

3、数据类型给出了数据所需存储空间大小以及数据所表示的精度、特性及范围。按照存储方式的不同,数据类型又分为基本数据类型和引用数据类型。基本数据类型采用顺序存储结构,引用数据类型采用链式存储结构。在数据传递过程中,基本数据类型是传值,引用数据类型是传地址。引用数据类型多用于Java类对象。

■ 思考与练习

1、家中一般都有书架,书架上放着很多图书。请以此为例,说出数据对象、数据元素和数据项之间的关系。

2、请说出数据的顺序存储结构和链式存储结构的区别。

3、请说出float和double数据类型的区别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值