Java基础03--选择结构(if)
Java程序的基本结构

接口和回调函数
接口:定义一组方法,实现特定功能的抽象 回调函数:在接口中定义的方法,由实现接口的类来实现 应用场景:异步处理、事件驱动编程、插件机制等 优点:降低耦合度,提高代码复用性和可维护性
05
Java程序中的常用设计模式
单例模式
概念:确保一个类 只有一个实例,并 提供一个全局访问 点
特点:懒汉式、饿 汉式、双重检查锁 、静态内部类等实 现方式
JUnit测试框架和Log4j日志框架
JUnit测试框架: 用于单元测试, 确保代码质量
Log4j日志框架: 用于记录程序运 行日志,便于调 试和问题定位
JUnit测试框架的 特点:简单易用 ,可扩展性强
Log4j日志框架的 特点:灵活配置 ,支持多种日志 输出格式和方式
Apache Commons库和Google Guava库
实现方式:观察者模式可以通过实现观察者接口和被观察者接口来实现, 也可以通过继承Observable类和实现Observer接口来实现。
代理模式
概念:代理模式是一种设计模式,用于控制对象的访问。 应用场景:当需要限制对某个对象的访问时,可以使用代理模式。 实现方式:代理类实现与目标类相同的接口,并在内部维护一个目标类的实例。 优点:代理模式可以降低耦合度,提高代码的可维护性和可扩展性。
04
Java程序中的面向对象编程
类和对象的概念
类:具有相同属性和行为的一组对象的集 合
对象:类的实例,具有类的属性和行为
封装:将对象的属性和行为封装在类中, 隐藏实现细节
继承:子类继承父类的属性和行为,实现 代码复用
多态:同一个方法在不同对象中表现出不 同的行为
抽象:将一类对象的共同特征抽象出来, 形成更高层次的概念
顺序结构、选择结构、循环结构

顺序结构、选择结构、循环结构顺序结构Java的基本结构就是顺序结构,除⾮特别指明,否则就按照顺序⼀句⼀句执⾏顺序结构是最简单的算法结构语句与语句之间,框与框之间是按从上到下的顺序进⾏的,它是由若⼲个依次执⾏的处理步骤组成的,它是任何⼀个算法都离不开的基本算法结构package com.bing.struct;public class ShunXuDemo {public static void main(String[] args) {System.out.println("hello1");System.out.println("hello2");System.out.println("hello3");System.out.println("hello4");System.out.println("hello5");System.out.println("hello6");System.out.println("hello7");}}选择结构if单选择结构if双选择结构if多选择结构嵌套的if结构switch多选择结构if单选择结构我们很多时候需要去判断⼀个东西是否可⾏,然后我们才去执⾏,这样⼀个过程在程序中⽤if语句来表⽰语法:if(布尔表达式){//如果布尔表达式为true将执⾏的语句}IfDemo01import java.util.Scanner;public class IfDemo01 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输⼊内容:");String s = scanner.nextLine();//equals: 判断字符串是否相等if(s.equals("Hello")){System.out.println(s);}System.out.println("End");scanner.close();}}if双选择结构那现在有⼀个需求,公司要收购⼀个软件,成功了,给⼈⽀付100万元,失败了,⾃⼰找⼈开发。
项目3:选择结构——加法出题机

Console.WriteLine("优秀"); Console.WriteLine("良好"); Console.WriteLine("中等");
任务 8:熟悉多路选择 if...else if 语句的使用(10 分钟) 实践,输入身高和体重,计算“体重指数” 创建一个 Windows 应用程序,输入身高和体重,计算“体重指数” ,医学上 的根据身高和体重,从而实现对人肥胖程序的划分。 体重指数(t)=体重(w)/(身高(h))2 ① 当 t<18 时,为偏瘦; ② 当 18 t<25 时,为标准; ③ 当 25 t<27 时,为偏胖; ④当 t 27 时,为肥胖 程序运行效果如图所示。
任务 5:熟悉双分支 if 语句的使用(10 分钟) 问题:如果令狐冲考试成绩大于 90 分,师父就奖励他《独孤九剑》 ,否则师 父就罚他上思过崖闭关思过 使用 if-else 条件结构:
示例:
public class Hello { public static void main(String[ ] args) { int score = 89; if ( score > 90 ) { Console.WriteLine("师父说:不错,给你《独孤九剑》剑谱"); } else { Console.WriteLine("师父说:不孝徒,上思过崖闭关思过去吧"); } } } //令狐冲的语文成绩
② 使用多重 if 结构解决问题 int score = 70; if ( score >= 90 ) { } else if (score >= 80 ) { } else if (score >= 60 ) { } else { Console.WriteLine("差"); //小于 60 分 } //考试成绩 //大于等于 90 分 //大于等于 80 分,小于 90 分 //大于等于 60 分,小于 80 分
java PPT 教学3

三种循环语句的比较: 三种循环语句的比较:
• 三种循环都可以用来处理同一个问题,一 般可以相互替代。 • while和do-while循环的循环体中应包括使 循环趋于结束的语句。for语句功能更强大。 • 用while和do-while循环时,循环变量初始 化操作应在while和do-while语句之前完成, 而for语句可以在表达式1中实现循环变量的 初始化。 • 当循环次数明确时,用for、while比较方便; 当不肯定时就用do-while。
示例
//本程序功能:从键盘上输入单个字母,用if-else语句判断其大小写, 并显示输出判断结果。 import java.io.*; public class UpLow { public static void main(String args[ ])throws IOException { char ch; System.out.print(“请输入一个字母:”); ch=(char)System.in.read(); if(ch>=‘A’&& ch<=‘Z’) System.out.println(ch+“是大写字母。”); else System.out.println(ch+“是小写字母。”); } }
//此处没有使用break
//值为12和1,2时的操作是相同的
Switch语句应用示例
case 3: case 4: case 5: season="春季"; break; case 6: case 7: case 8: season="夏季"; break; case 9: case 10: case 11: season="秋季"; break; default: season="错!"; break; } System.out.println(month+"月份是"+season); } }
ifelse选择机构_多重if选择机构_if选择结构嵌套(综合练习题——code)

ifelse选择机构_多重if选择机构_if选择结构嵌套(综合练习题——code)1import java.util.*;2class If01{3public static void main(String[ ]args){4//练习1:假如张三参加Java考试,判断如果在95分以上则有奖励5 Scanner input =new Scanner(System.in);6 System.out.print("请输⼊张三的考试成绩:");7double score =input.nextDouble();8/*if (score > 95) {9 System.out.println("有奖励");10 }*/1112//注意:在java中,当代码块只有⼀条语句时,则⼤括号可以省略,建议初学者编写⼤括号13if (score > 95)14 System.out.println("有奖励");15 System.out.println("有惩罚");16/*= if (score > 95) {17 System.out.println("有奖励");18 }19 System.out.println("有惩罚"); */20 }21 }22class If02{23public static void main(String[ ]args){24//练习2:假如张三参加Java考试,判断如果在95分以上则有奖励,否则发红包25 Scanner input = new Scanner(System.in);26 System.out.print("请输⼊成绩: ");27double score = input.nextDouble();28//第⼀种⽅法:使⽤两个if块完成的29/*if (score > 95){30 System.out.println("有奖励");31 }32 if (score <=95){33 System.out.println("发红包");34 }*/3536//第⼆种⽅法:使⽤if else完成37/*if(score >95) {38 System.out.println("有奖励");39 } else{40 System.out.println("发红包");41 }*/42/*第三种⽅法:使⽤三⽬运算符完成43 System.out.println(score >95 ? "有奖励" : "发红包");*/44//第四种⽅法:使⽤多重if完成45if(score > 95){46 System.out.println("有奖励");47 }else if(score <= 95){48 System.out.println("发红包");49 }50 }51 }52class If03{53public static void main(String[ ]args){54//练习3:判断⼀个数是否是三位的正数55 Scanner input = new Scanner(System.in);56 System.out.print("请输⼊需要输⼊的数:");57int num = input.nextInt();58if (num >100 && num < 1000) {59 System.out.println(num +"是正数");60 } else{61 System.out.println(num +"不是正数");62 }63 }64 }6566class If04{67public static void main(String[ ]args){68//练习4:输⼊两个数,分别存放在a和b中,判断a+b的和⼤于100,则输出a的值,否则输出b的值69 Scanner input = new Scanner(System.in);70 System.out.print("请输⼊数字 :");71int a = input.nextInt();72 System.out.print("请输⼊数字 :");73int b = input.nextInt();74 System.out.println("a = " + a + "\nb = " +b);75if (a + b > 100){76 System.out.println("输出:a =" +a);77 }else{78 System.out.println("输出b = " +b);79 }80 }81 }8283class If05{84public static void main(String[ ]args){85//练习5:判断⼀个数是奇数还是偶数(使⽤多重if选择结构完成此练习)86 Scanner input = new Scanner(System.in);87 System.out.print("请输⼊你想要输⼊的数字:");88int num = input.nextInt();89if(num % 2 == 0){90 System.out.println("偶数");91 } else{92 System.out.println("奇数");93 }94 }95 }9697class If06{98public static void main(String[ ]args){99//练习6:根据输⼊的年龄,输出是⽼年(55以上)、中年(18-54)、青年(18-29)还是少年(0----17) 100 Scanner input = new Scanner(System.in);101 System.out.print("请输⼊年龄: ");102int age = input.nextInt();103/*if (age >55 ){104 System.out.println("⽼年");105 }else if(age >= 18){106 System.out.println("青年");107 }else if(age >= 30){108 System.out.println("中年");109 }else if(age <18){110 System.out.println("少年");111 }*/112113//注意:多重if选择结构种的条件顺序可以颠倒,但是可能影响运⾏结果114if (age >55 ){115 System.out.println("⽼年");116 }else if(age >= 18 && age<=29){117 System.out.println("青年");118 }else if(age >= 30){119 System.out.println("中年");120 }else if(age <18 && age >=0){121 System.out.println("少年");122 }else{123 System.out.println("输⼊年龄有误!");124 }125 }126 }127128class If07{129public static void main(String[ ]args){130//练习7:判断⼀个字符,输出是⼤写字母、⼩写字母还是数字字符131 }132 }133134class If08{135public static void main(String[ ]args){136//练习8:判断⼀个两位数,是奇数还是偶数137 Scanner input = new Scanner(System.in);138 System.out.print("请输⼊⼀个数:");139int num = input.nextInt();140//判断,当前数num是否是两位数141if (num >=10 && num<=99){142//判断,当前数是奇数还是偶数143if(num %2 ==0){144 System.out.println(num+"是偶数");145 }else{146 System.out.println(num+"是奇数");147 }148 }else{149 System.out.println(num + "不是两位数");150 }151 }152 }153154class If09{155public static void main(String[ ]args){156//练习9:判断⼀个三位正整数,是否是⽔仙花数157 Scanner input = new Scanner(System.in);158 System.out.print("请输⼊数字: ");159int num = input.nextInt();160//判断当前数是否是三位正整数161if (num>=100 && num <=999){ //num = 123162//获取各个位数163int bw = num / 100 , sw = num % 100 / 10 , gw = num % 10; 164//计算各个位的⽴⽅和165int sum = bw*bw*bw+sw*sw*sw+gw*gw*gw;166//判断,各个位⽴⽅和是否与当前数num相等167if (num == sum){168 System.out.println(num+"是⽔仙花数");169 }else{170 System.out.println(num+"不是⽔仙花数");171 }172 }else{173 System.out.println(num+"不是三位正整数");174 }175 }176 }。
第三章if循环结构语法

第三章if循环结构语法if语句的语法格式1:if(⽐较表达式) {语句体;}它的执⾏流程:1.先计算⽐较表达式的值,看其返回值是true还是false。
2.如果是true,就执⾏语句体;3.如果是false,就不执⾏语句体;下⾯通过代码来演⽰if语句:public class IfDemo01 {public static void main(String[] args) {int x = 10;if(x == 10) {System.out.println("x等于10");}if(x == 20) {System.out.println("x等于20");}System.out.println("over");}}我们在使⽤if语句的时候需要注意什么呢?1.⽐较表达式⽆论简单还是复杂,结果必须是boolean类型2.if语句控制的语句体如果是⼀条语句,⼤括号可以省略;如果是多条语句,就不能省略。
建议永远不要省略。
3.⼀般来说:有左⼤括号就没有分号,有分号就没有左⼤括号如下代码:public class IfDemo02 {public static void main(String[] args) {int x = 10;if(x == 10) {System.out.println("x等于10");}if((x > 5) || (x == 10)) {System.out.println("x⼤于或者等于10");}System.out.println("-------------------");int a = 100;/*if(a == 100) {System.out.println("a的值是100");}*/if(a != 100) {System.out.println("a的值是100");System.out.println("over");}System.out.println("-------------------");int b = 100;if(b != 100); //这⾥其实是有语句体的,只不过是空语句体。
java程序的三种基本结构

java程序的三种基本结构Java程序的三种基本结构是:顺序结构、选择结构和循环结构。
在Java编程中,要学会如何运用这三种基本结构使得程序更加灵活和高效。
顺序结构是指程序中指令按照书写的顺序执行,没有分支或循环语句。
程序从头到尾按照指定的语句所写的处理顺序依次执行,直到程序结束。
例如:```public class Test {public static void main(String[] args) {int a = 10;int b = 20;int c = a + b;System.out.println("a + b = " + c);}}```这个程序就是一个典型的顺序结构程序:依次执行赋值、计算和输出语句,没有任何判断或循环。
选择结构是指程序根据真假情况,执行不同的指令块。
Java中的选择结构包括if语句、switch语句。
if语句可以根据指定的条件判断,来选择执行代码块中的指令或跳过条件块。
例如:```public class Test {public static void main(String[] args) {int a = 10;if (a < 20) {System.out.println("a小于20");} else {System.out.println("a大于等于20");}}}```这个程序中的if语句就是一个典型的选择结构:程序会先判断a是否小于20,如果成立则输出"a小于20",否则输出"a大于等于20"。
if语句还可以与else if连用,构成更复杂的判断语句。
循环结构是指程序根据条件反复执行某段代码块,直到满足退出条件。
Java中的循环结构包括while循环、do-while循环、和for循环。
例如:```public class Test {public static void main(String[] args) {int a = 0;while (a < 10) {System.out.println("a = " + a);a++;}}}```这个程序中的while循环就是一个典型的循环结构:程序会执行一次输出语句,然后判断a是否小于10,如果成立则继续循环,否则结束循环。
if选择结构与switch选择结构

if选择结构与switch选择结构⼀、if选择结构if语法分为单选择结构、双选择结构、多选择结构、嵌⼊式结构以及 switch多选择结构。
其中双选择结构的语法⽤法与excel⽤法相似:if(boolean表达式){如果Boolean表达式结果为true将执⾏的语句}else{如果Boolean表达式结果为false将执⾏的语句}所谓的单选择结构指的是if语法只执⾏boolean表达式结果为true的部分。
else及之后的部分不书写。
多语法结构指的是:当⼀个或两个条件⽆法满⾜真实需求,⽽真实需求往往是ABCD等多种情况,这时需要⽤到多语法结构if(boolean表达式1){如果Boolean表达式1结果为true将执⾏的语句}else if(boolean表达式2){如果Boolean表达式结果2为true将执⾏的语句}else if(boolean表达式3){如果Boolean表达式结果3为true将执⾏的语句}else {如果以上Boolean表达式结果均为true将执⾏的语句}⼆、Switch多选择结构多选择结构还有⼀个实现⽅式就是switch case语句,switch case语句判断⼀个变量与⼀系列值中某个值是否相等,每⼀个值称为⼀个分⽀。
switch 类型可以是byte、short、int、char、 String(javase版本需要在7以上)case 标签必须为“字符串常量” 或 “字⾯量”。
(字⾯量就是不⽤数据类型去定义,直接输出)switch(){case value: //案例 1 ,case后跟的是当表达式满⾜当前条件value时,“:”后跟的是因此⽣成的结果://此处可使⽤System.out.println();即若表达式满⾜案例1将执⾏的语句break;//防case穿透case value://案例 2break;//防case穿透default://若不满⾜以上案例}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x < 2000 2000 ≤ x < 4000
折 扣
9折 8折
4000 ≤ x < 8000
x ≥ 8000
7折
6折
完成时间:20分钟
30/34
共性问题集中讲解
常见问题及解决办法 代码规范问题 调试技巧
共性问题集中讲解
31/34
总结
Java中的if选择结构,包括以下形式
基本if选择结构:可以处理单一或组合条件的情况 if-else选择结构:可以处理简单的条件分支情况 多重if选择结构:可以处理分段的条件分支情况 嵌套if选择结构:可以处理复杂的条件分支情况
}
演示示例2:复杂条件下的if选择结构
10/34
使用if-else选择结构 3-1
问题
如果张浩Java考试成绩大于98分,老师就奖励 他一个MP4,否则老师就罚他进行编码
使用两个基本if选择结构
使用if-else选择结构实现
if (score > 98) {
System.out.println("老师说:不错,奖励一个MP4!"); } if (score <= 98) { System.out.println("老师说:惩罚进行编码!"); }
只要两个条件有一个为真,结 果为真
( score1 >98 && score2 > 80 ) || ( score1 == 100 && score2 > 70 )
运算符优先级顺序:!>算术运算符 >比较运算符>&&>|| 条件为真时,结果为假 ! ! 条件 条件为假时,结果为真
9/34
使用复杂条件下的if选择结构2-2
使用if选择结构可以解决
6/34
什么是if选择结构
if选择结构是根据条件判断之后再做处理
语法
基本的if选择结构
if ( 条件 ) { //代码块 } 只有一条语句时,建议不省略{ }
假 条件 真 代码块
结果必须是布尔值
结合问题1 if (张浩的Java考试成绩> 90 ) {
获得一个MP4作为奖励;
}
7/34
使用基本的if选择结构
示例
import java.util.Scanner;
public class GetPrize { public static void main(String[] args) { Scanner input = new Scanner(System.in);
System.out.print("输入张浩的Java成绩: "); //提示输入Java成绩
示例
使用if-else选择结构解决问题3
开始
public class SimpleIf { public static void args) { 声明 scoremain(String[] 并赋值 int score = 91; // 张浩的Java成绩
if (score > 98) {
System.out.println(" 老师说:不错,奖励一个MP4!"); score>98? } else真 {
问题
张浩Java成绩大于98分,而且音乐成绩大于80分, 老师奖励他;或者Java成绩等于100分,音乐成绩 大于70分,老师也可以奖励他
分析:怎样把多个条件连接起来? 使用逻辑运算符 问题2的条件
&& || 条件1 && 条件2 条件1 || 条件2 运算符 表达式 说 明
仅仅两个条件同时为真,结果 为真
} else if (money >= 100) {
} else if (money >= 50) {
} else if (money >= 10) {
System.out.println("我可以买辆依兰特"); System.out.println("至少我可以买个奥托"); } else { System.out.println("看来,我只能买个捷安特了"); } 演示示例5:使用多重if实现购车
示例
使用复杂条件下的if选择结构解决问题2
public class GetPrize2 { public static void main(String[] args) { int score1 = 100; // 张浩的Java成绩 int score2 = 72; // 张浩的音乐成绩 if ( ( score1 >98&& score2 > 80 ) || ( score1 == 100 && score2 > 70 ) ){ System.out.println("老师说:不错,奖励一个MP4!"); } }
32/34
假
System.out.println("老师说:惩罚进行编码!");
}
} }
输出“奖 MP4”
输出“罚编程”
结束
演示示例3:使用if-else结构
13/34
小结
现场编程
买彩票
如果体彩中了500万,我买车、资助希望工程、去欧洲 旅游 如果没中,我买下一期体彩,继续烧高香
14/34
学员操作——实现幸运抽奖2-1
26/34
小结
现场编程
输入小明的考试成绩,显示所获奖励
成绩==100分,爸爸给他买辆车 成绩>=90分,妈妈给他买MP4 90分>成绩>=60分,妈妈给他买本参考书 成绩<60分,什么都不买
27/34
学员操作——购物结算2-1
指导
训练要点
嵌套if选择结构
需求说明
顾客
普通顾客购物满100元 会员购物 会员购物满200元
} else {
代码块2 } } else { 代码块3 }
25/43
嵌套if选择结构2-2
示例
使用嵌套if选择结构解决问题6
外层选择结构 if(score<=10){ 内层选择结构
if(gender.equals("男")){
System.out.println("进入男子组决赛!"); }else if(gender.equals("女")){ System.out.println("进入女子组决赛!");
第三章
选择结构(一)
回顾与作业点评
代码阅读
找出错误并更正
Scanner input=new Scanner(System.in); int num1=input.next(); int num2=input.next(); int i=num1>num2; System.out.println("num1大于num2吗?"+i);
23/34
为什么使用嵌套if选择结构
问题
学校举行运动会,百米赛跑跑入10秒内的学 生有资格进决赛,根据性别分别进入男子组 和女子组
分析
判断是否能够进入决赛
在确定进入决赛的情况下,判断是进入男子 组,还是进入女子组
使用嵌套if选择结构
24/34
嵌套if选择结构2-1
语法
是否跑入10秒 if(条件1) { if(条件2) { 代码块1 条件1 假 代码块3 内层选择结构 条件2 假 代码块2 代码块1 真 性别是否为男 真
11/34
使用if-else选择结构3-2
语法
if-else选择结构
真
假 条件
代码块 1
代码块 2
if ( 条件 ) { //代码块1 }else { //代码块2 } 结合问题3
if (张浩Java成绩> 98 ) { 奖励一个MP4; }else { 惩罚进行编码; }
12/34
使用if-else选择结构3-3
int score = input.nextInt(); //从控制台获取张浩的Java成绩 if ( score > 90 ) { } } } //判断是否大于90分 System.out.println("老师说:不错,奖励一个MP4!");
演示示例1:使用基本if选择结构
8/34
使用复杂条件下的if选择结构2-1
输出结果是什么?
int num1 = 19; int num2 = 89; int temp; temp = num1; num1 = num2; num2 = temp; System.out.println(num1+", "+num2);
2/34
借助一个中间变量互换两个变量的值
预习检查
提问
常用的逻辑运算符及其作用? if-else选择结构执行的顺序是什么? 多重if选择结构的执行流程是怎样的? if 选择结构书写规范有哪些?
int random=(int)(Math.random()*10);
完成时间:20分钟
16/34
学员操作——会员信息录入
练习
需求说明
录入会员信息 判断录入的会员号是否合法
完成时间:20分钟
17/34
共性问题集中讲解
常见问题及解决办法 代码规范问题 调试技巧
共性问题集中讲解
18/34
为什么使用多重if选择结构
指导
训练要点
if-else选择结构
需求说明
抽奖规则:会员号的百位数字等于产生的随机数字即 为幸运会员
讲解需求说明