当前位置:文档之家› 实训3 顺序结构与选择结构

实训3 顺序结构与选择结构

实训3 顺序结构与选择结构3.1实训目的(1)掌握顺序结构程序的设计。

(2)掌握可视化输入输出语句的使用。

(3)掌握if语句的使用以及if语句的嵌套编程特点。

(4)掌握switch语句的使用。

3.2 知识要点输入操作是指由外部设备将信息写入计算机系统内部;输出操作是指将计算机系统中的信息输出给外部设置。

通过输入、输出操作,可以实现人机交互,同时也是验证程序正确性的必要手段。

3.2.1 赋值语句所谓语句即向计算机系统发出的操作命令。

由赋值运算符构成的表达式,称为赋值表达式。

赋值表达式后面加上分号,即成为赋值语句。

分号是Java语言的语句结束符。

赋值语句的格式为:变量=表达式;3.2.2 顺序结构结构化程序设计的三种基本流程结构为:顺序结构、分支结构(选择结构)、循环结构。

Java语句虽然是面向对象的程序设计语言,但是在方法体内或其语句段内,仍旧是按照面向过程的结构化程序设计原则来组织语句的。

顺序结构是程序设计中最简单、最基本的一种流程结构,是按照语句在程序中出现的顺序逐条执行。

顺序结构中的每一条语句都被执行一次,而且只能被执行一次。

3.2.3 可视化输入/输出Java程序的数据输入及输出比较麻烦,但可借助Java语言提供的“选择对话框类(JOptionPane)”可以进行数据的可视化输入/输出。

JOptionPane类主要用来生成各种标准的对话框,实现显示出信息、提出问题、警告、用户输入参数等功能。

这些对话框都是模式对话框。

使用这个类的成员函数时,用到javax 文件夹下的swing子文件夹中JoptionPane文件,故需要添加JoptionPane类的定义文件:import javax.swing.JOptionPane;(1)显示信息对话框showMessageDialogJOptionPane.showMessageDialog(null,消息内容,对话框标题, 消息类型) 例:JOptionPane.showMessageDialog(null, "在对话框内显示的描述性的文字", "标题条文字串", JOptionPane.ERROR_MESSAGE);结果如图3.1所示:图5.1 显示信息对话框(2)显示及供用户进行输入对话框showInputDialogJOptionPane.showInputDialog(消息内容)例:String str=JOptionPane.showInputDialog("Please input a value");结果如图3.2所示:图5.2 显示输入对话框3.3 程序代码编写风格与书写规范Eclipse是一个开放源代码的、跨平台的自由集成开发环境(IDE),最初主要用于Java 语言的开发。

Eclipse本身只是一个框架和一组服务,通过插件的支持构建开发环境,使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性,所以亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。

在软件规格与复杂程度不断增长的今天,程序员在编写代码的过程中只注重个人风格和编程技巧,而对代码的可读性、后续的维护及功能扩展没有给与足够的重视,会制约软件业的进一步发展。

逻辑正确但过分强调个人风格,书写格式杂乱无章的程序没有实用价值。

为了增加程序代码的可读性,下面两个原则是必须遵守的:1.根据程序的逻辑结构设置代码的层次比较下面两个功能相同的程序片段可以发现前者将多条语句写在同一行中,缺乏层次感,降低其可读性;相比之下后者层次感就好很多。

int x=10,y=30;if (x<y) System.out.println( "x小于y" ); x=x*2;if (x==y) System.out.println( "x现在等于y" ); else {x=x*2; if (x>y) System.out.println( "x现在大于y" );}int x = 10, y = 30;if (x < y)System.out.println("x小于y");x = x * 2;if (x == y)System.out.println("x现在等于y");else {x = x * 2;if (x > y)System.out.println("x现在大于y");}在编写代码的过程中适当地使用空格、空行和缩进方式,可以增加程序的层次感和可读性。

2. 标识符的名称应有明确的含义标识符包括文件夹名称、类名、变量名等,虽然Java语言本身对标识符的命名没有太多限制,但是如果程序中的标识符名称能反应其类型、含义、功能、特点,则利于识别和理解,程序的功能及可读性也提高了。

如用变量systolicPressure 和diastolicPressure分别表示血压的收缩压和舒张压,就比用空洞、无意义的x和y好。

不用担心定义有实际意义的变量名比较长,会增加输入代码时的负担,下面介绍Eclipse的智能编辑技巧,能帮助用户自动输入(上周实验后面操作说明)。

3.4 实训样例分析(自己学习和思考,不用写在本上)1 样例1编写一个Java程序,实现以下功能:已知梯形的上底为5,下底为8,高为3.5,求其面积。

【分析】先计算梯形的面积,再输出结果。

梯形面积公式为:(上底+下底)*高/2。

【参考程序1】public class Area1 {public static void main(String[] args) {double x=5; //上底double y=8; //下底double h=3.5; //高double s=(x+y)*h/2; //计算面积System.out.println("面积为"+s);}}程序运行结果如图3.4所示:图3.4 求梯形的面积【参考程序2】public class Area2 {public static void main(String[] args) {double s=(5+8)*3.5/2;System.out.println("面积为"+s);//计算面积}}【说明】:(1)计算机编写程序可以是多样的,但只要能实现目标即可。

(2)编写程序还要注意程序的可读性,增加适当的程序注释,有利于程序的阅读。

(3)对程序中引入的变量通常要加以注释。

(4)变量的命令一般是见其名知其意。

(5)Eclipse中很多代码可以使用键盘快捷方式“Alt+/”辅助输入。

如输入“syso”之后,按下“Alt+/”就可以自动生成整行“System.out.println();”代码,只要填入括号中的内容就可以了。

(6)注意输出语句中变量与字符串之间的连接表示。

2 样例2编写一个Java程序,实现以下功能:已知a=200,b=100,交换变量a和b的值,使得a=100,b=200,并输出结果。

【参考程序】public class Swap {public static void main(String[] args) {int a=200; //变量a赋初值int b=100; //变量b赋初值int t; //增加一个中间变量t=a; a=b; b=t;System.out.println("a的值为:"+a);System.out.println("b的值为:"+b);}}程序运行结果如图3.5所示:图3.5 交换两个数【思考】:(1)变量t在程序中的作用?(2)假如把t=a;a=b;b=t;这三个语句改成a=b;b=a;这两句语句,程序运行的结果又会是什么?为什么会有这样的结果。

(3) t=a;a=b;b=t;这三个语句的顺序能否颠倒?3 样例3编写一个Java程序,实现以下功能:从键盘上任意输入一个正数,计算其平方根,并通过可视化消息框输出结果。

【分析】:本题的关键是在于变量的键盘赋值方式。

为此可借助Java语言提供的“选择对话框类(JOptionPane)”可以进行数据的可视化输入。

【参考程序】import javax.swing.JOptionPane;public class Squar {public static void main(String[] args) {double a,b;String str;str=JOptionPane.showInputDialog("输入一个正数:");a=Double.parseDouble(str);b=Math.sqrt(a);str=a+"的平方根为:"+b;JOptionPane.showMessageDialog(null,str);}}程序运行,执行结果如图3.6所示,输入数据15后,结果如图3.7所示。

图3.6 程序运行后的输入对话框图3.7 程序运行结果【说明】:(1)方法showInputDialog的返回值是字符串型的数据,故接收数据存放的变量str的类型需定义为字符串类型(注意定义时String中的第一个字母是大写)。

输入程序代码“str=JOp”后,可按组合快捷键“Alt+/”,代码自动生成一半“str=JOptionPane”,再键入一个点,稍停,继续输入“showi”后再按“Alt+/”,就可以完成整行代码的自动输入。

(2)可视化输入/输出JoptionPane类要用到javax文件夹下的swing子文件夹中JoptionPane文件,故需要有语句import javax.swing.JOptionPane;告诉Eclipse编辑器将该文件导入到本程序中。

import javax.swing.JOptionPane;可以直接手工输入;也可以在代码输入“str=JOp”后按组合快捷键“Alt+/”时被Eclipse编辑器自动插入到相应的位置。

(3)Double.parseDouble(str)的作用是从字符串变量str转换为双精度数。

(4)求平方根可调用数学函数Math.sqrt。

(5)注意字符串与非字符串数据之间的连接。

4 样例4编写一个Java程序,实现以下功能:从键盘上输入一个学生的成绩,根据成绩给出相应的等级(要求分别用if语句和switch语句来完成)。

⎪⎪⎪⎩⎪⎪⎪⎨⎧≤<≤<≤<≤≥=6070608070908090成绩不及格成绩及格成绩一般成绩良好成绩优秀等级 【分析】:根据题意可以先画出相应的程序流程图,在流程图的基础之上来编写程序。

相关主题