收藏 分享(赏)

第03章 Java语言程序设计基础.ppt

上传人:sjmd695 文档编号:7015688 上传时间:2019-04-30 格式:PPT 页数:78 大小:401KB
下载 相关 举报
第03章 Java语言程序设计基础.ppt_第1页
第1页 / 共78页
第03章 Java语言程序设计基础.ppt_第2页
第2页 / 共78页
第03章 Java语言程序设计基础.ppt_第3页
第3页 / 共78页
第03章 Java语言程序设计基础.ppt_第4页
第4页 / 共78页
第03章 Java语言程序设计基础.ppt_第5页
第5页 / 共78页
点击查看更多>>
资源描述

1、第 3 章 Java语言程序设计基础,3.1 Java语言程序的基本构成要素 3.2 数据类型 3.3 运算符 3.4 常用Java数值计算方法 3.5 表达式 3.6 包装类 3.7 输入输出初步 3.8 流程控制 3.9 数组和字符串,3.1 Java语言程序的基本构成要素,3.1.1 标识符程序中使用的各种数据对象,如符号常量、变量、方法和类等,都需要一定的名称,这种名称叫做标识符(Identifier)。Java的标识符由字母、数字、下划线(_)或美元符()组成,但必须以字母、下划线或美元符开始。Java标识符是大小写敏感的,也就是要严格地区分大小写,否则会出错。这点是初学者学习Jav

2、a语言时要特别注意的。另外,Java标识符没有字符数的限制。,Java要求表示类、接口名的标识符用大写字母开头,表示变量、方法名的标识符用小写字母开头,表示常量名的标识符中全部使用大写的字母。,3.1.2 保留字保留字(Reserved Word)又称为关键字,是Java语言本身使用的标识符,它有其特定的语法含义。所有的Java保留字将不能被用做标识符,如for、while、boolean等都是Java语言的保留字。,表3-1 Java保留字表,续表,注:加*号的保留字是Java目前还未用的,3.1.3 分隔符分隔符用来分隔开Java程序中的基本语法元素,可分为注释、空白符和普通分隔符3种。,

3、1注释在程序中加适当的注释可提高程序的可读性。注释有如下3种形式。 (1)行注释符 “注释内容” (2)多行注释符 “*注释内容*” (3)Java文档注释符“*注释内容*”,2空白符空白符包括空格符、回车符、换行符和制表符等。在使用中,多个空白符与一个空白符的作用相同。,3普通分隔符普通分隔符具有确定的语法含义,要按照语法规定去使用。有如下4种分隔符。 大括号() 分号(;) 逗号(,) 冒号(:),3.2 数 据 类 型,计算机程序处理的对象是各种数据,数据类型是指数据的内在表现形式。根据现实世界数据的不同形式,数据就划分为多种不同的类型。数据类型不同,能进行的运算不同,取值范围也不同,在

4、计算机语言中还反映为数据的存储形式不同。Java的每种数据类型占用固定的内存长度,与软硬件平台无关;每种数据类型均有一个缺省的数值。,表3-2 Java语言的数据类型,3.2.1 常量与变量程序中所处理的数据表现为两种形式:常量和变量。 1常量常量是在程序执行中不能变化的量。常量区分为不同的类型,如整型常量123,实型常量4.56,字符常量a,布尔常量true和false以及字符串常量“Java programming”。,2变量为了在Java中存储一个数据,必须申请存储空间,变量就是这个存储空间的名字,在变量中可根据需要存入不同的数据。尤其要指出的是,Java是属于强类型的编程语言,这意味着

5、对每一个变量都必须作类型声明。变量具有名称、类型、值和作用域等特性,在使用一个变量前必须先定义。变量定义是用标识符为变量命名,确定其数据类型,还可以根据需要为它赋初值(变量初始化)。定义了变量即为变量指定了存储方式。若是基本类型的变量,因为它们的存储长度是固定的,如何分配存储单元就确定了。若是复合类型的变量,定义后还需要用new运算符为用户数据分配存储单元,复合类型变量中存储用户数据存储单元的引用(指针)。,3.2.2 基本类型 1整型常量Java的整型常量有3种形式:十进制、十六进制和八进制。 2整型变量整型变量按所占内存大小的不同有byte、short、int、long 4种。Java的整

6、数都是有符号数。,表3-3 整型数据类型,3实型常量Java的实型常量有标准和科学计数法两种表现形式。 标准形式。 科学计数法形式。,4实型变量,表3-4 实型数据类型,5字符型数据字符型char数据是由一对单引号括起来的单个字符。,表3-5 转义字符表,6布尔型数据布尔boolean类型是最简单的一种数据类型,布尔数据只有两个值:true和false,且都是保留字,分别表示“真”和“假”两种状态。关系运算和逻辑运算返回布尔类型的值。布尔型是一个独立的类型,它不像C语言中的布尔型代表0和1两个整数,由于这个原因,Java中的布尔类型不能转换成数字。,7字符串数据字符串常量是用双引号括起来的零个

7、或多个字符(包括转义字符)。,3.3 运 算 符,运算符的作用是与一定的运算数据组成表达式来完成相应的运算。对不同的数据类型,有着不同的运算符。对运算符,有运算对象(操作数)个数及类型、运算优先级、结合性等特性。Java语言对运算符的优先级、结合性和求值顺序有明确的规定,从根本上消除了运算符运算过程的二义性以及结果不统一的弊端。,运算符的优先级是指不同运算符在运算中执行的先后顺序。在Java语言中共有17种优先级,每个运算符分属确定的一个优先级别。Java语言严格按照运算符的优先级由高到低地顺序执行各种运算。运算符的结合性确定同级运算符的运算顺序。左结合性规定,运算数据先与左边的运算符结合,然

8、后与右边的运算符结合。右结合性正好相反。,3.3.1 算术运算符算术运算符按操作数的多少可分为一元(或称单目)和二元(或称双目)两类,一元运算符一次对一个操作数进行操作,二元运算符一次对两个操作数进行操作。算术运算符的操作数类型是数值类型。 1一元算术运算符,表3-6 一元算术运算符,2二元算术运算符算术运算符的第二种类型是二元运算符,这种运算符并不改变操作数的值,而是返回一个必须赋给变量的值。表3-7列出了二元算术运算符。二元算术运算符具有左结合性。,表3-7 二元算术运算符,这些都是常用的运算,对二元算术运算符,有以下两点要注意。 两个整数运算的结果是整数,5/2结果是2而不是2.5。 取

9、模运算是求两个数相除的余数,如17%3的结果是2。可以对实数求余数。实数a%b的结果为a(int)(a/b)*b,余数的符号与被除数a相同。如123.4%10的结果为3.4。,3.3.2 关系运算符关系运算符用于确定一个数据与另一个数据之间的关系,即进行关系运算。所谓关系运算是比较运算,将两个值进行比较。关系运算的结果值为true或false(布尔型)。表3-8列出了Java语言提供的6种关系运算符,它们都是双目运算符。在这里要指出的是,等于运算符=不要与赋值运算符=混淆,以至于关系运算变成了赋值运算。,表3-8 关系运算符,3.3.3 逻辑运算符逻辑运算符可以对布尔类型的数据(布尔常量、布尔

10、变量、关系表达式和逻辑表达式等)进行运算,结果也为布尔类型。表3-9列出了Java语言的逻辑运算符,逻辑运算规则如表3-10所示。,表3-9 布尔运算符,表3-10 逻辑运算真值表,3.3.4 位运算符位运算符用来对二进制位进行运算,运算操作数应是整数类型,结果也是整数类型。表3-11列出了Java的位运算符。,表3-11 位运算符列表,表3-12 位运算真值表,3.3.5 赋值运算符赋值运算符都是二元运算符,具有右结合性。 1简单赋值运算符(=) 2复合赋值运算符 复合赋值运算符的右边是一个整体。 表3-13中的等价是有条件的,即op1仅计算1次。,表3-13 复合赋位运算符,3.3.6 条

11、件运算符条件运算符是一种三元运算符,它的格式如下:Operand? Expression1:Expression2在这个式子中,先计算Operand的真假,若为真,则计算并返回Expression1,若为假,则计算并返回Expression2。例如;(ab)?a:b; 这个表达式将返回a和b中较大的那个数值。,3.3.7 字符串运算符运算符“+”可以实现两个或多个字符串的连接,也可实现字符串与其他类对象的连接,在连接时,其他类对象会被转换成字符串。另外,运算符“+=”把两个字符串连接的结果放进第一个字符串里。在前面的例子里,当想把几项输出内容输出在同一行里时使用的就是“+”运算符。,3.4 常

12、用Java数值计算方法,在Java的类Math中包含了一些数值常量,如E和PI,以及一些基本的数值计算方法,如指数、对数、平方根和三角函数等,为用户程序进行数值计算带来了方便。表3-14列出了一些常用的数值计算方法。,表3-14 类Math中常用的数值计算方法,续表,3.5 表 达 式,表达式是由操作数和运算符按一定的语法形式组成的符号序列。 3.5.1 类型转换在一个表达式中可能有不同类型的数据进行混合运算,这是允许的,但在运算时,Java将不同类型的数据转换成相同类型,再进行运算。,1自动类型转换,表3-15 不同类型数据之间的转换规则,2强制类型转换,表3-16 不会丢失信息的类型转换,

13、3表达式求值中的自动类型提升Java语言对表达式求值的自动类型提升规则如下。 所有byte和short类型提升为int类型。 若一个操作数是long类型,则整个表达式提升为long类型。 若一个操作数是float类型,则整个表达式提升为float类型。 若有double类型,则表达式值为double类型。 自动类型提升对数据的运算带来了方便,但也容易引起编译错误。,3.5.2 优先级,表3-17 运算符优先级,3.6 包 装 类,表3-18 基本类型与包装类,3.7 输入输出初步,3.7.1 输出int i=10,j=20;System.out.println(“i=“+i+“,j=“+j);

14、 /输出为i=10,j=20System.out.println(i+j); /输出为30System.out.println(“sum=“+i+j); /输出为sum=1020System.out.println(“sum=“+(i+j); /输出为sum=30,3.7.2 输入在Java中,未提供与System.out.print()对应的输入方法,仅有一个System.in.read(),可用于从键盘输入整数值在0255之间的int类型数据。若程序运行时需要从键盘输入其他类型的数据,则需要使用Java提供的输入输出功能。不论从键盘输入何种类型的数据,Java从键盘接收数据都是以字符串的形

15、式进行,再根据实际数据的需要进行类型转换。在Java中实现输入时要使用异常处理机制,这是Java特有的部分内容,3.8 流 程 控 制,3.8.1 语句和块 1语句在Java语言中,有下面几类语句:空语句、标识语句、声明语句、表达式语句、分支语句、循环语句、跳转语句、同步语句和异常语句等。有两种基本的语句:表达式语句和声明语句。 (1)表达式语句, 赋值表达式,包含赋值运算符=或复合赋值运算符之一。 +或的前后缀形式。 方法调用(无论它是否有返回值)。 对象创建表达式,用new来创建一个对象的表达式。(2)声明语句,2块用一对花括号“”将零个或多个语句括起来,就构成一个块(也称复合语句)。在块

16、中允许包含另一个块(块嵌套)。在Java语言中,允许一个块出现在任何单一语句可以出现的地方。块体现了Java面向对象程序设计的封装概念,在一个块中声明的局部变量的作用域是该变量的声明开始点到最小的包含其声明的块结束。,3.8.2 if-else分支语句 1用单个if语句实现单选、双选结构 2用多个if语句实现多选结构 (1)if语句并列 (2)if语句嵌套, 在用if嵌套方法进行多分支程序设计时,将if语句嵌套在else部分。 若需要在if-else语句的statement1部分嵌套if语句,则将内层的if语句用括号括起来,指明正确的if与else的配对组合。,3.8.3 switch语句 使

17、用switch语句时,需要注意的是: 各个case后的常量值value应各不相同。 通常在每一种case情况后都应使用break语句,否则,遇到第一个相等情况后,下面break前的所有语句都会被执行(包括default后面的语句,若有的话)。 各个分支的statement可以是一条或多条语句,不必使用复合语句。 不同case后的语句statement相同时,可以合并多个case子句。 switch语句在用表达式的值比较每一个case后的值value时,是从前往后顺序进行的。若各个值value互不相同,则case子句的顺序可任意。,3.8.4 循环语句 一个循环一般包括4个部分: 初始化部分,用

18、来设置循环的一些初始条件,如累加器清零等; 循环体部分,重复执行的一段程序,可以是一条语句,也可以是一块语句; 循环条件变更部分,在本次循环结束,下一次循环开始前执行的语句。常用形式为一个计数器值的增减; 终止部分,一般为布尔表达式,每一次循环都要对该表达式求值,以检查是否满足循环终止条件。,1while语句 Java执行while循环语句时,可以分解为以下步骤: 计算表达式boolean-expression(循环条件); 检查boolean-expression的值,如果值为true,则执行,否则执行; 执行给定语句statement,即执行即循环体,其中应该包含对循环条件有影响的语句,使

19、得循环条件会发生相应变换; 转移到执行; 循环结束。,2do-while语句 do循环语句的执行过程: 执行给定语句statement,即执行即循环体,其中应该包含对循环条件有影响的语句,使得循环条件会发生相应变换; 计算表达式boolean-expression(循环条件); 检查boolean-expression的值,如果值为true,则执行,否则执行; 循环结束。,3for语句 for语句执行步骤: 计算表达式expression1(只计算一次,默认时表示无初始内容); 接着检查表达式expression2的值,如果值为true,转向执行,如果值为false,则转到执行; 执行语句st

20、atement,即执行循环体部分,由于for语句有expression3,因此在循环体中不需要安排对循环条件有影响的语句; 执行expression3,转到执行; 循环结束。, 省略表达式expression1 在表达式expression1中包含变量定义等更多的内容 省略表达式expression3 在表达式expression3中包含更多内容 同时省略表达式expression1和表达式expression3 同时省略所有表达式expression,4循环嵌套循环嵌套是指在某个循环语句的循环体中又包含另一个循环语句,也称多重循环。外面的循环语句称为“外层循环”,外层循环的循环体中的循环称为

21、“内层循环”。,3.8.5 标号和其他流程控制语句1标号标号是一个标识符,用于给某语句或程序块的首地址取一个名字。2break语句3continue语句,3.9 数组和字符串,数组是可以通过下标定位的同类型数据的集合。它是程序设计过程中常用的数据结构。数组中的每个数据称为元素,相同数据类型的元素按照一定顺序线性排列就构成了数组。,1数组元素类型 Java的引用类型可以是以下两种数组元素类型: (1)数组元素可以是接口类型,它的值是空引用或任何实现了该接口的类型的实例。 (2)数组元素可以是抽象类类型,它的值是空引用或该抽象类的非抽象子类的实例。,2数组类型在Java中,数组类型是通过指定数组的

22、元素类型和数组维数来定义的,用数组元素类型名后面跟一对或多对方括号来表示。 3数组维数数组可以是一维也可以是多维数组。维数对应于用来识别每个数组元素的下标个数。 在数组类型中的方括号的数目表示数组的维数。,4数组长度数组的每一维都有长度,即数组的每一维所包含的元素个数。Java允许数组的元素个数为零,此时称数组为空。在Java中,数组的长度不是数组类型的一部分,因此,数组的长度必须在为数组分配内存空间时指定。,3.9.2 数组的声明与使用 1声明数组 2创建数组空间 3创建数组元素和初始化 (1)数组的类型是基本数据类型时,数组元素的创建和初始化。 (2)数组的类型是引用类型时,数组元素的创建

23、和初始化。,4数组的使用(1)访问数组(2)数组的应用举例,3.9.3 多维数组 1多维数组的声明 2多维数组的创建 (1)直接为数组的每一维分配空间 (2)从数组的第一维开始,依次为每一维分配空间 (3)多维数组的使用。,3多维数组的初始化(1)直接为数组的每个元素赋值(2)在声明数组的同时进行初始化(3)非基本数据类型多维数组的初始化。,3.9.4 数组操作的常用方法 1获得数组长度的操作 可以使用两种方法获得数组的元素个数: (1)数组的length属性,如下所示:数组名.length (2)利用Array类的静态方法getLength,它的原型如下:public static int

24、getLength(Object array),2数组的复制操作 使用arraycopy时要注意几个方面: (1)复制超出了源或目的数组的下标范围会产生IndexOutOfBoundsException的异常; (2)源与目的数组的元素类型不一致会产生ArrayStoreException的异常; (3)源或目的数组为null会产生NullPointerException。,3使用Arrays类对数组进行操作 (1)数组的排序操作 sort方法的主要形式有两种: public static void sort(数组) public static void sort(数组,起始下标,结束下标),(2)数组的查找操作 (3)数组的填充操作 public static void fill(数组,value) public static void fill(数组,起始下标,结束下标,value) (4)判断数组是否相同的操作,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > Java

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报