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数据类型的区别。
java数据类型代表价格_解读Java数据及数据类型内幕相关推荐
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- java程序设计陈国君_《JAVA程序设计基础(第6版)/陈国君》【价格 目录 书评 正版】_中国图书网...
JAVA程序设计基础(第6版)/陈国君 节选 第3章Java语言基础 本章主要内容: 数据类型: 变量: 基本类型变量: 数据类型的转换规则: 从键盘输入数据的语句格式: 运算 ...
- java判断float相等_在java中判断两个浮点型(float)数据是否相等的案例
示例代码: public static void main(String[] args) { float a = 10.222222225f; float b = 10.222222229f; Sys ...
- java数据类型入门程序_「JAVA零基础入门系列」Day3 Java基本数据类型
前两篇已经将开发环境搭建完成,如果你已经按之前的教程按部就班的完成了部署,那么世界上最优秀的编程语言之一和世界上最优秀的IDE之一已经出现在你的电脑上(此处应有掌声),如果你还没入门,或者正在台阶上踱 ...
- java 反射创建属性_使用Java反射机制确定基本数据类型属性
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Java反射机制提供了一种强大的应用程序接口来帮助我们在运行时检测和执行对象上的操作.该机制允许程序员审视一个未知对象,并且获得它的属性,例如对象上的方法 ...
- java写一段程序代表心情_讨论java初步学习的方法及心情
Java的重要性 Java语言的三大特点,面向对象.良好的跨平台性和健壮性,这三大特点使Java被广大编程人员接收并且使用.Java的核心机制有Java虚拟机和垃圾回收机制这两种,Java虚拟机通过解 ...
- java io null异常_大量java.lang.InterruptedException: null异常,数据没有同步
otter运行了一段时间后,就停止了同步,Channel状态也是running的 , 查看日志出现大量的InterruptedException,看不出哪里出了问题 2017-07-14 17:51: ...
- java是什么格式_是java格式
错误:编码GBK的不可映射字符的解决办法 最近在重新补javaSE的基础,编辑器编写完代码以后,在控制台运行代码段的时候,出现了以下的错误提示:错误:编码GBK的不可映射字符 在通过查询谷哥和度娘以后 ...
- java打印星型_初识java java入门知识 基础知识 打印各种星型图形 源代码
今天给大家带来的是初级Java基础部分的知识:包括初识Java.变量.常量.数据类型.运算符.各种选择结构.循环结构.数组等Java的基础语法部分!最后还有****循环结构的进阶****,步骤超详细, ...
最新文章
- PyTorch、TensorFlow最新版本对比,2021年了你选谁?
- vue component created没有触发_Vue的难点解析
- 30. 多线程编程之threading模块
- google nexus5x 刷机抓包逆向环境配置(一)
- 【MM】更改供应商账户组
- C++数据结构之顺序结构
- hdu3078 建层次树+在线LCA算法+排序
- 图像处理 --- 三、图像变换 3.2 图像的几何变换
- Visual Studio Code配置Salesforce Apex开发环境
- python库缺少pkg_resource_Python pkg_resources.ResourceManager方法代码示例
- Python 如何画出漂亮的地图?
- Windows系统下的IE浏览器降级
- 科技交流英语(2022秋)
- Flutter 核心编程二:Dart基础语法之基本数据类型,数组,方法,Runs,函数闭包,typedef,操作符
- java 字符串转时间,时间转字符串
- 对二叉树堆排序的升级TOPK问题(跑路人笔记)
- 那些年,我们一起做过的 Java 课后练习题(61 - 65)
- csdn公开文章改私密
- maven 私服setting配置
- Spring 官方文档彩蛋
热门文章
- MySQL中show语法使用总结
- ARM常用的调试方式与ARM培训班常见的调试方法
- C#委托的介绍(delegate、Action、Func、predicate)
- Windows Media Player 控件的常用属性及方法
- TensorFlow 完整的TensorFlow入门教程
- 作为程序员必须要掌握的三种语言
- 深入理解傅立叶变换(详细)
- net user administrator /passwordreq:yes出现语法错误
- android 固定中间焦点,在Android上将相机焦点设置为受控固定距离
- 隐藏画质代码_【和平精英】变成恐怖精英?玩家在墙上发现了一幅隐藏的壁画!...