![《面向对象程序设计项目教程》教案_第1页](http://file4.renrendoc.com/view11/M00/1C/1B/wKhkGWW07hCAFJmXAAJBPs03Ph0299.jpg)
![《面向对象程序设计项目教程》教案_第2页](http://file4.renrendoc.com/view11/M00/1C/1B/wKhkGWW07hCAFJmXAAJBPs03Ph02992.jpg)
![《面向对象程序设计项目教程》教案_第3页](http://file4.renrendoc.com/view11/M00/1C/1B/wKhkGWW07hCAFJmXAAJBPs03Ph02993.jpg)
![《面向对象程序设计项目教程》教案_第4页](http://file4.renrendoc.com/view11/M00/1C/1B/wKhkGWW07hCAFJmXAAJBPs03Ph02994.jpg)
![《面向对象程序设计项目教程》教案_第5页](http://file4.renrendoc.com/view11/M00/1C/1B/wKhkGWW07hCAFJmXAAJBPs03Ph02995.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计教案
首页
课程名称面向对象程序设计课程编号
总学时数总学时96理论学时48实践学时48____学分数6
()校级公共课()专业课
必修课
课程类型(V)基础课或专业基础课
选修课()限选课()任选课
授课年级
2020级大数据技术与应用1-5班
专业班级
授课方式讲授、课堂讨论、案例分析、实践课题写作
考核方式(V)考试()考查
掌握面向对象基本概念和三大特点、JDBC数据库操作、集合应用、文件操
作、网络编程的使用,熟悉SwingUI设计等。同时,培养学生掌握基本的创新
方法、具有追求创新的态度和意识,能够独立思考、分析问题,能够利用计算机
教学目标编程解决实际问题的能力;并且培养学生具有一定的项目开发能力、团队协作的
及基本要求精神以及适应信息化社会要求的自学能力和获取计算机新知识、新技术的能力。
该课程的考核方法为“考试”,总分100分。平时成绩占30%(根据出勤情
况、课堂表现、作业完成),随堂小测验20%,期末试卷占50%。
名称面向对象程序设计项目教程
作者向守超
教材
出版社西安电子科技大学出版社
出版时间2022年1月
作者及书名《Java8基础应用与开发》QST青软实训
1.
出版社及出版时间清华大学出版社2015.7
参作者及书名《Java程序设计》张化祥
考2.
书出版社及出版时间清华大学出版社2010.10
作者及书名《Java2实用教程》颜志军
3.
出版社及出版时间清华大学出版社2011.9
授课
向守超职称教授系部信息工程学院
教师
授课学期学年第2学期
面向对象程序设计教案
章节及名称项目1走进Java学时4
1.知识目标:
1).了解Java的起源、特点和结构体系.
2).掌握Java开发环境和集成开发工具的安装和配置。
3).熟悉Java语言的编写规范。
教学目的
4).掌握Java应用程序的结构、编译、调试和运行的基本方法和基本步骤。
与要求
2.能力目标:
1).能够理解Java体系结构。
2).能够安装配置Java集成开发环境。
3).能够创建Java项目和类,并能够编写简单代码,进行调试和运行。
重点:
1.Eclipse的下载与安装
教学重点2.Java编写规范
与难点难点:
1.Eclipse的基本操作
2.HelloWorld应用程序
教学方法1.方法:项目制教学、案例式教学、启发式教学、实践型教学。
与手段2.教具:多媒体教室,教学做一体化教学多媒体教室,教学做一体化教学
内容提要辅助手段
【课程导入】(时间5分钟)
问题:Java的由来?
【任务描述】通过HelloWorld应用程序的解读,从而了解Java的起源、特
点和体系,熟悉Java语言的编写规范,掌握Java开发环境和开发工具的安
装与配置,掌握Java应用程序的结构、编译、调试和运行的基本方法和基本
步骤等。
()板
【讲授内容】
书
任务1认识Java
()实
教学内容1.IJava自1995诞生,至今已经20多年的历史。Java的名字来源于印
物展示
度尼西亚爪哇岛的英文名称。詹姆斯•高斯林(JamesGosling)也被人们亲
提要与()投
时间分配切的称为Java之父。
影片
1.2从1995年Java诞生以来,Java先后经历了10多个版本的变更,当
(J)电
然版权的所有者也一度由Sun变为Oracle。如表1-1所示为Java发展过程中
子教案
几个重要的里程碑。
(J)项
1.3Java的特点
目展示
资源开源性、跨平台性、健壮、安全性、高性能性、简单性、面向对象、
动态性、多线程、支持分布式网络应用。
1.4Java应用平台
1999年,在美国旧金山的JavaOne大会上,Sun公司公布了Java体系
架构,该架构根据不同级别的应用开发划分了三个版本:
JavaSE(JavaStandardEdition,Java标准版)
JavaEE(JavaEnterpriseEdition,Java企业版)
JavaME(JavaMicroEdition,Java微型版)
1.6Java跨平台原理
JVM在具体的操作系统之上运行,其本身具有一套虚拟指令,但它通常是
在软件上而不是在硬件上实现。JVM形成一个抽象层,将底层硬件平台、操作
系统与编译过的代码联系起来。Java字节码的格式通用,具有跨平台特性,
但这种跨平台建立在JVM虚拟机的基础之上,只有通过JVM处理后才可以将
字节码转换为特定机器上的机器码,然后在特定的机器上运行。
任务2安装配置开发环境
2.1JDK简介
JDK包含一批用于Java开发的组件,其中包括以下几部分:
•Java开发工具。这些开发工具都是可执行程序,主要包括:javac.exe
(编译工具)、java,exe(运行工具)、javadoc,exe(生成JavaDoc文档的工
具)和jar.exe(打包工具)等。
•Java运行环境。Java虚拟机可以运行在各种操作系统平台上,负责
解析和执行Java程序。
•Java继承类库(rt.jar)。提供了最基础的Java类以及各种实用类。
如java,lang、java.io>java.util>java,awt、java,swing和java,sql包
中的类都位于JDK类库中。
2.2JDK安装配置
2.3JDK目录
JDK主要目录如下:
•bin:JDK包中命令及工具所在目录。这是JDK中非常重要的目录,它
包含大量开发当中的常用工具程序,如编译器、解释器、打包工具、代码转
换器和相关调试工具等。
•jre:运行环境目录。JDK自己附带的Java运行环境。
•lib:类库所在目录。包含了开发所需要的类库(即JavaAPI)和支
持文件。
•db:附带数据库目录。在JDK6.0以上的版本中附带ApacheDerby
数据库,这是一个Java编写的数据库,支持JDBC4.0。
•include:包含本地代码的C头文件的目录。用于支持java本地接口
和Java虚拟机调试程序接口的本地代码编译。
•src.zip:源代码压缩文件。Java提供的API都可以通过此文件查看
其源代码是如何实现的。
在JDK的bin目录下,提供了大量的开发工具程序,以下是几个常用的
工具:
•javac:Java语言编译器。可以将Java源文件编译成与平台无关的字
节码文件(.class文件)。
•java:Java字节码解释器。将字节码文件在不同的平台中解释执行。
•javap:Java字节码分解程序。可以查看Java程序的变量以及方法等
信息。
•javadoc:文档生成器。可以将代码中的文档注释生成HTML格式的Java
API文档。
•javah:JNI编程工具。用于从Java类调用C++代码。
•appletviewer:小应用程序浏览工具,用于测试并运行Java小应用
程序。
•jar:打包工具。在JavaSE中压缩包的扩展名为.jar。
2.4Eclipse简介
Eclipse是一个开放源代码、可扩展的、跨平台的集成开发环境。Eclipse
最初主要用来进行Java语言开发,如今也是一些开发人员通过插件使其作为
其他语言如C++和PHP的开发工具。Eclipse本身只是一个框架平台,众多插
件的支持使得Eclipse具有更高的灵活性,这也是其他功能相对固定的IDE
工具很难做到的。
2.5Eclipse下载及安装
2.6Eclipse基本操作
课后小结
实训、作业
备注
面向对象程序设计教案
章节及名称项目2数据类型与运算符学时8
1.知识目标:
1).掌握Java中的字符集、分隔符、标识符、关键字
2).掌握变量和常量的定义和初始化
3).掌握基本数据类型
4).掌握Java中数据类型的转换、运算符和表达式
教学目的
2.能力目标:
与要求
1).能够进行标识符的正确定义,明确常见的关键字
2).能够进行变量和常量的定义与初始化
3).能够正确使用基本的数据类型
4).能够进行Java中数据类型的转换
5).能够运用运算符和表达式进行简单的编程
重点:
1.掌握变量和常量的定义和初始化
2.掌握基本数据类型
教学重点3.掌握Java中数据类型
与难点难点:
1.掌握变量和常量的定义和初始化
2.掌握基本数据类型
3.掌握Java中数据类型
教学方法1.方法:项目制教学、案例式教学、启发式教学、实践型教学。
与手段2.教具:多媒体教室,教学做一体化教学多媒体教室,教学做一体化教学
内容提要辅助手段
【课程导入】(时间5分钟)
问题:编写的四则计算器程序。
【任务描述】通过简单计算器的编写,从而理解Java的数据类型,掌握
变量、常量、运算符和表达式的应用。
()板
【讲授内容】
书
任务1了解字符
()实
教学内容1.1字符集
物展示
字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、
提要与()投
时间分配数字等。字符集是多个字符的集合,不同的字符集所包含的字符个数也不同
影片
Unicode支持UTF-8、UTFT6和UTF-32这三种字符编码方案,这三种方
(J)电
案的区别如表2-1所示•
子教案
1.2分隔符
(J)项
Java中使用多种字符作为分隔符,用于辅助程序编写、阅读和理解。这
目展示
些分隔符可以分为两类:
・空白符:没有确定意义,但帮助编译器正确理解源程序,包括空格、
回车、换行和制表符(Tab);
•普通分隔符:拥有确定含义,常用的普通分隔符如表2-2所示。
1.3标识符
在各种编程语言中,通常要为程序中处理的各种变量、常量、方法、对
象和类等起个名字作为标记,以便通过名字进行访问,这些名字统称标识符。
Java中的标识符由字母、数字、下划线或美元符组成,且必须以字母、
下划线(_)或美元符($)开头。
Java中标识符的命名规则如下:
•可以包含数字,但不能以数字开头;
•除下划线“/和“$”符以外,不包含任何其他特殊字符,如空格;
•区分大小写,例如“abc”和“ABC”是两个不同的标识符;
•不能使用Java关键字。
•标识符可有任意长度。
1.4关键字
关键字又叫保留字,是编程语言中事先定义的、有特别意义的标识符。
关键字对编译器具有特殊的意义,用于表示一种数据类型或程序的结构等,
关键字不能用于变量名、方法名、类名以及包名。
任务2变量和常量的定义
2.1变量
变量是数据的基本存储形式,因Java是一种强类型的语言,所以每个变
量都必须先声明后再使用。变量的定义包括变量类型和变量名,其定义的基
本格式如下:
数据类型变量名=初始值;
例如:定义整型变量
inta=1;//声明变量并赋初始值
2.2常量
常量是指一旦赋值之后其值不能再改变的变量。在Java语言中,使用
final关键字来定义常量,其语法格式如下:
final数据类型变量名=初始值;
例如:定义常量
finaldoublePI=3.1416;//声明了一个double类型的常量,初
始化值为3.1416
任务3数据类型
3.1基本数据类型
Java的基本数据类型主要包括如下四类:
・整数类型:byte、short>int、long
・浮点类型:float、double
•字符类型:char
•布尔类型:boolean
1.整型类型
整数类型根据大小分为byte(字节型)、short(短整型)、int(整型)
和long(长整型)四种,其中int是最常用的整数类型,因此通常情况下,
直接给出一个整数值默认就是int类型。其中,在定义long类型的变量时,
其常量后面需要用后缀1或L。
例如:声明整型类型变量
byteb=51;〃声明字节型变量
shorts=34;〃声明短整型变量
inti=100;〃声明整型变量
longm=121;〃声明长整型变量
longn=23L;//声明长整型变量
Java中整数值有4种表示方式:
•二进制:每个数据位上的值是。或1,二进制是整数在内存中的真实
存在形式,从Java7开始新增了对二进制整数的支持,二进制的整数以“0b”
或“0B”开头。
•八进制:每个数据位上的值是0,1,2,3,4,5,6,7,其实八进制是由3
位二进制数组成的,程序中八进制的整数以“0”开头。
•十进制:每个数据位上的值是0,12,3,4,5,6,7,8,9,十进制是生活
中常用的数值表现形式,因此在程序中如无特殊指明,数值默认为十进制。
•十六进制:每个数据位上的值是0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,
与八进制类似,十六进制是由4位二进制数组成的,程序中十六进制的整数
以“Ox”或“0X”开头。
2.浮点类型
浮点数据类型有单精度(float)和双精度(double)两种,主要用来存
储小数数值,也可以用来存储范围更大的整数。
单精度浮点型变量使用关键字float来声明,常量后面必须要有后缀f
或F。
例如:声明单精度浮点型变量
floatheight=1.78f;//声明变量height为单精度浮点型,并赋
初始值为1.78
floatweight=56.8F;〃声明变量weight为单精度浮点型,并赋初
始值为56.8
双精度浮点型变量使用关键字double来声明,常量后面可以有后缀d或
D,也可以省略,浮点类型默认为double型。
例如:声明双精度浮点型变量
doublea=1.24d;
doubleb=4.87D;
doublec=3.14;
3.字符型
Java语言中字符型char是采用16位的Unicode字符集作为编码方式,
因此支持世界上各种语言的字符。char通常用于表示单个字符,字符值必须
使用单引号(’)括起来。
例如:
charc='A';〃声明变量c为字符型,并赋初值为'A'
字符型char的值有以下三种表示形式:
•通过单个字符来指定字符型值,例如:‘A‘、’8'、'Z'等;
•通过转义字符来表示特殊字符型值,例如:‘\n'、'\t'等;
•直接使用Unicode值来表示字符型值,格式是'\uXXXX',其中XXXX
代表一个十六进制的整数,例如:'\u00FF'、'\u0056'等。
4.布尔类型
布尔类型又称逻辑类型,使用关键字boolean来声明,只有true和false
两种值。布尔类型的默认值是false,即如果定义一个布尔变量但没有赋初始
值,默认的布尔变量值是false。布尔类型通常用于逻辑判断,尤其多用在程
序的流程控制中。
例如:声明一个boolean类型变量
booleanmale=true;〃声明变量male为布尔类型,并赋初始值为
true
3.2引用数据类型
引用类型变量中的值是指向内存“堆”中的指针,即该变量所表示数据
的地址。
Java语言中通常有5种引用类型:
•数组:具有相同数据类型的变量的集合。
•类(class):变量和方法的集合。
•接口(interface):一系列方法的声明,方法特征的集合。
•枚举(enum):一种独特的值类型,用于声明一组命名的常数。
•空类型(nulltype):空引用,即值为null的类型。
3.3数据类型转换
在Java程序中,不同的基本类型的值经常需要进行相互转换。Java语言
提供7个基本数据类型间的相互转换,转换的方式有两种:自动类型转换和
强制类型转换。
1.自动类型转换
自动类型转换是将某种基本类型变量的值直接赋值给另一种基本类型变
量。当把一个数值范围小的变量直接赋值给一个数值范围大的变量时,系统
将进行自动类型转换,否则就需要强制类型转换。
Java语言中1个基本数据类型间的自动类型转换如图2.2所示。在图2.2
中,顺着箭头方向可以进行自动类型转换。
2.强制类型转换
当把一个数值范围大的变量赋值给一个数值范围小的变量时,即沿图2.1
中箭头反方向赋值时,则必须使用强制类型转换。
强制类型转换的基本格式如下:
数据类型变量1=(数据类型)变量2;
例如:
inta=56;
charc=(char)a;//把整型变量a强制类型转换为字符型
任务4运算符与表达式
运算符也称为操作符,是一种特殊的符号,用来将一个或多个操作数连
接成执行性语句,以实现特定功能。
Java中的运算符按照操作数的个数可以分为三大类型:
•一元运算符:只操作一个操作数;
•二元运算符:操作两个操作数;
•三元运算符:操作三个操作数。
4.1自增、自减运算符
++是自增运算符,将操作数在原来的基础上加1,一是自减运算符,将操
作数在原来的基础上减1。使用自增、自减运算符时需要注意以下两点:
•自增、自减运算符只能操作单个数值型的变量(整型、浮点型都行),
不能操作常量或表达式;
•自增、自减运算符可以放在操作数的前面(前缀自增自减),也可以
放在操作数后面(后缀自增自减)。
前缀自增自减的特点是先把操作数自增或自减1后,再放入表达式中运
算,后缀自增自减的特点是先使用原来的值,当表达式运算结束后再将操作
数自增或自减晨
4.2算术运算符
算术运算符用于执行基本的数学运算,包括加(+)、减")、乘(*)、
除(/)以及取余(%)运算符,
4.3关系运算符
关系运算符用于判断两个操作数的大小,其运算结果是一个布尔类型值
(true或false)
4.4逻辑运算符
逻辑运算符又称布尔运算符,用于进行逻辑运算.逻辑运算符包括&&(逻
辑与或短路逻辑与)、II(逻辑或或短路逻辑或)、!(逻辑非)、&(非短路逻
辑与)和I(非短路逻辑或)。
4.5位运算符
Java语言中的位运算符总体来说分为两类:按位运算符和移位运算符。
Java语言中有4种按位运算符,它们是按位与(&)、按位或(|)、按位非(~)
和按位异或C);移位运算符有3种,分别是右移位(>>)、左移位(«)和
无符号右移位(»»«
4.6赋值运算符
赋值运算符用于为变量指定变量值,Java中使用“=”作为赋值运算符。
通常使用可以直接将一个值赋给变量。例如:
inta=3;
floatb=3.14f;
除此以外,也可以使用“=”将一个变量值或表达式的值赋给另一个变量。
例如:
inta=3;
floatb=a;
doubled=b+3;
赋值运算符可与算术运算符、位运算符结合,扩展成复合赋值运算符。
4.7条件运算符
Java语言中只有一个条件运算符是“?:”,也是唯一的一个三元运
算符,其语法格式如下:
表达式?valuel:value2
其中:
•表达式的值必须为布尔类型,可以是关系表达式或逻辑表达式;
•若表达式的值为true,则返回valuel的值;
•若表达式的值为false,则返回value2的值。
例如:
〃判断a>b是否为真,如果为真则返回a的值,否则返回b的值,
//实现获取两个数中的最大数
a>b?a:b
4.8运算符优先级
通常数学运算都是从左到右,只有一元运算符、赋值运算符和三元运算
符除外。一元运算符、赋值运算符和三元运算符是从右向左结合的,即从右
向左运算。
乘法和加法是两个可结合的运算,即+、*运算符左右两边的操作数可以
互换位置而不会影响结果。
运算符具有不同的优先级,所谓优先级是指在表达式运算中的运算顺序。
在表达式求值时,会先按运算符的优先级别由高到低的次序执行,例如,算
术运算符中采用“先乘除后加减,先括号内后括号外”。
课后小结
实训、作业
备注
面向对象程序设计教案
章节及名称项目3了解流程控制结构学时16
1.知识目标:
1)掌握程序控制语句的基本语法结构
2)掌握分支语句和循环语句的应用
教学目的3)理解并熟练使用程序跳转语句
与要求2.能力目标:
1)能运用分支语句编写分支结构程序,并绘制相应的程序流程图。
2)能运用三大循环语句编写循环结构程序,并绘制相应的程序流程图。
3)能运用跳转语句完成比较复杂的程序编写。
重点:
1.掌握程序控制语句的基本语法结构
2.掌握分支语句和循环语句的应用
教学重点3.理解并熟练使用1程序跳转语句
与难点难点:
1.掌握程序控制语句的基本语法结构
2.掌握分支语句和循环语句的应用
3.理解并熟练使用程序跳转语句
教学方法1.方法:项目制教学、案例式教学、启发式教学、实践型教学。
与手段2.教具:多媒体教室,教学做一体化教学多媒体教室,教学做一体化教学
内容提要辅助手段
【课程导入】(时间5分钟)
问题:猜数字游戏
【任务描述】本节主要是掌握Java的流程控制结构,包括分支结构,循
环结构和跳转语句。能运用相关控制语句编写简单的猜数字游戏程序。
【讲授内容】
任务1了解语句概述()板
Java里的语句可分为以下六类。书
1.方法调用语句()实
教学内容
如:物展示
提要与
System,out.printingHello");()投
时间分配
2.表达式语句影片
由一个表达式构成一个语句,即表示式尾加上分号。比如赋值语句:(J)电
x=23;子教案
3.复合语句(J)项
可以用{}把一些语句括起来构成复合语句,如:目展示
{z=123+x;
System,out.printin(Z/Howareyou");
)
4.空语句
一个分号也是一条语句,叫做空语句。
5.控制语句
控制语句分为条件分支语句、开关语句和循环语句。
6.package语句和import语句
package语句和import语句与类、对象有关,将在以后的章节中讲解。
任务2掌握分支结构应用
2.1if条件语句
if条件语句是最常用的分支结构,其语法格式如下:
if(条件表达式D{语句块1)
[elseif(条件表达式2){语句块2}]
[elseif(条件表达式3){语句块3}]
[else{语句块n}]
其中,if语句需要注意以下几点:
•所有条件表达式的结果为布尔值(true或false);
•当“条件表达式1”为true时执行if语句中的“语句块1”部分;
•当”条件表达式1”为false时,执行elseif语句,继续向下判断
条件表达式,哪个条件表达式成立,执行相应的语句块;
•当所有条件表达式为false时执行else语句中的“语句块n”部分。
•elseif可以有多个;
•[]括起来的elseif、else可以省略。
根据语法规则,可以将if语句分为如下三种形式。
1.if语句
if语句是单条件单分支语句,即根据一个条件来控制程序执行的流程。
if语句的语法格式如下:
if(条件表达式){
语句块
}
if语句的流程图如图3.2所示。在if语句中,关键字if后面的一对小
括号()内的条件表达式的值必须为boolean类型,当值为true时,则执行
紧跟着的语句块,否则,结束当前if语句的执行。
需要注意的是,在if语句中,其中的语句块如果只有一条语句,{}可
以省略不写,但为了增强程序的可读性,最好不要省略。
2.if-else语句
if-else语句是单条件双分支语句,即根据一个条件来控制程序执行的
流程。if-else语句的语法格式如下:
if(条件表达式){
语句块
}else{
语句块
}
If-else语句的流程图如图3.3所示。在if-else语句中,关键字if后
面小括号()内的条件表达式的值必须为boolean类型,当值为true时,则
执行紧跟着的语句块,否则,则执行关键字else后面的语句块,结束当前
if-else语句的执行。
3.if-elseif-else语句
if-elseif-else语句是多条件分支语句,即根据多个条件来控制程序
执行的流程。if-elseif-else语句的语法格式如下:
if(条件表达式){
语句块
}elseif(条件表达式){
语句块
}elseif(条件表达式)(
语句块
)
.....〃可以有多个elseif语句
else(
语句块
}…
2.2switch开关语句
switch语句的语法格式如下:
switch(控制表达式){
casevaluel:
语句1;
break;
casevalue2:
语句2;
break;
casevalueN:
语句N;
break;
[default:默认语句;]
}
其中,switch语句需要注意以下几点:
•控制表达式的数据类型只能是byte、short>char、int、String和
枚举类型;
■case标签后的value值必须是常量,且数据类型必须与控制表达式的
值保持一致;
•break用于跳出switch语句,即当执行完一个case分支后,终止
switch语句的执行;只有在一些特殊情况下,当多个连续的case值要执行一
组相同的操作时,此时可以不用break。
•default语句是可选的。用在当所有case语句都不匹配控制表达式值
时,默认执行的语句。
任务3循环结构
循环结构是根据循环条件,要求程序反复执行某一段代码,直到条件终
止为止的程序控制结构。循环结构由四部分组成:
•初始化部分。开始循环之前,需要设置循环变量的初始值。
•循环条件。循环条件是一个含有循环变量的布尔表达式,循环体的执
行需要循环条件来控制,每执行一次循环体都需要判断该表达式的值,用于
决定循环是否继续。
•循环体。需要反复执行的语句块,可以是一条语句,也可以是多条语
句。
•迭代部分。改变循环变量值的语句。
Java语言中提供的循环语句有以下三种:
•for循环
•while循环
•do-while循环
3.1for循环
for循环是最常见的循环语句,其语法结构非常简洁,一般用在知道循环
次数的情况下,即固定循环。for循环的语法结构如下:
for([初始化表达式];[条件表达式];[迭代表达式]){
循环体
)
其中:
•初始化表达式只在循环开始之前执行一次;
•初始化表达式、条件表达式以及迭代表达式都可以省略,但分号不能
省,当三者都省略时将成为一个无限循环(死循环);
•在初始化表达式和迭代表达式中可以使用逗号隔开多个语句。
3.2while循环
while循环语句的语法格式如下:
while(条件表达式){
循环体
迭代部分
)
while循环语句的执行顺序是先判断条件表达式是否为true,如果为
true,则执行循环体内的语句,再进入下一次循环;如果条件表达式为false,
则终止循环
3.3do-while循环
do-while循环与while循环类似,只是while循环要先判断后循环,而
do-while循环则是先循环后判断,do-while循环至少会循环一次。
do-while循环的语法格式如下:
do{
循环体
迭代部分
}while(条件表达式);
do-while循环的执行顺序是先执行一次do语句块,然后再判断条件表达
式是否为true,如果为true,则进入下一次循环;如果为false,则终止循
环。
任务4转移语句
4.1break语句
break语句用于终止分支结构或循环结构,其主要用在以下3种情况:
•在switch语句中,用于终止case语句,跳出switch分支结构。
•在循环结构中,用于终止循环语句,跳出循环结构。
•与标签语句配合使用从内层循环或内层程序块中退出。
4.2continue语句
continue的功能与break有点类似,区别是continue只是忽略本次循环
体剩下的语句,接着进入到下一次循环,并不会终止循环;而break则是完
全终止循环。
4.3return语句
return语句并不是专门用于结束循环的,通常是用在方法中,以便结束
一个方法。return语句主要有以下两种使用格式:
・单独一个return关键字。
•return关键字后面可以跟变量、常量或表达式。例如:return0;
当含有return语句的方法被调用时,执行return语句将从当前方法中
退出,返回到调用该方法的语句处。如果执行的return语句是第一种格式,
则不返回任何值;如果是第二种格式,则返回一个值。
课后小结
实训、作业
备注
面向对象程序设计教案
章节及名称项目4认识数组学时8
1.知识目标:
1)掌握一维数组的定义和遍历
2)掌握数组的冒泡排序算法
3)掌握foreach遍历数组元素
4)了解二维数组的定义和基本应用
5)掌握Arrays类中常用方法的应用
教学目的
2.能力目标:
与要求
1)能运用数组数据结构来定义相同元素的集合。
2)能运用foreach结构访问数组元素。
3)能运用冒泡排序算法对数组元素进行排序
4)能运用Arrays类来对数组进行相应的操作。
5)能对二维数组进行基本的定义和操作
重点:
L掌握一维数组的定义和遍历
教学重点2.掌握数组的冒泡排序算法
与难点难点:
1.掌握foreach遍历数组元素
2.掌握Arrays类中常用方法的应用
教学方法1.方法:项目制教学、案例式教学、启发式教学、实践型教学。
与手段2.教具:多媒体教室,教学做一体化教学多媒体教室,教学做一体化教学
内容提要辅助手段
【课程导入】(时间5分钟)
问题:简单的投票游戏程序.
【任务描述】本节主要是掌握Java数组的定义和应用,包括一维数组的
创建和使用,数组冒泡排序算法,foreach遍历数组元素,二维数组的基本定
()板
义以及系统定义Arrays类的使用。能运用数组相关知识编写简单的投票游戏
书
程序。
()实
教学内容【讲授内容】
物展示
任务1创建数组
提要与()投
时间分配1.1数组的声明
影片
在Java编程语言中,定义数组时并不为数组元素分配内存。只有在初始
(J)电
化后才会为数组中的每一个元素分配空间,并且值得注意的是数组必须经过
子教案
初始化后才可以引用。
(J)项
Java语言支持两种语法格式来定义数组:
目展示
dataType[]arrayName;
dataTypearrayName[];
对这两种语法格式而言,通常推荐使用第一种格式。因为第一种格式不
仅具有更好的语意,而且具有更好的可读性。其中,dataType是数据元素的
数据类型,arrayName是用户自定义的数组名称,数组名的命名要符合标识符
的命名规则。
1.2数组的初始化
数组的初始化有静态初始化和动态初始化两种方式。静态初始化时由程
序员显示指定每个数组元素的初始值,由系统决定数组长度;动态初始化时
程序员只指定数组长度,由系统为数组元素分配初始值。
1.静态初始化
静态初始化的语法格式如下:
arrayName=newdataType[]{numl,num2,num3...);
在上面的语法格式中,dataType就是数组元素的数据类型,此处的
dataType必须与定义数组变量时所使用的dataType相同,也可以是定义数组
时所指定的dataType的子类,并使用花括号把所有的数组元素括起来,多个
元素之间用逗号隔开。
2.动态初始化
动态初始化的语法格式如下:
arrayName=newdataType[length]:
在上面的语法中,需要指定一个数组长度的length参数,也就是可以容
纳数组元素的个数。与静态初始化相似的是,此处的dataType必须与定义数
组变量时所使用的dataType相同,或者是定义数组时所指定的dataType的
子类。
任务2访问数组
数组最常用的用法就是访问数组元素,包括对数组元素进行赋值和取出
数组元素的值。访问数组元素中某个元素的语法格式如下:
arrayName[index]
在上面的语法中,index表示数组的下标索引,其取值范围从0开始,最
大值为数组的长度T。例如,array[0]表示数组array的第1个元素,
array[10]表示数组array的第11个元素。数组的长度可以通过“数组
名.length”进行获取。如果访问数组元素时指定的下标索引值小于0,或者
大于等于数组的长度,编译程序不会出现任何错误,但运行时会出现异常:
java.lang.ArraylndexOutOfBoundsException:N(数组索引越界异常),异
常信息后的N就是程序员试图访问的数组下标索引。下面案例示例了数组的
使用。
任务3冒泡排序算法
冒泡排序是一种简单的排序算法。这个算法的名字由来是因为越大的元
素会经数据交换慢慢“浮”到数列的顶端而得名,它重复访问要排序的数列,
一次比较两个元素,如果他们的顺序错误就把他们交换过来。
冒泡排序算法的原理如下:
1.比较相邻的元素,如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。
在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字
需要比较。
任务4foreach遍历数组
foreach循环能自动遍历数组或集合的每个元素。
foreach语句的语法结构如下所示:
for(数据类型变量名:数组名)
注意,foreach语句中的数据类型必须与数组的数据类型一致。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《AT供电技术》课件
- 《投资概论》课件
- 《贸易条约与协定》课件
- 《新生儿出血症》课件
- 绿色手绘风大学生互联网+创新创业项目计划书主题
- 智能农业设备介绍模板
- 2025年医用气体系统项目合作计划书
- 工商管理发展方向以及模式研究论文
- 妊娠期糖尿病患者糖脂代谢水平及肠道菌群变化情况对妊娠结局的影响
- 处分申请书范文
- 会议纪要督办管理制度
- 2024云南中考数学二轮专题复习 题型五 二次函数性质综合题(课件)
- JB∕T 9006-2013 起重机 卷筒标准规范
- 家庭法律服务行业市场突围建议书
- 高一数学同步优品讲练课件(人教A版2019必修第一册)3.2 函数的基本性质(课时3 函数的奇偶性)(课件)
- 智能化弱电工程技术方案(完整)
- 有关煤矿生产新技术、新工艺、新设备和新材料及其安全技术要求课件
- 黑色三分钟生死一瞬间事故案例具体情况分类别 一至七部
- 学校安全教育教师培训
- 配件供应技术服务和质保期服务计划方案
- 四川省的高等学校毕业生登记表(空表)
评论
0/150
提交评论