版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、书名:书名:JavaJava语言程序设计教程语言程序设计教程 ISBNISBN:978-7-111-14818-0978-7-111-14818-0 出版社:机械工业出版社出版社:机械工业出版社 本书配有电子课件本书配有电子课件 第第2 2章章 Java Java语言基础语言基础 学习导读学习导读 n掌握Java语言的基础知识,是正确编写Java程序 的前提,也是进一步深入学习Java语言的基础。 n本章主要介绍编写Java程序必须熟悉的语言基础 知识,包括Java语言标识符、保留字、数据类型、 运算符、表达式、标准输入输出、流程控制语句 以及数组。 课程结构课程结构 n2.1 标识符和保留字
2、 n2.2 数据类型 n2.3 运算符与表达式 n2.4 Java的常用的输入与输出 n2.5 Java的流程控制语句 n2.6 数组 2.12.1标识符和保留字标识符和保留字 n1.标识符标识符 o标识符用于标识变量、函数、类和对象的名称,一来标识符用于标识变量、函数、类和对象的名称,一来 说明它们的存在,二来方便地使用它。说明它们的存在,二来方便地使用它。 o标识符由字母、数字、下划线和标识符由字母、数字、下划线和$构成;构成; o第一个字符不能是数字字符;第一个字符不能是数字字符; o保留字不能作为用户自定义的标识符。保留字不能作为用户自定义的标识符。 2.12.1标识符和保留字标识符和
3、保留字 n2.2.保留字保留字 o保留字或关键字是指那些具有专门的意义和用途的、保留字或关键字是指那些具有专门的意义和用途的、 由系统定义的标识符。由系统定义的标识符。 oconst和和goto保留字没有任何意义保留字没有任何意义 表2-1 常见保留字 2.2数据类型数据类型 nJava的数据类型可分为基本数据类型(或叫简单数据的数据类型可分为基本数据类型(或叫简单数据 类型)和复合数据类型。基本数据类型是指由类型)和复合数据类型。基本数据类型是指由Java语语 言本身定义的数据类型。复合数据类型是由用户根据言本身定义的数据类型。复合数据类型是由用户根据 需要自己定义并实现其运算的数据类型需要
4、自己定义并实现其运算的数据类型。 表2-2 Java定义的所有基本数据类型 类 型范围/格式说 明 整 数 类 型 byte8位二进制补码字节整型 short16位二进制补码短整型 int32位二进制补码整型 long64位二进制补码长整型 实 数 float32位IEEE754规范单精度 double64位IEEE754规范双精度 字 符 char16位Unicode字符集单字符 布 尔 booleantrue或false布尔值 2.2数据类型数据类型 n1.整数类型整数类型 o整数类型包括整型常量和整型变量。整数类型包括整型常量和整型变量。 o整型常量整型常量 整型常量有整型常量有int和
5、和long两种类型,其中两种类型,其中long型整型常量要在数字后型整型常量要在数字后 面加大写的字母面加大写的字母L或小写的字母或小写的字母l。具体的整型常量有三种表。具体的整型常量有三种表 示形式:示形式: (1)十进制整型常量)十进制整型常量 是由是由09、+、字符组成,并以字符组成,并以+、 号开头的数字串。如号开头的数字串。如987,654。 (2)八进制整型常量)八进制整型常量 是由是由07、+、字符组成,并以字符组成,并以+、 号加号加0开头的数字串。如开头的数字串。如023(相当于十进制的(相当于十进制的19),), 043(相当于十进制的(相当于十进制的35)。)。 (3)十
6、六进制整型常量)十六进制整型常量 是由是由09、+、AF、af、 x或或X字符组成,并以字符组成,并以+、号加号加0 x或或0X开头的数字串。如开头的数字串。如 0 x12,0X6A。 o整型变量整型变量 整型变量的类型有四种:整型变量的类型有四种:byte、short、int和和long。 2.2数据类型数据类型 n2.浮点数据类型浮点数据类型 o浮点数据类型就是常说的实型数据,也包括实型常量和实型浮点数据类型就是常说的实型数据,也包括实型常量和实型 变量变量 o实型常量 实型常量有实型常量有float和和double两种数据类型,其中要表示两种数据类型,其中要表示float 类型常量必须在
7、数字后加上字母类型常量必须在数字后加上字母F或或f。具体有两种表示形。具体有两种表示形 式:式: 1)十进制数表示:由数字、小数点和正负号组成,且必)十进制数表示:由数字、小数点和正负号组成,且必 须有小数点。如须有小数点。如0.12、35.67。 2)科学计数法表示:由数字、小数点、正负号和字母)科学计数法表示:由数字、小数点、正负号和字母E/e 组成,且在组成,且在E/e之前必须有数字,如之前必须有数字,如1.2e3、45E8。 o实型变量 实型变量的数据类型有实型变量的数据类型有double和和float两种。两种。double称为双称为双 精度类型,精度类型,float称为单精度类型。
8、双精度类型比单精度类称为单精度类型。双精度类型比单精度类 型的数据具有更高的精度和更大的表示范围。但单精度数型的数据具有更高的精度和更大的表示范围。但单精度数 据比双精度数据所占内存空间少且在处理器进行处理的速据比双精度数据所占内存空间少且在处理器进行处理的速 度也比双精度数据类型快一些。度也比双精度数据类型快一些。 2.2数据类型数据类型 n3.字符型数据字符型数据 字符型数据也包括字符型常量和字符型变量。字符型数据也包括字符型常量和字符型变量。 o字符型常量是用单引号括起来的一个字符,如:字符型常量是用单引号括起来的一个字符,如:A、9。 Java语言中的字符型数据是使用语言中的字符型数据
9、是使用16位位Unicode(全球文字共享(全球文字共享 编码)方式。由于采用编码)方式。由于采用Unicode编码方案,使得编码方案,使得Java在处理多在处理多 语种的能力方面得到大大提高,从而为语种的能力方面得到大大提高,从而为Java程序在基于不同程序在基于不同 语种之间实现平滑移植铺平了道路。语种之间实现平滑移植铺平了道路。 o与与C/C+相同,相同,Java语言也提供转义符号,以语言也提供转义符号,以“”开头,将其开头,将其 后面的符号转变为其他的含义。如:后面的符号转变为其他的含义。如:ddd表示表示1到到3位八进制位八进制 表示的数据;表示的数据;uxxxx表示表示1到到4位十
10、六进制表示的数据;位十六进制表示的数据;表示表示 单引号。单引号。 o另外,另外,Java中字符型数据虽然不能用作整型,但可以把它当中字符型数据虽然不能用作整型,但可以把它当 作整型数据来操作。作整型数据来操作。 2.2数据类型数据类型 n4.布尔型数据布尔型数据 o布尔型数据只有布尔型数据只有true和和false两个数据值,并且它们两个数据值,并且它们 不对应任何整型值。不对应任何整型值。 2.3运算符与表达式运算符与表达式 n1.运算符运算符 o运算符按照参与运算的操作数的个数可分为:单目运算符按照参与运算的操作数的个数可分为:单目 运算符、双目运算符和三目运算符。除进行运算外,运算符、
11、双目运算符和三目运算符。除进行运算外, 运算符也返回值。这个值和类型取决于运算符和操运算符也返回值。这个值和类型取决于运算符和操 作数的类型。作数的类型。 oJava运算符主要包括以下几类:算术运算符、关系运算符主要包括以下几类:算术运算符、关系 运算符、条件运算符、位运算符、逻辑运算符以及运算符、条件运算符、位运算符、逻辑运算符以及 赋值运算符。赋值运算符。 2.3运算符与表达式运算符与表达式 算术运算符算术运算符 算术运算符完成算术运算算术运算符完成算术运算; 包括一元算术运算符(包括一元算术运算符(+、+、 )和二元)和二元 算术运算符(算术运算符(+、*、/、%) ; 2.3运算符与表
12、达式运算符与表达式 关系运算符关系运算符 关系运算符是比较两个数据大小关系的运算,常用关系运算符是比较两个数据大小关系的运算,常用 的关系运算符是:的关系运算符是:、=、op1op2 op1中各位都向右移op2位(最 高位补符号位) op1op1op2 op1中各位都向右移op2位(无 符号,补0) else statements2; 2.5 Java的流程控制语句的流程控制语句 o(2)嵌套if/else分支语句 o格式:格式: if(expression 1) statements1; elseif(expression 2) statements2; elseif(expression
13、N) statementsN; else statements; 2.5 Java的流程控制语句的流程控制语句 o(3)switch分支结构 o格式:格式: switch(expression) case value1:statements1;break; case value2:statements2;break; case valueN:statementsN;break; default:statements;break; 2.5 Java的流程控制语句的流程控制语句 o使用使用switch语句要注意:语句要注意: expression必须是必须是int 、byte、 char和和 sh
14、ort类型之类型之 一。一。 value必须是常量,且所有必须是常量,且所有case子句中的子句中的value是不是不 相同的。相同的。 default语句是可选的。当存在语句是可选的。当存在default语句,而无与语句,而无与 expression匹配的匹配的value时,就执行时,就执行default语句;当语句;当 无无default语句,且又无与语句,且又无与expression匹配的匹配的value时,时, 就跳出就跳出switch语句。语句。 break用于执行完一个用于执行完一个case子句后跳出子句后跳出switch语句。语句。 在某些情况下,允许位置上连续的多个不同的在某些
15、情况下,允许位置上连续的多个不同的case 子句执行相同的操作,所以只在该组的最后一个子句执行相同的操作,所以只在该组的最后一个 case字句中使用字句中使用break语句。语句。 2.5 Java的流程控制语句的流程控制语句 n2.循环语句循环语句 o循环结构是指在满足一定条件下,反复执行某一段循环结构是指在满足一定条件下,反复执行某一段 语句。语句。Java中有四种循环语句:中有四种循环语句:while 语句,语句, dowhile语句、语句、 for语句、语句、for-each语句。语句。 2.5 Java的流程控制语句的流程控制语句 o(1)for循环结构 格式:格式: for(ini
16、texpr1;testexpr2;incrementexpr3) statements; o(2)for-each语句语句 格式:格式: for(数据类型数据类型 变量:数组名变量:数组名) 作用:作用: 在在JDK5.0新增了一个增强新增了一个增强for形式的循环语句,它可以实现形式的循环语句,它可以实现 对数组顺序访问而不依赖于数组的下标和迭代器。就是不对数组顺序访问而不依赖于数组的下标和迭代器。就是不 通过数组的下标达到对指定数据类型数组的所有的元素的通过数组的下标达到对指定数据类型数组的所有的元素的 访问。访问。 2.5 Java的流程控制语句的流程控制语句 o(3)while循环结构
17、 格式:格式: while(expression) statements; 作用:作用: 先判断条件表达式先判断条件表达式expression是否为真,若是真,是否为真,若是真, 则执行循环体,循环体执行完后再转向条件表达则执行循环体,循环体执行完后再转向条件表达 式继续做计算和判断;当条件表达式为假时,则式继续做计算和判断;当条件表达式为假时,则 跳出跳出while语句。语句。 2.5 Java的流程控制语句的流程控制语句 o(3)dowhile循环结构循环结构 格式:格式: do statements; while(expression); 作用:作用: 与与while语句很相似,不同的是
18、语句很相似,不同的是do-while语句是先语句是先 执行循环体一次,再判断条件表达式执行循环体一次,再判断条件表达式expression 是否为真,若为真,则继续执行循环体,否则跳是否为真,若为真,则继续执行循环体,否则跳 出出do-while语句。语句。 2.5 Java的流程控制语句的流程控制语句 n3.一般循环控制一般循环控制 o(1)break语句 格式:格式:breaklabel 作用:使程序从一个语句块内部跳转出来。带标号的作用:使程序从一个语句块内部跳转出来。带标号的 break语句就从当前这个语句块跳出进入标号对应的语句语句就从当前这个语句块跳出进入标号对应的语句 中。不带标
19、号的中。不带标号的break语句是从它所在的语句是从它所在的switch分支或最内分支或最内 层的循环体中跳转出来,执行分支或循环体后面的语句。层的循环体中跳转出来,执行分支或循环体后面的语句。 o(2)continue语句 格式:格式:continuelabel 作用:对不带标号的作用:对不带标号的continue语句用来结束本次循环,跳语句用来结束本次循环,跳 过循环体中未执行的语句,调整循环条件后,继续判断条过循环体中未执行的语句,调整循环条件后,继续判断条 件,以决定是否继续循环。对带标号的件,以决定是否继续循环。对带标号的continue语句与带语句与带 标号的标号的break语句一
20、样。语句一样。 o(3)return 格式:格式:return expr; 作用:使流程从方法调用中返回,表达式的值就是调用方作用:使流程从方法调用中返回,表达式的值就是调用方 法的返回值。法的返回值。 2.6 数组数组 n在在Java语言中,数组是属于复合数据类型,是语言中,数组是属于复合数据类型,是 由使用者自己来定义的,它实际上是一种隐含由使用者自己来定义的,它实际上是一种隐含 的的“数组类数组类”的实例。数组名就是该实例的一个的实例。数组名就是该实例的一个 引用,同样数组元素是对数组元素类实例的引引用,同样数组元素是对数组元素类实例的引 用。用。 2.6 数组数组 n1 . 数组的声明
21、 oJava的数组声明可以采用与的数组声明可以采用与C语言类似的形式。语言类似的形式。 o格式:格式: 一维数组:一维数组:arrayType arrayName; 二维数组:二维数组:arrayType arrayName; oJava的数组声明语句没有指明数组大小。这是因为的数组声明语句没有指明数组大小。这是因为 Java声明数组时并不一定需要为数组分配存储单元。声明数组时并不一定需要为数组分配存储单元。 Java中数组的存储单元的分配是在创建数组时完成中数组的存储单元的分配是在创建数组时完成 的。的。 2.6 数组数组 n2.数组的创建数组的创建 (1)一维数组的创建 分成:分成: 数组
22、元素为简单数据类型数组元素为简单数据类型 数组元素为复合数据类型数组元素为复合数据类型 2.6 数组数组 u数组元素为简单数据类型数组元素为简单数据类型 采用静态初始化。对于数据元素类型是基本数据类采用静态初始化。对于数据元素类型是基本数据类 型的数组,声明数据与创建数组空间结合在一起,型的数组,声明数据与创建数组空间结合在一起, 用一条语句完成,并同时给出各数组元素的初始值。用一条语句完成,并同时给出各数组元素的初始值。 格式为:格式为: arrayType arrayName=element1,element2; 或或 arrayType arrayName=element1,elemen
23、t2; 2.6 数组数组 采用动态初始化。动态初始化的操作是由采用动态初始化。动态初始化的操作是由new运算运算 符完成的。例如,对前面所声明的数组,可以用下符完成的。例如,对前面所声明的数组,可以用下 面的形式创建一个数组面的形式创建一个数组 count=new int10;或者或者count=new int10; 事实上数组的声明与创建可以合并用一条语句来实现,事实上数组的声明与创建可以合并用一条语句来实现, 如:如: int count=new int10; 或者:或者:int count=new int10; 2.6 数组数组 数组元素为复合数据类型数组元素为复合数据类型 对于数组元素
24、为复对于数组元素为复 合数据类型的一维数组的空间创建按以下两个合数据类型的一维数组的空间创建按以下两个 步骤进行。步骤进行。 为数组元素开辟引用空间,格式:为数组元素开辟引用空间,格式: oarrayName=new arrayTypearraySize; 为每个数组元素开辟存储空间,格式:为每个数组元素开辟存储空间,格式: oarrayNamei=new arrayType(paramList); o其中其中i=0,arraySize-1。 2.6 数组数组 (2)二维数组的创建 分成:分成: 数组元素为简单数据类型数组元素为简单数据类型 数组元素为复合数据类型数组元素为复合数据类型 2.6
25、 数组数组 o数组元素为简单数据类型数组元素为简单数据类型 采用静态初始化。同一维数组一样,声明数据与创采用静态初始化。同一维数组一样,声明数据与创 建数组空间结合在一起,用一条语句完成,并同时建数组空间结合在一起,用一条语句完成,并同时 给出各数组元素的初始值。例如:给出各数组元素的初始值。例如: int smallPrime=2,3,5,7,11,13,17; 由于二维数组看作是数组的数组,数组空间不由于二维数组看作是数组的数组,数组空间不 是连续分配的,所以每一维的大小可以不一样。是连续分配的,所以每一维的大小可以不一样。 如上例所示。如上例所示。 采用动态初始化。也同一维数组一样,通过采用动态初始化。也同一维数组一样,通过new操操 作符进行空间分配,有两种方式:作符进行空间分配,有两种方式: 直接为每一维分配空间,格式为:直接为每一维分配空间,格式为: arrayName=new arrayTypearraySize1arraySize2; 2.6 数组数组 o数组元素为复合数据类型数组元素为复合数据类型 o采用上述动态分配中的第二种方式进行数组的创建,即首先采用上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年商品房买卖继承合同协议
- 脑出血患者全周期护理流程与管理实践指南
- 成人有创机械通气气道内吸引临床操作规范与并发症预防指南
- 2026年教育销售合同
- 2026年儿童绘本出版分成合同协议
- 2026年会议投影仪租赁合同
- 2026年温室大棚租赁合同协议
- 2026年阳台防水材料供应合同协议
- 2026年农业物联网数据服务合同协议
- 2026年技术支持岗位合同
- 2025年全国注册监理工程师继续教育题库附答案
- 锅炉原理培训课件
- 重庆市高新技术产业开发区消防救援支队政府专职消防员招录(聘)114人参考题库附答案
- 2026年林学概论选择试题及答案
- 2026年安全员之A证考试题库500道附参考答案(黄金题型)
- 儿童早教中心接待服务流程
- 肿瘤课件模板
- 云计算环境下中小企业会计信息化建设问题
- 《材料性能学》课件-第四章 材料的断裂韧性
- 超市服务培训课程课件
- 公务出行社会汽车租赁管理规范
评论
0/150
提交评论