第三章 选择结构程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Байду номын сангаас
3.1.1基本if语句
例3-3 从键盘输入三位同学的考试成绩,求出 最高分。
3.1.1基本if语句
import java.util.*; public class MaxScore { public static void main(String args[]) { Scanner sc=new Scanner(System.in); System.out.println("请输入三位同学的考试成绩:"); int s1=sc.nextInt(); int s2=sc.nextInt(); int s3=sc.nextInt(); int max=s1; //先假设s1为最高分。 if(s2>max) { max=s2; } if(s3>max) { max=s3; } System.out.println("最高分:"+max); } }
3.1.3 if-else-if多分支选择结构

例3-9 某商场根据会员积分享受不同折扣: 2000分以下享9折优惠,2000分到3000分 之间享8.5折优惠,3000分以下享8折优惠。 请输入会员积分,计算并输出该会员该享 受的折扣。
3.1.3 if-else-if多分支选择结构
public class CalcDiscount { public static void main(String[] args) { /* 输入会员积分 */ System.out.print("请输入会员积分: "); Scanner sc = new Scanner(System.in); int custScore = sc.nextInt(); double discount; /* 判断折扣 */ if (custScore < 2000) { discount = 0.9; } else if (custScore < 3000) { discount = 0.85; } else { discount = 0.8; } System.out.println("该会员享受的折扣是:" + discount); } }
3.1 if语句

if语句是根据条件来控制程序流程的。 if结构存在3种形式:基本if语句、if-else语 句、if-else if多分支选择。
3.1.1基本if语句
if语句最简单的形式为: if(条件表达式) { 语句; } 例如: if(x>y) { System.out.println(“max=”+x); }
3.1.3 if-else-if多分支选择结构
if双分支语句可对只有两种可能的条件做判断,而实际中有些问题可能需要在多种情况中做判断, 这时可以使用if-else-if语句结构,以实现两个以上的分支控制。 一般格式为: if(表达式1) { 语句1 } else if(表达式2) { 语句2 } … else if(表达式n) { 语句n } else { 语句n+1 }
3.1.4 if语句的嵌套

例3-10 将例3-7改用if语句的嵌套来实现。
3.1.4 if语句的嵌套
import java.util.*; public class CalFunc { public static void main(String args[]) { int x,y; Scanner sc=new Scanner(System.in); System.out.println("请输入一个数字:"); x=sc.nextInt(); if(x<=0) { if(x<0) y=-1; } else { y=1; } System.out.println("x="+x+",y="+y); } }
条件表达式 真 语句

3.1.1基本if语句
例3-1 如果小沈阳的Java考试成绩为100分, 师父就奖励他一部Apple手机。
3.1.1基本if语句
import java.util.*; public class ScoreTest { public static void main(String args[]) { Scanner sc=new Scanner(System.in); System.out.println("请输入小沈阳本次考试的成绩:"); int score = sc.nextInt(); if (score==100) { System.out.println("师父奖励他一部Apple手机"); } } }
3.1.2 if-else语句

例3-6 从键盘输入年份,判断是否为闰年。
3.1.2 if-else语句
import java.util.*; public class LeapYear { public static void main(String args[]) { Scanner sc=new Scanner(System.in); System.out.println("请输入一个年份:"); int year=sc.nextInt(); if((year%4==0&&year%100!=0)||year%400==0) { System.out.println(year+"年是闰年"); } else { System.out.println(year+"年不是闰年"); } } }
3.1.2 if-else语句
if语句更常用的形式是双分支语句。当在条件满足和不满 足时分别执行不同的语句的情况下使用。if-else语句的一 般形式如下: if(条件表达式) { 语句1 } else { 语句2 }
3.1.2 if-else语句

例如: if(x>y)
max=x;
{ } else { max=y; }
import java.util.*; public class CalFunc { public static void main(String args[]) { int x,y; Scanner sc=new Scanner(System.in); System.out.println("请输入一个数字:"); x=sc.nextInt(); if(x<0) { y=-1; } else if(x==0) { y=0; } else { y=1; } System.out.println("x="+x+",y="+y); } }
3.1.2 if-else语句

例3-5 从键盘输入一个字母,如果输入的是 小写字母,将其转换成大写字母后输出, 否则原样输出。
3.1.2 if-else语句
import java.util.*; public class ConvChar { public static void main(String args[]) { Scanner sc=new Scanner(System.in); System.out.println("请输入一个字母:"); char ch=sc.nextLine().charAt(0); //从键盘获取一个字母 if(ch>='a'&&ch<='z') { ch=(char)(ch-32); System.out.println("输入的是小写字母,转换为大写字母是: "+ch); } else System.out.println("输入字母不是小写字母,它是:"+ch); } }
3.1.4 if语句的嵌套
if-else-if语句实际上是if语句的一种嵌套方式,对于一般的if语句,可以根据需要进行嵌套。在if语句中又包含一个或多个if 语句称为if语句的嵌套。 常见的if语句的嵌套格式如下: (1)在if后面进行嵌套,格式如下: if(表达式1) { if(表达式2) 语句1; else 语句2; } else 语句3; (2)在else后面进行嵌套,格式如下: if(表达式1) 语句3; else { if(表达式2) 语句2; else 语句3; }
3.1.1基本if语句
例3-2 如果小沈阳的Java考试成绩为100分, 师父就奖励他一部Apple手机,或者英语考 试成绩大于90分,师父也奖励他。
3.1.1基本if语句
import java.util.*; public class ScoreTest { public static void main(String args[]) { Scanner sc=new Scanner(System.in); System.out.println("请输入小沈阳的Java和英语成绩:"); int java = sc.nextInt(); int english=sc.nextInt(); if (java==100||english>90) { System.out.println("师父奖励他一部Apple手机"); } } }
3.1.3 if-else-if多分支选择结构

例3-8对学生的考试成绩进行评测:成绩在 90分以上为优秀,80到90分之间为良好, 60到80分之间为及格,60分以下为差。
3.1.3 if-else-if多分支选择结构
public class PerEval { public static void main(String[] args) { int score = 72; // 考试成绩 if (score >= 90) { // 考试成绩>=90 System.out.println("优秀"); } else if (score >= 80) { // 90>考试成绩>=80 System.out.println("良好"); } else if (score >= 60) { // 80>考试成绩>=60 System.out.println("及格"); } else { // 考试成绩<60 System.out.println("差"); } } }
真 条件表达式 假
语句1
语句2
3.1.2 if-else语句

例3-4如果小沈阳的Java考试成绩大于90分, 师父就奖励他一本英文版的《Thinking in Java》,否则师父就罚他表演二人转。
3.1.2 if-else语句
public class ScoreTest { public static void main(String args[]) { Scanner sc=new Scanner(System.in); System.out.println("请输入小沈阳的Java考试成绩:"); int java = sc.nextInt(); if (java>90) { System.out.println("师父奖励他一本英文版《Thinking in Java》"); } else { System.out.println("表演二人转去吧!"); } } }
3.1.5 关于复合语句问题
if或else后面的内容,通常是由多个语句组成的复合语句,必须用{}括起来。 如果复合语句中只有一个语句时,可以省略{}。 例如: if(password==123) { System.out.println("密码正确,欢迎使用!"); } else { System.out.println("密码错误,请重新输入!"); } 可以写成: if(password==123) System.out.println("密码正确,欢迎使用!"); else System.out.println("密码错误,请重新输入!");
3.1.3 if-else-if多分支选择结构

if-else-if语句的执行流程见图。
假 表达式1 假 真 表达式2 真 假 表达式n 真 语句1 语句2

语句n
语句n+1
3.1.3 if-else-if多分支选择结构
例3-7 求解函数 -1 (x<0) y= 0 (x=0) 1 (x>0)
3.1.3 if-else-if多分支选择结构
第三章 选择结构程序设计
第三章 选择结构程序设计
技能目标: 通过本章学习,掌握Java语言中的if语句和switch语句的用 法,并能灵活运用if语句和switch语句完成选择结构程序设 计,为后续章节学习编程做准备。 知识目标: 掌握选择结构的用途; 熟练掌握if语句的各种用法; 掌握switch语句的使用方法 任务:完善教务管理系统,比较学生成绩高低;根据成绩高 低做出奖惩;判断成绩是优秀、良好、及格还是差
相关文档
最新文档