《Java程序设计项目教程(第二版)教学课件汇总完整版电子教案.pptx》由会员分享,可在线阅读,更多相关《Java程序设计项目教程(第二版)教学课件汇总完整版电子教案.pptx(516页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Java程序设计项目教程(第二版)21世纪技能创新型人才培养系列教材计算机系列PART 01项目1输出“Hello,World!PART 02项目2成绩录入与排序输出PART 03项目3学生信息管理PART 06项目6成绩的图形化表示PART 07项目7学生信息的文件操作PART 08项目8使用MysQL 管理学生信息目录CONTENTSPART 04项目4成绩的异常处理PART 05项目5学生信息系统可视化设计PART 09项目9多窗口售票程序PART 01项目1输出“Hello,World!JDK 的安装与配置Eclipse 的安装与运行任务1.1 JDK 的安装与配置任务1.1JDK 的
2、安装与配置 学习Java 程序设计,编写的程序必须有运行环境,因此编程之前需要把运行环境搭建好,本任务将学习如何搭建Java 运行环境。【任【任务情境情境】【任【任务实现】下载JDK 后安装,记住JDK 的安装路径,再进行JDK 运行环境的配置,配置界面如图1-1 所示。任务1.1JDK 的安装与配置搭建Java 程序运行环境,以便于后续程序的开发、调试与运行,必须要在电脑中安装所需的JDK,并进行必要的配置。【任【任务分析分析】任务1.1JDK 的安装与配置JDK 有许多版本,本教材以Win10 系统下安装新版本JDK14 及配置环境变量的方法为例进行介绍。1.1.1 1.1.1 下下下下载
3、载JDK14 JDK14 安装安装安装安装任务1.1JDK 的安装与配置1.1.1 1.1.1 下下下下载载JDK14 JDK14 安装安装安装安装任务1.1JDK 的安装与配置1.1.1 1.1.1 下下下下载载JDK14 JDK14 安装安装安装安装任务1.1JDK 的安装与配置JDK 的相关配置,就是设置环境变量,环境变量可以简单理解为:设置后我们就可以在任何地方执行Java 命令。1.1.2 1.1.2 配置配置配置配置环环境境境境变变量量量量任务1.1JDK 的安装与配置1.1.2 1.1.2 配置配置配置配置环环境境境境变变量量量量任务1.1JDK 的安装与配置1.1.2 1.1.
4、2 配置配置配置配置环环境境境境变变量量量量任务1.1JDK 的安装与配置1.1.2 1.1.2 配置配置配置配置环环境境境境变变量量量量任务1.1JDK 的安装与配置1.1.2 1.1.2 配置配置配置配置环环境境境境变变量量量量任务1.1JDK 的安装与配置任务1.2 Eclipse 的安装与运行任务1.2 Eclipse 的安装与运行 工欲善其事,必先利其器,要想方便地进行Java 程序的编辑、调试与运行,必须借助开发工具,因此应学会使用合适的开发工具进行程序开发。【任【任务情境情境】【任【任务实现】在Eclipse 集成开发环境下,建立并运行一个带有输出功能的程序,集成开发界面如图1-
5、11 所示。任务1.2 Eclipse 的安装与运行要运行Eclipse 应用,首先要下载Eclipse 并进行安装,安装完成后可结合Eclipse 的使用方法创建Java 应用并进行编辑、调试与运行。【任【任务分析分析】任务1.2 Eclipse 的安装与运行从Eclipse 官网https:/www.eclipse.org/downloads/下载Eclipse 的安装文件eclipseinst-win64.exe,双击安装文件开始安装。1.2.1 1.2.1 Eclipse Eclipse 的安装的安装的安装的安装任务1.2 Eclipse 的安装与运行1.2.1 1.2.1 Eclip
6、se Eclipse 的安装的安装的安装的安装任务1.2 Eclipse 的安装与运行1.2.1 1.2.1 Eclipse Eclipse 的安装的安装的安装的安装任务1.2 Eclipse 的安装与运行1.2.1 1.2.1 Eclipse Eclipse 的安装的安装的安装的安装任务1.2 Eclipse 的安装与运行1.2.2 1.2.2 Eclipse Eclipse 的运行的运行的运行的运行任务1.2 Eclipse 的安装与运行1.2.2 1.2.2 Eclipse Eclipse 的运行的运行的运行的运行任务1.2 Eclipse 的安装与运行1.2.2 1.2.2 Eclip
7、se Eclipse 的运行的运行的运行的运行任务1.2 Eclipse 的安装与运行1.2.2 1.2.2 Eclipse Eclipse 的运行的运行的运行的运行任务1.2 Eclipse 的安装与运行1.2.2 1.2.2 Eclipse Eclipse 的运行的运行的运行的运行任务1.2 Eclipse 的安装与运行1.2.2 1.2.2 Eclipse Eclipse 的运行的运行的运行的运行任务1.2 Eclipse 的安装与运行1.2.2 1.2.2 Eclipse Eclipse 的运行的运行的运行的运行任务1.2 Eclipse 的安装与运行(9)程序分析和说明:1)语句pa
8、ckage p1,是建立一个包(文件夹),生成的类文件将存放于包中。2)程序第一行public class OutHello,是一个类定义语句,类名为OutHello。public 关键字指明类的访问方式为公有,也就是在整个程序内都可以访问到它。如果将类定义为public,则类其名称必须与主文件名一致,并且大小写敏感。3)类后大括号内可以定义类的成员和方法,这里只定义了一个方法main(),该方法通过调用System.out.println()函数将字符串从标准输出设备输出。对于一个可执行的Java 类,main 方法是必需的,而且该main 方法必须是公有(public)、静态(static
9、)和没有返回值(void)的,同时它只能带一个字符串型(String)的参数。4)程序的一行“/”是注释,只说明不运行。5)每个命令语句结束,必须以“;”结尾。1.2.2 Eclipse 1.2.2 Eclipse 的运行的运行的运行的运行任务1.2 Eclipse 的安装与运行(10)Java 语言特点:1)面向对象:支持代码继承及重用,是完全面向对象的,它不支持类似C 语言那样的面向过程的程序设计技术。2)解释执行:Java 解释器(运行系统)能直接运行目标代码指令。3)平台无关:Java 源程序被编译成一种高层次的与机器无关的Byte-codes 格式语言,被设计在Java 虚拟机上运行
10、。4)多线程:Java 提供的多线程功能使得在一个程序里可同时执行多个小任务。多线程带来的好处是可以有更好的交互性能和实时控制性能。5)健壮性:Java 致力于检查程序在编译和运行时的错误,类型检查帮助检查出许多开发早期出现的错误。1.2.2 Eclipse 1.2.2 Eclipse 的运行的运行的运行的运行任务1.2 Eclipse 的安装与运行1.2.2 Eclipse 1.2.2 Eclipse 的运行的运行的运行的运行任务1.2 Eclipse 的安装与运行(10)Java 语言特点:1)面向对象:支持代码继承及重用,是完全面向对象的,它不支持类似C 语言那样的面向过程的程序设计技术
11、。2)解释执行:Java 解释器(运行系统)能直接运行目标代码指令。3)平台无关:Java 源程序被编译成一种高层次的与机器无关的Byte-codes 格式语言,被设计在Java 虚拟机上运行。4)多线程:Java 提供的多线程功能使得在一个程序里可同时执行多个小任务。多线程带来的好处是可以有更好的交互性能和实时控制性能。5)健壮性:Java 致力于检查程序在编译和运行时的错误,类型检查帮助检查出许多开发早期出现的错误。1.2.2 Eclipse 1.2.2 Eclipse 的运行的运行的运行的运行PART 02项目2成绩录入与排序输出学生各科成绩求和及求平均分学生成绩统计学生成绩排序菜单使用
12、任务2.1 学生各科成绩求和及求平均分任务2.1 学生各科成绩求和及求平均分 有一名学生的计算机网络技术考了90 分,数据库技术考了84,Java 程序设计考了92 分,输出这名学生三门课程的总成绩及平均成绩。【任【任务情境情境】【任【任务实现】public class OutScorepublic static void main(String args)int network,dataBase,java,total=0;/定义存放三门课及总分的变量float average=0.0f;/定义存放平均成绩的变量network=90;/为课程变量赋值dataBase=82;java=92;to
13、tal=network+dataBase+java;/计算成绩和并保存到变量totalaverage=(float)total/3;/计算平均成绩并保存到变量averageSystem.out.println(该生三门课的总成绩为:+total);/输出总成绩System.out.println(该生三门课的平均成绩为:+average);程序运行结果:该生三门课的总成绩为:264该生三门课的平均成绩为:88本程序在实现功能时首先要定义存储三门课的成绩、总成绩、平均成绩用到的不同类型的变量,然后给课程对应的变量赋成绩值,通过计算得到总分值赋给记录总成绩的变量,计算得到的平均分值赋给记录平均成绩
14、的变量,最后输出总成绩及平均成绩。这段程序涉及的知识有数据类型、标识符、运算符与表达式等。【任【任务分析分析】任务2.1 学生各科成绩求和及求平均分1.标识符用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。简单地说,标识符就是一个名字。Java 语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。标识符中的字母是区分大小写的,Beijing和beijing 是不同的标识符。2.1.1 2.1.1 标识标识符与关符与关符与关符与关键键字字字字任务2.1 学生各科成绩求和及求平均分2.关键字关键字就是Java 语言中已经被赋予特定意义的一些单词
15、,它们在程序上有着不同的用途,不可以把关键词作为普通标识符来用。2.1.1 2.1.1 标识标识符与关符与关符与关符与关键键字字字字任务2.1 学生各科成绩求和及求平均分1.常量常量是指在程序执行过程中始终保持不变的量,根据数据类型的不同,常量有整型、浮点型、字符型、布尔型等几种。如整数常量12、-5,双精度浮点数常量1.8、-31.92 等。2.变量变量是在程序运行过程中可以变化的量。变量有变量名、变量的值、变量的类型。如:int i=0;/定义了变量的名字为i,i 的初值为0,i 的类型为整型 i=i+5;/变量i 的值在原基础上加了52.1.2 2.1.2 基本数据基本数据基本数据基本数
16、据类类型型型型任务2.1 学生各科成绩求和及求平均分3.分类基本数据类型也称为简单数据类型。Java 语言有8 种简单数据类型,分别是:boolean、byte、short、int、long、float、double、char。这8 种数据类型习惯上可分为4 大类型:布尔类型:boolean;字符类型:char;整数类型:byte、short、int、long;浮点类型:float、double。2.1.2 2.1.2 基本数据基本数据基本数据基本数据类类型型型型任务2.1 学生各科成绩求和及求平均分例2.1简单数据类型的例子。public class Assign public static
17、 void main(String args )int x,y;/定义x,y 两个整型变量 float z=1.234f;/指定变量z 为float 型,且赋初值为1.234double w=1.234;/指定变量w 为double 型,且赋初值为1.234boolean flag=true;/指定变量flag 为boolean 型,且赋初值为truechar c;/定义字符型变量cc=A;/给字符型变量c 赋值Ax=12;/给整型变量x 赋值为12y=300;/给整型变量y 赋值为3002.1.2 2.1.2 基本数据基本数据基本数据基本数据类类型型型型任务2.1 学生各科成绩求和及求平均分
18、4.数据的类型转换(1)不同类型数据间的优先关系如下:低-高byte,short,char int long float double2.1.2 2.1.2 基本数据基本数据基本数据基本数据类类型型型型任务2.1 学生各科成绩求和及求平均分(2)自动类型转换整型、浮点型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级。转换关系见表2-4。2.1.2 2.1.2 基本数据基本数据基本数据基本数据类类型型型型任务2.1 学生各科成绩求和及求平均分(3)强制类型转换高级数据要转换成低级数据,需用到强制类型转换,如:int i;byte b=(byte)
19、i;/把int 型变量i 强制转换为byte 型2.1.2 2.1.2 基本数据基本数据基本数据基本数据类类型型型型任务2.1 学生各科成绩求和及求平均分例2.2程序Conversion.java 为类型转换的例子。public class Conversion public static void main(String args)int a=127,b=9;float c=12.0f;int x;float y,z;System.out.println(a=+a+,b=+b+,c=+c);x=a/b;/两个整型相除得整型,将丢失小数部分System.out.println(a/b=+x+n
20、);y=a/c;/整型与浮点型运行,结果为浮点型,Java 自动先将a 转换为浮点型System.out.println(a/c=+y+n);z=(float)a/c;/强制将a 转换为浮点型然后计算,结果与上同 System.out.println(a/c=+z+n);2.1.2 2.1.2 基本数据基本数据基本数据基本数据类类型型型型任务2.1 学生各科成绩求和及求平均分程序运行结果:a=127,b=9,c=12.0a/b=14a/c=10.583333a/c=10.5833332.1.2 2.1.2 基本数据基本数据基本数据基本数据类类型型型型任务2.1 学生各科成绩求和及求平均分5.字
21、符串(String)(1)字符串常量的表示。字符串是用双撇号括起的若干个字符。如abc 100001 hello!等。(2)字符串变量的定义。Java 语言提供了一个处理字符串的类String,在定义字符串变量时可以像基本类型一样定义字符串变量。2.1.2 2.1.2 基本数据基本数据基本数据基本数据类类型型型型任务2.1 学生各科成绩求和及求平均分String 类提供的部分构造方法:1)String():初始化一个新创建的String 对象,它表示一个空字符序列。2)String(byte bytes):构造一个新的String,方法是使用平台的默认字符集解码字节的指定数组。3)String
22、(char value,int offset,int count):分配一个新的String,它包含来自该字符数组参数的一个子数组的字符。2.1.2 2.1.2 基本数据基本数据基本数据基本数据类类型型型型任务2.1 学生各科成绩求和及求平均分String 类提供的部分成员方法:1)int compareTo(String anotherString):按字典顺序比较两个字符串,若相同则返回值为0。2)boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始。3)char charAt(int index):返回指定索引处的char 值。索引范围为从
23、0 到length()-1。序列的第一个char 值在索引0 处,第二个在索引1 处,依此类推。4)int indexOf(String str):返回第一次出现的指定子字符串在此字符串中的索引。5)boolean equals(String another):将此String 与另一个String 进行比较,看两个字符串是否相同。6)int length():返回此字符串的长度。7)String toLowerCase():使用默认语言环境的规则将此String 中的所有字符都转换为小写。8)String toUpperCase():使用默认语言环境的规则将此String 中的所有字符都转换
24、为大写。9)String substring(int beginIndex,int endIndex):返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的beginIndex 处开始,一直到索引endIndex-1 处的字符。10)String trim():返回字符串的副本,忽略前导空白和尾部空白。2.1.2 2.1.2 基本数据基本数据基本数据基本数据类类型型型型任务2.1 学生各科成绩求和及求平均分例2.3字符串处理用法。public class StringDemopublic static void main(String args)String stra=HELLO
25、JAVA!;System.out.println(stra);System.out.println(length of stra is:+stra.length();System.out.println(Lower of stra is:+stra.toLowerCase();程序运行结果:HELLO JAVA!length of stra is 11Lower of stra is hello java!2.1.2 2.1.2 基本数据基本数据基本数据基本数据类类型型型型任务2.1 学生各科成绩求和及求平均分1.运算符包括算术运算符、关系运算符、逻辑运算符、赋值运算符、条件运算符等。(1)算
26、术运算符。数值类型的标准算术运算符包括:+,-,*,/,%,+,-。整数除法的结果是整数,如5/2=2 而不是2.5。运算符%完成取余运算,如5%2=1,14%6=2。增量运算符和减量运算符:前置增量/减量运算符:变量先加1 或减1,再参与表达式中的运算。后置增量/减量运算符:变量先参与表达式的运算,再加1 或减1。2.1.3 2.1.3 运算符与表达式运算符与表达式运算符与表达式运算符与表达式任务2.1 学生各科成绩求和及求平均分(2)关系运算符。关系运算符包括:,=,=,!=。关系运算的结果为布尔型数据true 或false。关系运算符见表2-5。2.1.3 2.1.3 运算符与表达式运算
27、符与表达式运算符与表达式运算符与表达式任务2.1 学生各科成绩求和及求平均分(3)逻辑运算符。逻辑运算的操作数必须是布尔型数据,运算符常用的有:!,&,|,。逻辑运算符见表2-6。2.1.3 2.1.3 运算符与表达式运算符与表达式运算符与表达式运算符与表达式任务2.1 学生各科成绩求和及求平均分(4)赋值运算符。赋值运算符为:=,其扩展赋值运算符有:+=,-=,*=,/=等。(5)条件运算符。条件运算符?:的作用是条件判断,相当于一个if-else 语句。条件运算符为三元运算符。其一般形式为:?:为条件表达式,为真值,则取表达式1 作为运算结果值,否则取表达式2 为运算结果值。2.1.3 2
28、.1.3 运算符与表达式运算符与表达式运算符与表达式运算符与表达式任务2.1 学生各科成绩求和及求平均分(6)运算符的优先级2.1.3 2.1.3 运算符与表达式运算符与表达式运算符与表达式运算符与表达式任务2.1 学生各科成绩求和及求平均分2.表达式表达式是由一系列的常量、变量、方法调用、运算符组合而成的语句。它执行这些元素指定的计算并返回结果。在对一个表达式进行计算时,要按照运算符的优先级别从高到低进行,同一级别的运算按结合方向进行,为了使表达式结构清晰,建议适当使用“()”。当两个操作数类型不一致时要注意类型转换问题。2.1.3 2.1.3 运算符与表达式运算符与表达式运算符与表达式运算
29、符与表达式任务2.1 学生各科成绩求和及求平均分例2.4表达式综合举例。public class OutHellopublic static void main(String args)/*字符串跟任意类型数据相加,均把其他类型数据转换为字符串后再进行加运算*/int a=12,b=9;double c=3.5;System.out.println(a=+a+,b=+b+,c=+c);a+=b;/计算a+b 并赋给aSystem.out.println(a+=b:+a);/输出a+b,即此时的aa%=b;/计算a%b 并赋给aSystem.out.println(a%=b:+a);/输出(a+
30、b)%b,此时的ac+=+a;/计算c+(a+1)并赋给c,注意其中类型转换问题,此时a 也自增1 System.out.println(a=+a+,c=+c);程序运行结果:a=12,b=9,c=3.5a+=b:21a%=b:3a=4,c=7.52.1.3 2.1.3 运算符与表达式运算符与表达式运算符与表达式运算符与表达式任务2.1 学生各科成绩求和及求平均分1.Scanner 类的使用Scanner 类可以创建一个输入对象,该类在java.util 包中。Scanner reader=new Scanner(System.in);/System.in 可指键盘对象以上语句可生成一个Sca
31、nner 类对象reader,然后借助reader 对象调用Scanner 类中的方法可实现读入各种类型数据。读入数据的方法如:nextInt():读入一个整型数据。nextFloat():读入一个单精度浮点数。nextLine():读入一个字符串。2.1.4 2.1.4 通通通通过过控制台控制台控制台控制台输输入入入入输输出数据出数据出数据出数据任务2.1 学生各科成绩求和及求平均分例2.5输入两个整数,求两个数的和输出。import java.util.*;public class InputDemopublic static void main(String args)int x,y;S
32、ystem.out.print(请输入两个整数:);Scanner reader=new Scanner(System.in);x=reader.nextInt();y=reader.nextInt();System.out.print(和为:+(x+y);程序运行结果:请输入两个整数:5 7和为:122.1.4 2.1.4 通通通通过过控制台控制台控制台控制台输输入入入入输输出数据出数据出数据出数据任务2.1 学生各科成绩求和及求平均分2.程序的编写规范(1)Java 注释。1)行注释:行注释以/开始,以行结束符(回车或换行)结束,作用范围是/注释符及以后一行的内容,通常在注释内容较少时使用
33、。如:int num;/声明变量2)块注释:块注释以/*开始,以*/结束,作用范围是/*和*/之间的内容,可以是一行,也可以是多行。如:int num=10;/*声明变量,并直接赋值*/3)文档注释:文档注释以/*开始,以*/结束,作用范围是/*和*/之间的内容,之所以被称为文档注释,是因为这种注释可以被javadoc 搜寻并编译成程序开发文档。2.1.4 2.1.4 通通通通过过控制台控制台控制台控制台输输入入入入输输出数据出数据出数据出数据任务2.1 学生各科成绩求和及求平均分2.程序的编写规范(2)代码编写格式规范。1)缩进:缩进应该是每行2 个空格,不要在源文件中保存Tab 字符。在使
34、用不同的源代码管理工具时Tab 字符将因为用户设置的不同而扩展为不同的宽度。2)对的使用:、总是成对出现,语句永远单独作为一行,同时注意缩进对齐。例如:if(i0)i+;3)括号的使用:一般而言,在含有多种运算符的表达式中使用圆括号来避免运算符优先级问题,是个好方法。即使运算符的优先级对你而言可能很清楚了,但对其他人未必如此。例如:if(a=b)&(c=d)2.1.4 2.1.4 通通通通过过控制台控制台控制台控制台输输入入入入输输出数据出数据出数据出数据任务2.1 学生各科成绩求和及求平均分2.程序的编写规范(3)命名规范。1)变量名、对象名、方法名,均采用大小写混合的方式,第一个单词的首字
35、母小写,其后单词的首字母大写。变量名不应以下划线或美元符号开头,尽管这在语法上是允许的。如:float myWidth;int_employeeId;2)类名、接口命名规则。类名、接口名是一个名词,采用大小写混合的方式,每个单词的首字母大写,尽量使你的类名简洁而富于描述。例如:class Rasterclass ImageSpriteinterface RasterDelegateinterface Storing2.1.4 2.1.4 通通通通过过控制台控制台控制台控制台输输入入入入输输出数据出数据出数据出数据任务2.1 学生各科成绩求和及求平均分任务2.2 学生成绩统计任务2.2 学生成绩
36、统计 在成绩管理系统中,有多名同学的计算机网络技术、Java 程序设计、数据库技术课程成绩需要从键盘输入,当输入一名同学的全部课程成绩后才能输入下一名同学的全部课程成绩,当所有同学的成绩都输入完成后自动统计输出三门课程成绩均在90 分以上的人数。【任【任务情境情境】【任【任务实现】import java.util.*;public class CountDemopublic static void main(String args)int count=0;int network,java,database;int N=3;Scanner reader=new Scanner(System.in
37、);for(int i=1;i=90&java=90&database=90)/此处用了分支语句count+;System.out.print(三门课成绩均在90 分以上的人数有+count+人);任务2.2 学生成绩统计【任【任务实现】程序运行结果:请输入第1 名同学的三门课成绩:87 96 89请输入第2 名同学的三门课成绩:92 95 90请输入第3 名同学的三门课成绩:87 98 91三门课成绩均在90 分以上的人数有1 人要统计各门课成绩均在90 分以上的人数,解题思路为输入3 门课成绩,则马上判断这3 门课成绩是否均在90 分以上,如果均在90 分以上则统计,这就用到分支结构。由于
38、每名学生都要输入三门课成绩并统计,因此输入数据并判断成绩是否符合统计条件是重复执行的语句组,这就用到循环结构。【任【任务分析分析】任务2.2 学生成绩统计1.if-else 语句if-else 语句的基本语法:if()else 2.2.1 2.2.1 分支分支分支分支语语句句句句任务2.2 学生成绩统计例2.6随机产生一个100 以内的整数,判断是否大于50。public class IfElseDemo public static void main(String args)double a=Math.random()*100;/产生一个100 以内的随机数并赋给aSystem.out.pr
39、intln(a=+a);if(a50)System.out.println(a50!);/输出a50elseSystem.out.println(a=50!);/输出a=502.2.1 2.2.1 分支分支分支分支语语句句句句任务2.2 学生成绩统计2.switch 语句switch 语句的基本语法:switch()case:break;case:break;default:break;2.2.1 2.2.1 分支分支分支分支语语句句句句任务2.2 学生成绩统计例2.7实现给学生成绩分级,90 100 为A 级,80 89 为B 级,70 79 为C级,60 69 为D 级,0 59 为E 级
40、。public class SwitchDemo public static void main(String args)int score=(int)(Math.random()*101);/产生一个100 以内的随机数并赋给a,模拟学生成绩System.out.println(Your mark is+a);switch(score/10)case 10:case 9:System.out.println(You are excellent!Your grade is A.);/输出Abreak;case 8:System.out.println(Your grade is B.);/输出
41、Bbreak;case 7:System.out.println(Your grade is C.);/输出Cbreak;case 6:System.out.println(You should make an extra effort!Your grade is D.);break;default:System.out.println(I am sorry!Your grade is E.);break;2.2.1 2.2.1 分支分支分支分支语语句句句句任务2.2 学生成绩统计程序运行结果:Your mark is 65You should make an extra effort!You
42、r grade is D.2.2.1 2.2.1 分支分支分支分支语语句句句句任务2.2 学生成绩统计1.for 循环for 循环的语法:for(;);2.2.2 2.2.2 循循循循环语环语句句句句任务2.2 学生成绩统计例2.8用for 循环打印“九九”乘法表。public class ForDemo public static void main(String args)for(int i=1;i=9;i+)for(int j=1;j=i;j+)System.out.print(i+*+j+=+i*j+,);System.out.println();/换行2.2.2 2.2.2 循循循循
43、环语环语句句句句任务2.2 学生成绩统计程序运行结果:1*1=1,2*1=2,2*2=4,3*1=3,3*2=6,3*3=9,4*1=4,4*2=8,4*3=12,4*4=16,5*1=5,5*2=10,5*3=15,5*4=20,5*5=25,6*1=6,6*2=12,6*3=18,6*4=24,6*5=30,6*6=36,7*1=7,7*2=14,7*3=21,7*4=28,7*5=35,7*6=42,7*7=49,8*1=8,8*2=16,8*3=24,8*4=32,8*5=40,8*6=48,8*7=56,8*8=64,9*1=9,9*2=18,9*3=27,9*4=36,9*5=45
44、,9*6=54,9*7=63,9*8=72,9*9=81,2.2.2 2.2.2 循循循循环语环语句句句句任务2.2 学生成绩统计2.while 循环while 循环的语法:while();2.2.2 2.2.2 循循循循环语环语句句句句任务2.2 学生成绩统计例2.9用while 循环打印“九九”乘法表。public class WhileDemo public static void main(String args)int i=1;while(i=9)int j=1;while(j=i)System.out.print(i+*+j+=+i*j+,);j+;System.out.print
45、ln();i+;2.2.2 2.2.2 循循循循环语环语句句句句任务2.2 学生成绩统计3.do-while 循环do-while 循环的语法:;do;while();2.2.2 2.2.2 循循循循环语环语句句句句任务2.2 学生成绩统计例2.10求e 的近似值,e=1+1/1+1/2!+1/3!+。public class Examplepublic static void main(String args)double sum=0,item=1;int i=1;do sum=sum+item;i+;item=item*(1.0/i);while(i=1000);sum=sum+1;Sys
46、tem.out.println(e=+sum);程序运行结果:e=2.71828182845904552.2.2 2.2.2 循循循循环语环语句句句句任务2.2 学生成绩统计1.break 语句break 语句用于从switch 语句、循环语句和标记块中提前退出。前面switch 语句中,已经用到过。在程序调试过程中,break 语句可以用来设置断点。break 语句后可以带标签也可以不带标签。2.continue 语句continue 语句用于跳过并跳到循环体最后,然后将控制返回到循环控制语句处。continue 语句后可以带标签也可以不带标签。3.标记块语句标记块语句格式为::其中labe
47、l 为标签名,break 语句和continue 语句可以引用此标签名。4.return 语句return 语句严格说不是跳转语句,它是方法的返回语句,它能使程序控制返回到调用它的方法。2.2.3 2.2.3 跳跳跳跳转语转语句句句句任务2.2 学生成绩统计例2.11分两行输出1 10 这10 个数,每行5 个。class ContinueDemo public static void main(String args)for(int count=1;count=10;count+)if(count=5)System.out.println(+count);continue;System.ou
48、t.print(+count);程序运行结果:1 2 3 4 56 7 8 9 102.2.3 2.2.3 跳跳跳跳转语转语句句句句任务2.2 学生成绩统计任务2.3 学生成绩排序任务2.3 学生成绩排序 在成绩管理系统中,有多名同学的计算机网络技术、Java 程序设计、数据库技术课程成绩需要从键盘输入,当输入完各名同学的各科成绩后,把各同学的成绩算出总分并按降序排序。【任【任务情境情境】【任【任务实现】import java.util.*;public class Sortpublic static void main(String args)int total;int N=3;int sc
49、ore=new intN4;/定义数组int t=new int4;Scanner reader=new Scanner(System.in);for(int i=0;iN;i+)total=0;System.out.println(请输入第+(i+1)+个学生的三门成绩:);for(int j=0;j3;j+)scoreij=reader.nextInt();/使用数组元素total=total+scoreij;任务2.3 学生成绩排序【任【任务实现】scorei3=total;for(int i=1;i=0;j-)if(scorei3scorej3)/控制行数据的交换t=scorei;sc
50、orei=scorej;scorej=t;System.out.println(按总分排序后的成绩:);for(int i=0;iN;i+)System.out.println(scorei0+scorei1+scorei2+scorei3);任务2.3 学生成绩排序【任【任务实现】程序运行结果:请输入第1 个学生的三门成绩:78 89 85请输入第2 个学生的三门成绩:92 89 83请输入第3 个学生的三门成绩:78 83 91按总分排序后的成绩:92 89 83 26478 89 85 25278 83 91 252要把多个学生的总成绩排序,考虑到如果用原先存储单个学生的几门课成绩定义几