流程控制
1.1流程控制语句概述
1.2流程控制语句分类
顺序结构分支结构(if,switch)循环结构(for,while,do…while)
1.3顺序结构
最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,大多数代码都是这样执行的
public class OrderDemo{ public static void main(String[] args){ System.out.println("开始"); System.out.println("语句A"); System.out.println("语句B"); System.out.println("语句C"); System.out.println("结束"); } }
顺序执行流程图:
- if语句
2.1if语句格式1
格式:
if(关系表达式){
语句体
}
执行流程:
首先计算关系表达式的值;如果关系表达式的值为true就执行语句体;如果关系表达式的值为false就不执行语句体;继续执行后面的语句内容
public class IfDemo{ public static void main(String[] args){ System.out.println("开始"); //定义两个变量 int a = 1; int b = 2; //判断a,b的值是否相等,如果相等,则输出,a等于b; if(a == b){ System.out.println("a等于b"); } //判断a和c的值是否相等,如果相等,则输出,a等于c; int c = 1; if(a == c){ System.out.println("a等于c"); } System.out.println("结束"); } }
if语句格式1执行流程:
2.2if语句格式2
格式:
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行流程:
首先计算关系表达式的值;如果关系表达式的值为true就执行语句体1;如果关系表达式的值为false就执行语句体2;继续执行后面的语句
public class IfDemo02{ public static void main(String[] args){ System.out.println("开始"); //定义两个变量 int a = 10; int b = 20; //判断a是否大于b,如果是,输出:a的值大于b。否则输出:a的值不大于b if(a > b){ System.out.println("a的值大于b"); }else{ System.out.println("a的值不大于b"); } System.out.println("结束"); } }
案例:奇偶数
需求:任意给出一个整数,请用程序实现判断该整数是奇数还是偶数
分析:
为了体现任意给出一个整数,采用键盘录入一个数据使用键盘录入功能需要导包
import java.uilt.Scanner;
创建对象
Scanner sc = new Scanner(System.in);
接受数据
int number = sc.nextInt();
判断整数是偶数还是奇数要分两种情况进行判断,使用if…else结构
if () {
} else {
}
判断是否偶数需要使用取余运算符实现该功能number % 2 == 0根据判定情况,输出对应的内容
if(number % 2 == 0){ System.out.println(number + "是偶数"); } else { System.out.println(number + "是奇数"); }
import java.util.Scanner; public class IfTest01{ public static void main(String[] args){ // 为了体现任意给出一个整数,采用键盘录入一个数据 Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int number = sc.nextInt(); //判断整数是偶数还是奇数要分两种情况进行判断,使用if...else结构 //判断是否偶数需要使用取余运算符实现该功能number % 2 == 0 //根据判定情况,输出对应的内容 if(number % 2 == 0){ System.out.println(number + "是偶数"); } else { System.out.println(number + "是奇数"); } } }
if语句格式2执行流程:
2.3if语句格式3
格式:
if (关系表达式1) {
语句1;
} else if (关系表达式2){
语句2;
}
…
else{
语句体n+1;
}
执行过程:
首先计算关系表达式1的值如果值为true就执行语句体1;如果值为false就计算关系表达式2的值如果值为true就执行语句体2;如果值为false就计算关系表达式3的值…如果没有任何关系表达式为true,就执行语句体n+1
import java.util.Scanner; public class IfDemo03{ public static void main(String[] args){ System.out.println("开始"); //键盘录取一个星期数(1,2...7),输出对应的星期一,星期二...星期日 Scanner sc = new Scanner(System.in); System.out.println("请输入一个星期数:"); int week = sc.nextInt(); if(week == 1){ System.out.println("星期一"); }else if(week == 2){ System.out.println("星期二"); }else if(week == 3){ System.out.println("星期三"); }else if(week == 4){ System.out.println("星期四"); }else if(week == 5){ System.out.println("星期五"); }else if(week == 6){ System.out.println("星期六"); }else{ System.out.println("星期日"); } System.out.println("结束"); } }
if语句格式3执行流程:
案例: 考试奖励
需求: 小明期末考试,小明爸爸答应他,他考不同的分数,会获得不同的礼物,用程序实现小明获得什么样的礼物,并输出
分析:
小明考试成绩未知,可以使用键盘录入的方式获取值,使用键盘录入功能需要导包,创建对象,接收数据
import java.util.Scanner; Scanner sc = new Scanner(System.in); int score = sc.nextInt();
由于奖品种类较多,属于多种判断,采用if…else…if格式实现为每种判断设置对应的条件
if (score >= 95 && score <= 100) {
}else if (score >= 90 && score <=94){
}else if (score >= 80 && score <=89){
}else{
}
为每种判断设置对应的奖励
System.out.println(“游乐场游玩一次”);
System.out.println(“大餐吃一顿”);
System.out.println(“芭比娃娃玩偶一个”);
System.out.println(“毒打一顿”);
import java.util.Scanner; public class IfTest02{ public static void main(String[] args){ //小明考试成绩未知,可以使用键盘录入的方式获取值, //使用键盘录入功能需要导包,创建对象,接收数据 Scanner sc = new Scanner(System.in); System.out.println("请输入小明的分数:"); int score = sc.nextInt(); //由于奖品种类较多,属于多种判断,采用if...else...if格式实现 //为每种判断设置对应的条件 //为每种判断设置对应的奖励 //数据测试,正确数据,边界数据,错误数据 if (score > 100 || score < 0){ System.out.println("你输入的数据有误"); } else if (score >= 95 && score <= 100) { System.out.println("游乐场游玩一次"); } else if (score >= 90 && score <=94){ System.out.println("大餐吃一顿"); } else if (score >= 80 && score <=89){ System.out.println("芭比娃娃玩偶一个"); } else { System.out.println("毒打一顿"); } } }
案例note: 一定要测试正确数据,边界数据,错误数据
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)