J 程 序 设 计任务3:系统界面设计与实现 目录1、任务描述学生信息管理系统需要提供相应的操作界面来让用户选择执行相应的功能。本任务主要 完成学生信息管理系统界面的设计与实现。完成本任务需要了解和掌握3种基本控制结构的使用。 技术准备2.1 顺序结构顺序结构中语句 按照出现的先后次序依次执行。2.1 顺序结构1、赋值语句Java中利用赋值语句给变量赋值时可以有2种不同形式。(1)一次给一个变 量赋值格式:<变量> = <表达式>功能:将表达式的值赋给指定变量。这是赋值语句的基本格式,也是最常用格式。此种方式支持复合赋值运 算符。(2)一次给多个变量赋相同值格式:<变量1>=<变量2>=…=<变量n> = <表达式>功能:将表达式的值分别赋给变量1、变 量2、……变量n。2.1 顺序结构【例 3?1】赋值语句应用示例2.1 顺序结构2、输入Java中通过 Scanner 类来获 取用户的键盘输入,Scanner类在java.util包中,使用时要先导入,代码如下。import java.util.Scann er;利用Scanner类获取用户键盘输入时,首先需要实例化一个Scanner对象,代码如下。Scanner sc = new Scanner(System.in);然后调用其next()、nextInt()、nextFloat()、nextDouble() 等相应的方法接收用户从键盘输入的字符串、整型、单精度、双精度类型数据。2.1 顺序结构【例 3?2】从键盘输入用户的姓名、年龄 、成绩和工资。2.1 顺序结构3、输出Java中输出信息使用System类中的标准输出流out的println()方法或prin t()方法。System类在java.lang包中,此包会自动加载,无需自行导入。Println()和print()方法使用格式基 本相同,参数都是一个字符串(如果给出的是其它类型或表达式,系统会自动将其进行转换),唯一不同之处在于输出后是否换行。println ()方法在输出完成后换行,下一次输出将从新一行开始;print()方法在输出完成后不换行,下一次输出会从当前位置继续。2.1 顺 序结构【例 3?3】输出学生姓名、性别、年龄、成绩信息。2.2 选择结构1、单分支选择结构格式:if (条件){ 语句块;}功能:当条件成立时,执行后面的语句块。条件不成立时,什么也不做。说明:(1)条件一般为关系表达式或逻辑表达式,需要用括号 包裹。(2)语句块可以是一条或多条语句,当只有一条语句时,外面的大括号可以省略,建议尽量不要省略。2.2 选择结构【例 3?4】 从键盘输入两个整数,将其从大到小输出。2.2 选择结构2、双分支选择结构格式:if (条件){ 语句块1;}else{ 语句块2 ;}功能:当条件成立时,执行语句块1;条件不成立时,执行语句块2。其执行流程如图 3 3所示。2.2 选择结构【例 3?5】从键 盘输入一个成绩,判断此成绩是否及格,给出相应的提示信息。2.2 选择结构3、多分支选择结构(1)多分支if语句格式:if (条件 1){ 语句块1;}else if (条件2){ 语句块2;}...else if (条件n){ 语句块n;}else{ 语句块n +1}功能:首先判断条件1是否成立,如果成立,则执行语句块1,然后结束整个if语句;否则判断条件2是否成立,如果成立,则执行语句块 2,然后结束整个if语句;依次类推,如果条件n也不成立,则执行语句块n+1。2.2 选择结构【例 3?6】从键盘输入一百分制成绩 ,输出其相对应的等级。90-100分为优秀,80-89为良好,70-79为中等,60-69为及格,60分以下为不及格。2.2 选 择结构(2)switch语句格式:switch (表达式){ case 值1: 语句块1; break; case 值2: 语句块 2; break; ... case 值n: 语句块n; break; [default: 语句块n+1;]}说明:(1)swit ch表达式的结果可以是char、byte、short、int或String类型,不能是boolean类型,case 后面的值类型应 与表达式类型一致。其执行过程:先计算表达式的值,再从上至下依次查找与表达式值相匹配的case中的值,若找到,则执行该case后面的 语句,若找不到,如有default语句,则执行default后面的语句,若没有,则跳出switch语句。(2)执行完一个case后 面的语句后,若没有break语句,则流程转到下一个case继续执行。(3)case后面有多条语句时,可不加{}。(4)多个case 可共用一组执行语句。2.2 选择结构【例 3?7】从键盘输入0-6,输出相应的星期几。2.2 选择结构2.3 循环结构1、wh ile 循环格式:while (条件){ 语句块;}功能:当条件成立时,重复执行语句块(通常称为循环体),直到条件不成立为止。2. 3 循环结构【例 3?8】求1-100的累加和。2.3 循环结构2、do…while 循环格式:do{ 语句块;}while(条件 );功能:先执行一次语句块(循环体),再判断条件,如条件成立,则继续执行循环体,如条件不成立,则结束循环。2.3 循环结构【例 3 ?9】求1-100所有偶数的累加和。2.3 循环结构3、for循环格式:for(表达式1; 表达式2; 表达式3){ 循环体语句块 ;}说明:表达式1通常用于设置循环初始条件,即为循环控制变量设置初始值。表达式2是循环条件,用来决定是否要继续下一次循环。表达式3 通常用于设置循环控制变量的变化。2.3 循环结构【例 3?10】求1-100所有奇数的累加和。2.3 循环结构4、循环的嵌套在一个 循环体内还可以包含另一个完整的循环结构,称之为循环的嵌套,也称多重循环。不同的循环结构可以互相嵌套。2.3 循环结构【例 3?11 】在屏幕上输出九九乘法表。2.3 循环结构5、循环的跳转通常情况下,循环结构会在执行完所有循环语句后自然结束。有些情况下,可能需要 提前结束循环,Java提供了break和continue两种不同方式来提前结束循环。通常都需结合if语句判断,当满足某个条件时,提 前结束循环。任何一种循环结构中都可使用break和continue语句来提前结束循环。(1)break语句break语句用于提前结 束整个循环。说明:break语句结束的只是它自身所在的循环,如果有循环嵌套,内层循环的提前结束不影响外层循环。2.3 循环结构【例 3?12】求300以内能被19整除的最大正整数。2.3 循环结构(2)continue语句continue语句用于提前结束本次循 环。当执行到continue语句时,系统会自动跳过当前循环体中剩下的代码,从头开始下一次循环。【例 3?13】输出1到10除了5之 外的其它数。2.4 编码规范为了提高程序可读性及可维护性,在编写代码时应遵循编码规范,养成良好的编码风格。Java中基本的编码要求 和规范如下。(1)使用缩进来表示程序代码的逻辑关系,使代码整齐美观,层次清晰。(2)一行代码不要超过80个字符,尽量不要写过长的语 句。如语句过长,可在合适位置将其断行。(3)标识符命名尽量使用有意义的名字,做到见名知意。(4)空格与空行。运算符两侧建议使用空格 分开;不同方法之间建议增加一个空行增加程序可读性。(5)对关键代码和重要的业务逻辑代码进行必要的注释。 任务实施3.1 系统业务 流程设计学生信息管理系统启动后,首先进入系统主界面,如图 (a)所示,等待用户输入命令选择相应的功能。如果用户输入“info”命令 ,则进入学生基本信息管理子功能模块,界面如图 (b)所示,如果用户输入“score”命令,则进入学生成绩管理子功能模块,界面如图 (c)所示。在学生基本信息管理界面,用户可通过输入相应的命令进行学生基本信息的增、删、改、显示及学生信息的导入导出等操作。在学生成 绩管理界面用户可选择相应的功能进行课程成绩统计。 3.2 系统主界面实现系统主界面首先显示系统功能菜单供用户进行选择,用户可在命令 提示符“main>”后输入相应的命令来执行相应的功能,能够接收的命令是“info”、“score”和“quit”,其他输入无效。当 系统启动后,循环等待用户输入命令,直到用户输入命令“quit”退出为止。因每个子模块的功能尚未实现,在此可先用输出相应信息的方式来 代替。3.3 学生基本信息管理界面实现进入学生基本信息管理子模块后,也是先显示系统功能菜单供用户进行选择,用户可在命令提示符“in fo>”后输入相应的命令来执行相应的功能,能够接收的命令是“load”、“show”、“add”、“delete”、“modify ”、“save”和“return”,其他输入无效。当系统启动后,循环等待用户输入命令,直到用户输入命令“return”为止。因每个 具体的功能尚未实现,在此仍先用输出相应信息的方式来代替每个具体功能。3.3 学生基本信息管理界面实现参考代码:3.4 学生成绩管理 界面实现进入学生成绩管理子模块后,也是先显示系统功能菜单供用户进行选择,用户可在命令提示符“score>”后输入相应的命令来执行相应的功能,能够接收的命令是“avg”、“max”、“min”、“fails”和“return”,其他输入无效。当系统启动后,循环等待用户输入命令,直到用户输入命令“return”为止。因每个具体的功能尚未实现,也是先用输出相应信息的方式来代替。3.4 学生成绩管理界面实现参考代码:J 程 序 设 计谢 谢 |
|