PPT课件-Java程序设计基础与实践.ppt

上传人(卖家):三亚风情 文档编号:3165206 上传时间:2022-07-26 格式:PPT 页数:189 大小:3.64MB
下载 相关 举报
PPT课件-Java程序设计基础与实践.ppt_第1页
第1页 / 共189页
PPT课件-Java程序设计基础与实践.ppt_第2页
第2页 / 共189页
PPT课件-Java程序设计基础与实践.ppt_第3页
第3页 / 共189页
PPT课件-Java程序设计基础与实践.ppt_第4页
第4页 / 共189页
PPT课件-Java程序设计基础与实践.ppt_第5页
第5页 / 共189页
点击查看更多>>
资源描述

1、第1章面向对象程序设计概述学习目标 理解面向过程和面向对象程序设计思想的区别 掌握Java语言的基本特点 熟悉Java语言的各种开发平台重点难点 面向对象程序设计思想的基本概念 Java语言的基本特点 Java语言开发平台的适用场合1.1 程序设计思想的发展面向过程的程序设计思想及语言面向对象的程序设计思想及语言1.1.1 面向过程的程序设计思想及语言 “面向过程”是一种以事件为中心的编程思想,即分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用。面向过程是一种基础的方法,是自上向下步步求精,将一个复杂任务按照功能进行拆分,并逐层细化到便于理解和描述的程度

2、,最终形成由若干独立模块组成的树状结构,所以面向过程最重要的是模块化的设计思想。当程序规模不是很大时,面向过程的方法还会体现出一种优势,因为程序的流程很清楚,按照模块对应函数的方法可以很好地组织。1.1.1 面向过程的程序设计思想及语言 最初问世的高级语言都属于面向过程的编程语言,用来实现程序的顺序、选择、循环这三种结构,比较著名的语言有Pascal、Modula、Bliss、Euclid、Edison、Gypsy、CLU、XCY-2、Smalltalk、C等。按照模块对应函数的方法可以很好地组织。“面向过程”程序设计方法也有它的缺陷,主要表现在以下方面:(1)难以适应大型软件的设计(2)程序

3、可重用性差这些由结构化程序设计的特点所导致的缺陷,其本身无法克服,而越来越多的大型程序设计又要求必须克服它们,这最终导致了“面向对象”设计方法的产生。1.1.2 面向过程对象的程序设计思想及语言“面向对象”程序设计是一种解决问题时整体看待一个实体的思想。它是从现实世界中客观存在的事物出发来构造软件系统,强调直接以现实世界中的事物为中心来思考问题、认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。简单地来说,就是将我们编程时独立考虑的相关的一些属性和一些操作都“打个包”,整体来对待,也就是将我们现实世界的事物看成属性(数据)和它本身的操作(方法)来整体对

4、待。把数据和方法整合到一起就形成了类,类声明得到对象,编程时有效地利用类的继承性,会在很大程度上提高编程效率。1.1.2 面向过程对象的程序设计思想及语言 与面向过程程序设计相比,面向对象程序设计有以下优点:(1)数据抽象的概念可以在保持外部接口不变的情况下改变内部实现,从而减少甚至避免对外界的干扰。(2)通过继承可大幅减少冗余的代码,并可以方便地扩展现有代码,提高编码效率,也减少了出错概率,降低了软件维护的难度。(3)结合面向对象分析、设计,允许将问题中的对象直接映射到程序中,减少了软件开发过程中中间环节的转换过程。(4)通过对对象的辨别、划分可以将软件系统分割为若干相对为独立的部分,在一定

5、程度上便于控制软件复杂度。(5)通过对象的聚合、联合,可以在保证封装与抽象的原则下实现对象的内在结构以及外在功能的扩充,从而实现对象由低到高的升级。1.1.2 面向过程对象的程序设计思想及语言 面向对象程序设计语言与传统的面向过程编程语言的主要区别在于:传统过程性语言中把数据以及处理它们的子程序当作互不相关的成分分别处理,而面向对象语言则把这两者统一作为对象封装一起进行处理。面向对象的思想是G.Booch在研究Ada软件开发方法时首先提出来的,它的一个重要概念就是类。完全面向对象的语言有Smalltalk、C+、Eiffel、Java等。1.2 Java程序设计语言Java语言概述Java语言

6、的三大开发体系1.2.1 Java语言概述 1995年5月23日,Sun公司正式发布了Java产品。Java语言一经推出,就受到了业界的关注。Netscape公司第一个认可Java语言,并于1995年8月将Java解释器集成到它的主打产品Navigator浏览器中。接着,Microsoft公司在Internet Explorer浏览器中认可了Java语言。Java语言开始了自己的发展历程。Java语言是简单的、面向对象的语言,它具有分布式特点、安全性,又可以实现多线程,更主要的是它与平台无关,解决了困扰软件界多年的软件移植问题。1.2.2 Java语言的三大开发体系 Java发展到今天,已从编

7、程语言发展成为全球第一大通用开发平台。Java技术已被计算机行业主要公司所采纳。1999年,Sun公司推出了以Java 2平台为核心的J2SE、J2EE和J2ME三大平台。Java 2 Platform,Standard Edition(J2SE)Java 2 Platform,Enterprise Edition(J2EE)Java 2 Platform,Micro Edition(J2ME)简单地说,J2SE用于小型程序,J2EE用于大型程序,J2ME用于手机等程序。J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但新添加了一些专用类。语言都是相同的,只是捆绑的类库API不同。也

8、就是说,J2SE是基础;压缩一点,再增加一些CLDC等方面的特性就是J2ME;扩充一点,再增加一些EJB等企业应用方面的特性就是J2EE。第10章 Java的数据库编程开发重点难点掌握Connection,PreparedStatement语句掌握ResultSet的循环处理学习目标掌握JDBC的工作原理掌握如何获取数据库连接掌握如何对数据进行增、删、改、查10.1 典型案例【案例描述】使用Eclipse编写程序,假定在SQL Server 2012中已经建立名称为news的数据库,数据库用户名为sa,密码为sa,连接数据库成功输出“建立连接成功!”并关闭连接。运行结果如图所示。【运行结果】1

9、0.2.1 JDBC的功能简介 JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力。有了JDBC,访问各种数据库就是一件很容易的事。换而言之,有了JDBC,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库或SQL Server数据库又专门写另外的程序。我们只需要用JDBC写一个程序就够了。10.2.1 JDBC的功能简介JDBC程序的工作原理1JDBC API:提供了Java应用程序与各种不同数据库交互的标准接口。2JDBC Driver Manager:由Sun公司提供,它能够管理各种不同的JDBC驱动。3JDBC驱动:由各个数据库厂商提供,负责连接各

10、种不同的数据库。10.2.1 JDBC的功能简介 JDBC API可做三件事:与数据库建立连接、发送SQL语句、处理结果JDBC API工作的4个重要环节。(1)DriverManager类:依据数据库的不同,管理JDBC驱动。(2)Connection接口:负责连接数据库并担任传送数据的任务。(3)Statement接口:由Connection接口产生,负责执行SQL语句。(4)ResultSet接口:负责保存Statement语句执行后所产生的查询结果。10.2.2 JDBC应用模型开发一个JDBC应用程序,基本需要以下步骤:(1)把JDBC驱动类装载入Java虚拟机中。(2)加载驱动,并

11、与数据库建立连接。(3)发送SQL语句,并得到结果集。一旦建立连接,就使用该连接创建Statement接口的实例,将SQL语句传递给它所连接的数据库,并返回类型为ResultSet的对象,它包含执行SQL查询语句的结果。(4)处理结果。使用ResultSet对象的next()方法将光标(cursor)指向下一行。下面给出JDBC程序的代码模板:10.2.2 JDBC应用模型10.3 应用JDBC访问数据库10.3.1 加载JDBC驱动1JDBC-ODBC桥连不需要额外下载JDBC驱动程序,只需要配置ODBC数据源。2纯Java驱动方式首先,需要下载数据库厂商提供的驱动程序jar包,并将jar包

12、引入工程中。10.3.2 开发任务描述案例需求:对新闻发布系统中的新闻标题进行管理,要求如下所示。(1)新闻标题存储在SQL Server 2012中。(2)通过JDBC对新闻标题进行增、删、改、查操作10.3.3 Statement语句 获取Connection对象之后就可以进行数据库操作了。使用Connection对象,可以生成Statement实例。下面列出了执行SQL命令的三个方法。(1)ResultSet executeQuery(String sql):可以执行 SQL查询语句并获取到ResultSet对象。(2)int executeUpdate(String sql):可以执行

13、插入、删除、更新等操作,返回值是执行该操作所影响的行数。(3)boolean execute(String sql):这是一个最为一般的执行方法,可以执行任意SQL语句,然后获得一个布尔值,表示是否返回ResultSet。10.3.4 PreparedStatement语句 PreparedStatement接口继承自Statement接口,PreparedStatement对象比普通的Statement对象使用起来更加灵活,更有效率。PreparedStatement实例包含已编译的SQL语句,SQL语句可具有一个或多个输入参数。这些输入参数的值在SQL语句创建时未被指定,而是为每个输入参数

14、保留一个问号(?)作为占位符。10.3.5 使用PreparedStatement插入数据10.3.6 使用PreparedStatement删除数据10.3.7 使用PreparedStatement更新数据10.3.8 使用PreparedStatement查询数据第2章初识Java程序设计学习目标 了解Java开发环境 掌握Java语言的运行机制 了解Java虚拟机重点难点 Java环境变量的配置 Eclipse的使用2.1 典型案例【案例描述】使用Eclipse编写程序,在控制台输出多行信息,运行结果如下所示。【运行结果】2.2 Java开发环境的搭建Java虚拟机的简介JDK的下载与

15、安装配置系统环境变量2.2.1 Java虚拟机的简介 Java虚拟机(Java Virtual Machine,JVM)为Java语言实现了平台无关性。使用Java语言编写的程序需要经过Java编译器编译,这时会生成与平台无关的字节码(*.class文件)。这种字节码是不可执行的,必须使用JVM来解释执行。因此,我们无论在任何系统上编写Java程序,只要该平台安装了JVM,便可以运行。2.2.2 JDK的下载与安装 JDK(Java Development Kit),即Java标准开发工具箱,是Oracle公司提供一套用于开发Java应用程序的开发工具,提供了编译、运行Java程序所需要的各种

16、工具和资源,包括Java编译器、Java运行环境,以及常用Java类库等。Java运行环境也称为JRE(Java Runtime Environment),是运行Java程序的必要条件。可以说JRE里包括JVM。2.2.2 JDK的下载与安装JDK官方下载网址为:http:/ JDK的下载与安装JDK的安装2.2.3 配置系统环境变量JDK安装完成需要进行环境变量的配置。2.2.3 配置系统环境变量在“变量名”文本框中输入“PATH”,在“变量值”文本框中输入“C:Program FilesJavajdk1.7.0_75bin”。在“变量名”文本框中输入“CLASSPATH”,在“变量值”文本

17、框中输入“.;C:Program FilesJavajdk1.7.0_ 75libdt.jar;C:Program FilesJavajdk1.7.0_75libtools.jar”。Java版本如果是1.5以上的只需要配置“PATH”环境变量即可,如果是Java EE仍需要配置CLASSPATH。“变量值”为Java的lib文件夹中tools.jar与dt.jar的路径,但是千万注意必须在变量值的最前面加上“.;”,不然配置不会成功。它表示当前目录,用于识别当前目录的Java类。tools.jar与dt.jar两个路径之间添加“;”。2.3 Eclipse集成开发工具的使用Java的集成开发

18、工具简介Eclipse的下载与安装Eclipse的基本使用2.3.1 Java的集成开发工具简介 对于初学者来说,使用JDK开发Java程序可以很快理解程序中代码之间的关系,有利于理解Java的设计思想,在学习中可以不使用任何IDE(集成开发环境)工具来学习编程,Windows平台可以使用记事本,Linux可以使用VI等工具。但是,倘若进行大规模的开发时,便会显得捉襟见肘,因此,Java的集成开发工具是我们未来进行Java学习中必不可少的工具。其中包括:Eclipse、NetBeans、JBuilder、JDeveloper等IDE工具。2.3.2 Eclipse的下载与安装Eclipse下载

19、地址为http:/www.eclipse.org/downloads/,选择符合系统版本的Eclipse下载。下载后解压下载的文件。双击文件夹中的eclipse.exe即可进行Java语言的开发。2.3.3 Eclipse的基本使用运行Eclipse设置Eclipse工作空间路径在工作区创建新项目创建包、类在工作界面编写代码、保存、运行第3章Java程序设计基础重点难点Java变量的使用Java各种运算符及表达式的使用Scanner类的应用学习目标 掌握标识符命名规则 了解Java关键字 掌握Java基本数据类型 掌握变量的定义及使用 掌握Java各种运算符及表达式 了解运算符的优先级 理解类

20、型转换的含义 熟悉String及Scanner类的用法3.1 典型案例【案例描述】使用Eclipse编写程序,从控制台输入一个学生三门课的成绩,计算并输出三门课的总成绩与平均成绩,运行结果如下图所示。【运行结果】3.2 Java语言组成元素Java的标识符Java的关键字Java的分隔符3.2.1 Java的标识符“标识符”是作为标志识别用的符号。Java语言中所有的变量、方法、类和对象等被处理的数据都是要有名称的,标识符就是用来给这些数据命名用的符号。在Java语言中,用户自定义标识符必须遵守以下原则:(1)标识符只能由数字、字母、下划线(_)或美元符号($)构成,并且开头不能是数字。(2)

21、大写、小写字母被认为是两个不同的字符。(3)没有长度限制,可以为标识符取任意长度的名字。(4)不能和Java语言的关键字相同,但是它可以包含关键字,作为其名字的一部分。例如:合法标识符:a4,china,n_xy,Q7tz,$change。不合法标识符:2_a,#class,float,void,No-1。3.2.2 Java的关键字 关键字是Java语言中具有专门含义和用途的特殊标识符,不能当作用户的标识符使用。Java中的常见关键字如下表。abstractbooleanbreakbytecasecatchcharclasscontinuedefaultdodoubleelseextends

22、finalfinallyfloatforitimplementsimportinstanceintinterfacelongnativenewnullpackageprivateprotectedpublicreturnshortstaticsuperswitchsynchronizedthisthrow/throwstransienttryvoidvolatilewhileassertenum3.2.3 Java的分隔符 注释符可以提高程序的可读性,注释的内容一般起到提示编程思路或者说明程序功能的作用。注释符有3种形式。“/注释内容”以“/”开始的该行后面的内容为注释,用于单行的注释,放在一

23、行的开头或语句的结尾。“/*注释内容*/”用于多行的注释。“/*注释内容*/”用于多行的注释。这种注释被写入javadoc文档。空白符包括空格符、回车符、换行符和制表符等。使用时,多个空白符与一个空白符的作用相同。普通分隔符是有语法含义的,需要按照语法规定去使用。普通分隔符有以下4种。大括号“”用于定义复合语句和数组的初始化以及定义类体、方法体等。分号“;”用于结束语句。逗号“,”用于分隔变量、参数。冒号“:”用于分隔标号和语句。3.3 数据类型Java语言的数据类型可分为基本数据类型和引用数据类型3.3.1 基本数据类型3.3.2 常量与变量 常量就是在程序运行过程中其值保持不变的量,即不能

24、被程序改变的量,也把它称为最终量。常量可分为数值常量和符号常量。数值常量就是直接出现在程序语句中的常量值。数值常量也有数据类型,系统根据数值量识别。符号常量使用一个标识符来替代一个常量数值,其定义的一般格式为:final 数据类型 常量名=value,常量名=value;其中:final关键字,表示后边定义的是常量,即符号常量;数据类型常量的数据类型,它可以是基本数据类型之一;常量名标识符,它表示常数值value,在程序中凡是用到value值的地方均可用常量名标识符替代。注意:在程序中,为了区分常量标识符和变量标识符,常量标识符一般全部使用大写字母。3.3.2 常量与变量变量是程序中的基本组成

25、部分,在程序的运行过程中可以随时改变其存储单元的值。变量定义的一般格式如下:数据类型 变量名=value,变量名=value;其中:数据类型表示后边定义变量的数据类型;变量名一个标识符,应遵循标识符的命名规则。可以在说明变量的同时为变量赋初值。例如:int x1=5,x2=-8;float f1=4.4f,f2=1.325f;double d=75.2;3.3.2 常量与变量 没有初始值的变量是不能使用的,否则编译不能通过。声明变量时如果没有给变量赋初值,则可用赋值语句来赋初值。赋值语句格式如下:变量名=表达式;其功能是:计算出“表达式”的值,将其赋值给左边的变量。注意:右边必须是有确定值的表

26、达式,左边只能是已经定义过的变量。例如:变量的声明与赋值。int a;/变量的声明 a=70;/变量的赋值 char c;/变量的声明 c=B;/变量的赋值 变量的初始化是将变量的声明与赋值同时进行,即边定义边赋值。例如上面两组语句可以改写为:int a=70;/对变量a初始化 char c=B;/对变量c初始化 3.3.2 常量与变量 变量的作用域是指变量自定义的位置起,可以被使用的有效范围。在程序中不同的地方定义的变量具有不同的作用域。不同的变量,作用域也不同。局部变量是在方法内定义的变量,也称为自动(Automatic)变量。它的作用域为它所在方法或方法中的某块代码,离开该方法,局部变量

27、被清除。在成员方法内定义的变量是该成员方法的局部变量。在几个成员方法中使用相同的变量名,其所代表的是不同的变量。在一个确定的域中,变量名应该是唯一的。通常,一个域用大括号“”和“”来划定。局部变量在方法或方法的某一块代码中声明。类变量是在类中声明的,不是在类的方法中声明的,显然它的作用域是整个类。方法参数是将数据传递给方法的,它的作用域不能超越使用它的方法。异常处理参数是传递给异常处理代码的,其作用域就是异常处理部分。3.3.3 数据类型转换 整型、实型、字符型数据可以混合运算。当程序中出现这种情况时,Java语言要进行变量数据类型转换,使各类型一致后,再进行运算。在Java语言里,类型转换有

28、两种:自动类型转换和强制类型转换。自动类型转换发生在不同数据类型的混合运算时,由编译系统自动完成。一般情况下,系统自动将两个运算数中低级的运算数转换为和另一个较高级运算数的类型相一致的数据,然后再进行运算。自动转换遵循以下规则:(1)若运算数的类型不同,则先转换成同一类型,然后进行运算。(2)转换按数据长度增加的方向进行,以保证精度不降低。(3)所有的浮点型数据运算都是以双精度进行的,即使仅含单精度运算的表达式,也要先转换成double型,再进行运算。(4)char、short和byte型参与运算时,必须先转换成int型。(5)在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转

29、换为左边量的类型。如果右边量的数据类型长度比左边量的数据类型长度长,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。3.3.3 数据类型转换 强制类型转换的功能是把变量或表达式的运算结果强制转换成类型说明符所表示的类型。其一般形式为:(类型说明符)变量 或 (类型说明符)(表达式)(类型说明符)中的“()”称为强制类型转换运算符。例如:(double)a;/把a转换为实型 (int)(x+y);/把x+y的结果转换为整型 注意:(1)在使用强制转换时表达式必须加括号(单个变量可以不加括号)。例如:把(int)(x+y)写成(int)x+y则表示将x转换成int型之后再与y相加。

30、(2)无论是强制转换还是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型和初值。3.4 运算符与表达式 运算符与表达式是构成程序语句的要素。Java提供了多种运算符,分别用于不同运算的处理。表达式是由操作数和运算符按一定的语法形式组成的符号序列。一个常量或一个变量名是最简单的表达式。表达式是可以计算出结果的,一个表达式肯定有一个确定类型的值。3.4.1 算术运算符及算术表达式 常用的算术运算符有:+(加),-(减),*(乘),/(除),%(求余),+(自加1),-(自减1),它们用于数值量的算术运算。由算术运算符与操作数连接起来的式子称

31、为算术表达式。例如:x+6/y,i+,5*(a-8),(a+b)%10等。加、减、乘、除四则运算的运算规则和数学中的基本一致。说明:(1)“/”:除法运算符左右两边的运算数均为整型时,结果也为整型,舍去小数部分。如果两个运算数中至少一个为实型,则结果为double型。(2)“%”:求余运算用来求两数相除后的余数,如:5%3结果为2。(3)“+”:加法运算符在字符串类型中也可以使用,其功能是实现字符串的连接,如:hello+java的结果为hellojava。(4)“+”“-”是单目运算符,参与运算的是单个变量,它分为前置运算和后置运算,如:+i,i+,-i,i-,其功能是使i自身加1或减1,即

32、相当于i=i+1或i=i-1。前缀+、-与后缀+、-有区别。+i在使用i之前使i的值加1,即i的值先加1,后使用;i+在使用i之后使i的值加1,即i的值先使用,后加1。3.4.2 关系运算符及关系表达式关系运算符用于两个数据的比较运算,它们包括:(大于),=(大于等于),=z,(ab)!=(bc)。“关系”运算就是“比较”运算,它通常用来比较两个表达式的值,根据比较的结果得出布尔类型的值true 或false。例如:设x=100,y=60,则 (1)xy的值为true。(2)x=y的值为false。3.4.3 逻辑运算符及逻辑表达式 在程序的流程控制中,只需描述单一条件的,可以用关系表达式如“

33、x=1”来实现,如果需要描述“x=1”且“x10”这样比较复杂的条件就要用到逻辑表达式了。Java的三种逻辑运算符的三种逻辑运算符&逻辑与(相当于“并且”)|逻辑或(相当于“或者”)!逻辑非(相当于“否定”)运算规则运算规则 逻辑运算符的操作数和结果都是布尔型。(1)&运算的一般形式是:A&B。其中:A、B是逻辑或关系表达式。若A和B的值至少有一个为false,则A&B的值为false;若A和B的值均为true,则A&B的值为true。(2)|运算的一般形式是:A|B。其中:A、B是逻辑或关系表达式。若A和B的值至少有一个为true,则A|B的值为true;若A和B的值均为false,则A|B

34、的值为false。(3)!运算的一般形式是:!A。其中:A是逻辑或关系表达式。若A的值为true,则!A的值为false,反之为true。3.4.4 赋值运算符及赋值表达式赋值运算符是最常用的运算符,用于把一个表达式的值赋给一个变量(或对象)。一般形式为:变量=表达式赋值表达式的值为赋值号右边变量或表达式的值,例如:a=5的值为5,x=a+3的值为8,y=(a=3)+(b=8)的值为11。Java也提供了复合的赋值运算符,包括:+=,-=,*=,/=,%=。例如:x*=x+y;/相当于x=x*(x+y);x+=y;/相当于 x=x+y;3.4.5 其他运算符及表达式条件运算符是三目运算符,由条

35、件运算符组成的表达式的一般格式为:逻辑表达式(或关系表达式)?表达式1:表达式2 其功能是:若逻辑表达式(或关系表达式)的值为true,整个式子的结果取表达式1的值,否则取表达式2的值。条件运算符及条件表达式常用于简单分支的取值处理。对象运算符对象运算符(1)构造对象运算符(new)。new 运算符主要用于创建类的对象,我们将在后边的章节作详细介绍。(2)分量运算符(.)。.运算符主要用于获取类、对象的属性和方法。例如可使用System类对象的输出方法在屏幕上输出信息:System.out.println(my first Java program);。字符串连接运算符(字符串连接运算符(+)

36、在表达式中,如果+号运算符左右两边的操作数至少一个为字符串,此时该+号运算符的作用是字符串连接符。3.4.6 运算符的优先级Java运算符的优先次序3.4.6 运算符的优先级在上表中优先级为1的运算符优先级最高,优先级10的运算符优先级最低。结合性是指运算符结合的顺序,通常都是从左向右,也称为左结合。从右向左的运算符最典型的就是取负运算,例如3+-4,含义为3加-4,符号首先和运算符右侧的内容结合,也称为右结合。注意区分正负号和加减号的区别。其实在实际的开发中,不需要去记忆运算符的优先级别,也不要刻意地使用运算符的优先级别,对于不清楚优先级的地方可以使用小括号,这样便于代码的阅读和维护。第4章

37、程序控制语句重点难点 多重if语句和switch语句的适用场合 嵌套if语句的使用 使用循环语句的嵌套编写程序学习目标 掌握if条件结构 掌握if、if-else语句的格式 理解多重if语句和switch语句的异同点 掌握嵌套if语句的使用方法 理解循环结构的要素 掌握while、do-while、for语句的格式 掌握循环语句的嵌套 理解break和continue语句在程序中的使用场合4.1 典型案例【案例描述】使用Eclipse编写程序,将120这20个数按照每行5个顺序输出,运行结果如下图所示。【运行结果】4.2 顺序结构 顺序结构是最简单、最基本的程序控制结构,程序中的语句将自顶向下

38、逐条执行,即按语句的排列顺序从第一条顺序执行到最后一条,且每个语句只执行一遍,无需专门的控制语句。4.3 选择结构顺序结构的程序虽然能解决数据的输入、计算和输出等功能,但是不可能处理复杂的问题。在数据处理过程中,往往需要根据不同的情况,完成不同的处理。例如,任意输入两个数a和b,输出较大的数。解决这样的问题,就需要让计算机按照给定的条件来进行判断,并且根据判断的结果选择相应的处理方式。实际上,这种处理方式就是要求程序本身具有一定的逻辑判断能力和选择能力。选择结构的执行就是根据一定的条件选择执行路径,而不是严格按照语句的物理顺序来执行。类似这种情况的处理,要使用if条件语句来实现。4.3.1 单

39、一if语句单一if语句的格式如下:if(表达式)语句;功能:若表达式的值为true,则执行语句,否则跳过该语句。其中,语句可以是单条语句或复合语句(用大括号“”括起的多条语句)。4.3.2 if-else语句if-else语句的格式如下:if(表达式)语句1;else 语句2;功能:如果表达式的值为true,执行语句1,否则执行语句2。4.3.3 多重if-else语句多重if-else语句的格式如下:if(表达式1)语句1;else if(表达式2)语句2;else if(表达式n-1)语句n-1;else 语句n;这是一种多选一的多分支结构,其功能是:如果表达式i(i=1n-1)的值为tr

40、ue,则执行语句i;如果所有表达式的值均为false,则执行语句n。4.3.4 switch语句多重if-else语句是实现多分支选择的语句。Java还提供了一种switch语句来实现“多选一”的功能。switch语句的一般格式如下:switch(表达式)case 常量1:语句组1;break;case 常量2:语句组2;break;case 常量n-1:语句组n-1;break;case 常量n:语句组n;break;default:语句组n+1;4.3.4 switch语句表达式的值必须是int型或char型。常量i(i=1n)是对应于表达式类型的常量值。各常量的值不能相同。语句组i(i=

41、1n+1)可以是空语句,也可是一个或多个语句。break的作用是结束本switch结构语句的执行,跳到该结构外的下一个语句执行。先计算表达式的值,根据该值查找与之匹配的常量i,若找到,则执行语句组i,遇到break语句后跳出switch结构,否则继续依次执行下边的语句组。如果没有查找到与计算结果相匹配的常量i,则执行default关键字后的语句组n+1。4.3.5 嵌套if语句多重if语句是用于多个并列条件选择的情况。如果多个条件是递进关系,可以在if语句或if-else语句的“语句1”或“语句2”中再使用if语句或if-else语句,这种设计方法称为嵌套。嵌套if语句格式如下:if(表达式)

42、if语句;或者 if(表达式)if-else语句;else if-else语句;4.4 循环结构循环是我们周围存在的最普遍的现象之一,许多复杂的问题往往需要做大量雷同的重复处理。可见,循环结构是程序设计中的一个常用结构。Java语言提供了3种循环语句来实现循环结构的程序设计,分别为for循环语句、while循环语句和do-while循环语句。一般情况下,for循环用于处理确定次数的循环,while和do-while循环用于处理不确定次数的循环。4.4.1 while循环语句while循环的一般格式:while(表达式)/表达式为循环条件 语句组;/循环体 表达式可以是关系表达式或逻辑表达式,它

43、产生一个布尔值。语句组是循环体,是要重复执行的语句序列。当表达式的值是true时,重复执行循环体(语句组)操作,当表达式的值是false时,结束循环操作,执行while循环体下边的程序语句。4.4.2 do-while循环语句do-while循环的一般格式:do 语句组;/循环体 while(表达式);while与do-while之间的差别在于:while循环先判断表达式的值,如果表达式的值为true则执行循环体,否则跳过循环体的执行,因此如果一开始布尔表达式的值就为false,那么循环体一次也不被执行;do-while循环是先执行一次循环体,然后再判断表达式的值,若其值为true则再次执行循

44、环体,否则执行后边的程序语句。无论布尔表达式的值如何,do-while循环都至少会执行一次循环体语句。4.4.3 for循环语句for循环语句的一般格式如下:for(表达式1;表达式2;表达式3)语句组;/循环体 表达式1一般用于设置循环控制变量的初始值,例如:int i=1;。表达式2一般是关系表达式或逻辑表达式,用于确定是否继续进行循环体语句的执行。例如:i100;。表达式3一般用于循环控制变量的增减值操作。例如:i+;。语句组是要被重复执行的语句,称为循环体。语句组可以是空语句、单个语句或多个语句。4.4.4 循环语句的嵌套如果一个循环语句的循环体中又包含一个循环语句,则称之为循环语句的

45、嵌套,也称为多重循环。前面学习的三种循环语句,每一种语句的循环体部分都可以再包含循环语句,所以多重循环很容易实现。循环的嵌套,按照嵌套层数,分别称为二重循环、三重循环等。处于内部的循环称为内循环,处于外部的循环称为外循环。执行过程以二重循环为例。从最外层开始执行,外循环变量每取一个值,就判断一次循环条件,如果为真,内循环就执行一次循环体,内循环结束后,再回到外循环,外循环变量取下一个值,如果循环条件依然为真,内循环又开始执行一次循环体。依此类推,直到外循环结束。第5章数组与字符串学习目标 掌握一维数组的声明、分配空间的方法,熟练使用一维数组解决实际问题 掌握二维数组的声明、分配空间和使用方法,

46、熟悉二维数组输入/输出方法 掌握字符串常量对象的创建和使用方法 掌握字符串的一些常用方法,并能熟练运用这些方法解决相关问题 理解String类和StringBuffer类的区别,并能进行实际应用重点难点 一维数组的实际应用 String类和StringBuffer类的区别及使用5.1 典型案例【案例描述】使用Eclipse编写程序,从控制台输入10个学生Java课程的成绩,计算并输出这10个学生的平均成绩及最高分与最低分,运行结果如下图所示。【运行结果】5.2 一维数组 数组是一种构造类型。数组中的每个元素都具有相同的数据类型,且可以用数组名和下标来唯一地确定。数组是有序数据的集合。和其他变量

47、一样,数组必须先声明定义,然后赋值,最后再使用。5.2.1 一维数组的声明一维数组声明的一般格式如下:数据类型 数组名;或 数据类型 数组名;数据类型说明数组元素的类型,可以是Java中任意的数据类型。数组名是一个标识符,应遵照标识符的命名规则。例如:int a;/声明一个整型的一维数组a 若数组的类型一样,则可以一次定义多个数组。例如:int x,y,z;Java语言在对数组进行声明时,并不会为数组分配存储空间。因此在对数组进行声明时,是不允许指明数组长度的,而且声明后的数组必须通过分配存储空间来创建数组对象后,才可以访问数组中的元素。5.2.2 一维数组的初始化 一般情况下,使用new运算

48、符定义数组大小,格式如下:数组名=new 数据类型size;size指数组的长度。例如:int array1;/声明一个整型数组 array1=new int5;/定义数组可以存放5个整型元素 此时,整型数组array1的长度为5,即包含5个整型数组元素:array10、array11、array12、array13、array14。每一个元素都可以存放一个整型的数据,相当于5个整型变量。当用new关键字为一个数组分配内存空间后,可以为每个数组元素赋值,例如:array10=1;/数组下标从0开始 array11=2;array12=3;array13=4;array14=5;通常也可以采用如

49、下方式为数组元素赋初值并由初值的个数确定数组的大小。int array1=1,2,3,4,5;上述语句声明并创建了数组array1,并且为数组中的每个元素赋值,使得array10=1,array11=2,array12=3,array13=4,array14=5。系统将根据所给初值的个数计算出数组的长度并分配相应的存储空间。5.2.3 访问一维数组数组元素的使用数组元素的使用 为数组分配好内存空间后,就可以像普通数据类型的变量一样在程序中使用数组元素,即可以在任何允许使用变量的地方使用数组元素。数组元素的访问方式为:数组名下标;下标可以为整型常量或表达式,下标值从0开始。数组是作为对象处理的,

50、它具有长度(length)属性,用于指明数组中包含的元素个数。因此数组的下标从0开始到length-1结束。如果在引用数组元素时,下标超出了此范围,系统将产生数组下标越界异常(ArrayIndexOutOfBoundsException)。5.2.3 访问一维数组 数组的使用数组的使用-当数组创建后,数组名就存储了数组存储空间的起始地址,也可以使用该数组名给其他同类数组名赋值,这样使得多个数组共享一组内存空间和数据。5.3 多维数组 在Java语言中,多维数组是建立在一维数组基础之上的,以二维数组为例,可以把二维数组的每一行看作是一个一维数组,因此可以把二维数组看作是以一维数组为元素的数组。同

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(PPT课件-Java程序设计基础与实践.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|