一、程序流程控制
1、顺序结构:就是一个程序从主方法一直走下去。
2、分支结构:分为 if、if-else、if-else嵌套、还有Switch语句。
2、循环结构:while、do-while、for循环。
(1)if的分支结构:
执行流程:
1、首先要判断条件表达式的结果,如果为true执行语句体,为false就不执行语句体。
2、if 语句中,如果大括号控制的只有一行代码,则大括号可以省略不写
例题
键盘录入考试成绩,根据成绩所在的区间,程序打印出不同的奖励机制
代码如下:
package com.itheima.branch;
public class IfDemo1 {
public static void main(String[] args) {
// 目标:需要同学们掌握if分支三种形式的用法和执行流程。
// 需求:测量用户体温,发现体温高于37度就报警。
double t = 36.9;
if(t > 37){
System.out.println("这个人的温度异常,把他赶紧带走~~");
}
// 需求2:发红包,你的钱包余额是99元,现在要发出90元
// 如果钱够触发发红包的动作,如果钱不够,则提示:余额不足。
double money = 19;
if(money >= 90){
System.out.println("发红包成功了~");
}else {
System.out.println("余额不足~~");
}
// 需求3:某个公司有一个绩效系统,根据员工的打分输出对应的绩效级别。[0,60) D [60,80) C [80,90) B [90,100] A
int score = 298;
if(score >= 0 && score < 60) {
System.out.println("您的绩效级别是: D");
}else if(score >= 60 && score < 80){
System.out.println("您的绩效级别是: C");
}else if(score >= 80 && score < 90){
System.out.println("您的绩效级别是: B");
}else if(score >= 90 && score <= 100){
System.out.println("您的绩效级别是: A");
}else {
System.out.println("您录入的分数有毛病~~");
}
}
}
(2)Switch语句的用法:
switch分支的执行流程
③ 如果全部case后的值与之匹配都是false,则执行default块的代码
switch分支的导学案例:电子备忘录
代码如下:
package com.itheima.branch;
/**
目标:掌握switch的写法,理解其执行流程
*/
public class SwitchDemo2 {
public static void main(String[] args) {
// 周一:埋头苦干,解决bug 周五:今晚吃鸡
// 周二: 请求大牛程序员帮忙 周六:与王婆介绍的小芳相亲
// 周三:今晚啤酒、龙虾、小烧烤 周日:郁郁寡欢、准备上班。
// 周四:主动帮助新来的女程序解决bug
String week = "周三";
switch (week){
case "周一":
System.out.println("埋头苦干,解决bug");
break;
case "周二":
System.out.println("请求大牛程序员帮忙");
break;
case "周三":
System.out.println("今晚啤酒、龙虾、小烧烤");
break;
case "周四":
System.out.println("主动帮助新来的女程序解决bug");
break;
case "周五":
System.out.println("今晚吃鸡");
break;
case "周六":
System.out.println("与王婆介绍的小芳相亲");
break;
case "周日":
System.out.println("郁郁寡欢、准备上班");
break;
default:
System.out.println("您输入的星期信息不存在~~~");
}
}
}
下面介绍使用Switch语句的注意事项:
表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String、不支持double、float、long。
case给出的值不允许重复,且只能是字面量,不能是变量。
正常使用switch的时候,不要忘记写break,否则会出现穿透现象
(3)for循环语句的用法
for (初始化语句; 循环条件; 迭代语句) {
循环体语句(重复执行的代码);
}
案例:
for循环案例2:求奇数和
package com.itheima.loop;
public class ForDemo2 {
public static void main(String[] args) {
// 目标:掌握使用for循环批量产生数据。
for (int i = 1; i <= 100; i++) {
System.out.println(i);
}
System.out.println("=========================================");
// 2、定义一个变量用于求和
int sum = 0; // 15
// 1、定义一个循环,先产生1-100,这100个数
for (int i = 1; i <= 100; i++) {
// i = 1 2 3 4 5
sum += i; //sum = sum + i;
}
System.out.println("1-100的数据和:" + sum);
System.out.println("=========================================");
// 2、定义一个变量用于求和
int sum1 = 0;
// 1、定义一个循环产生1-100之间的奇数
for (int i = 1; i < 100; i+=2) {
// i = 1 3 5 7 ...
sum1 += i;
}
System.out.println("1-100之间的奇数和:" + sum1);
System.out.println("=========================================");
// 2、定义一个变量用于累加奇数求和
int sum2 = 0; // 4
// 1、定义循环产生1-100之间的每个数据
for (int i = 1; i <= 100; i++) {
// i = 1 2 3 4 5 6 ... 99 100
// 2、使用一个if分支,判断i此时记住的数据是否是奇数,是奇数我们才累加给一个变量
if(i % 2 == 1){
// i = 1 3 5 7 9 ... 99
sum2 += i;
}
}
System.out.println("1-100之间的奇数和:" + sum2);
}
}
下面介绍while语句的用法:
do-while循环语句介绍:
死循环:
while(true)
{
System.out.println(Hello world!);
}
再介绍个随机数: