4.1代码运行过程中的常见的结构
顺序结构
代码从上到下,从左至右运行,最基本的原则
分支结构
路上的风景不一样,向左向右走的结果不一样
代码满足不同的条件,执行不同的结果
循环结构
代码中存在需要多次执行的情况,这里会使用到循环结构
4.2 if分支结构
格式:
if (/*条件判断*/) {
//语句体
}
/*
执行流程:
当前程序运行到if结构时,首先执行条件判断,条件判断的结果是一个boolean类型,如果条件判断为true,执行语句体,为false,不能执行语句体。最后都会执行到大括号之外
*/
【重点】if 分支结构中只能处理条件满足的情况,条件不满足没有任何的处理语句
4.3 if else分支结构
if else分支结构。
*/
if (/* 条件判断 */) {
// true语句体
} else {
// false语句体
}
/*
/*
执行流程:
当前程序运行到if结构时,首先执行条件判断,条件判断的结果是一个boolean类型,如果条件判断为true,执 行语句体,为false,不能执行语句体。最后都会执行到大括号之外
【批注】if 和else语句体只能执行一个
*/
if else if分支结构
格式
if (/* 条件匹配1 */) {
// 处理方式1
} else if (/* 条件匹配2 */) {
// 处理方式2
} else if (/* 条件匹配3 */) {
// 处理方式3
} else {
// 无匹配项最终处理方式
}
/*
执行流程:
代码执行到if else if结构,从上至下,匹配if之后小括号里面的内容,条件匹配成功,执行对应的处理方式,结束分支结构运行。如果没有任何的一个条件匹配,执行else中的语句,也会终止条件匹配
【注意】
else if个数不限制,可以有多个!!!
【补充知识点 Scanner 复制粘贴就可以了】
代码每一次的结果都是需要用户修改代码,保存,重新编译之后才可以进行执行结果。对于普通用户而言,该操作不可行!
我们需要给程序提供一种方式,用于接受用户输入的数据!!!
Scanner使用流程
1. 点技能点,Java程序本身是没有直接使用Scanner的能力,这里需要点技能点。
官网操作【导包】
固定格式:
import java.util.Scanner;
放在class代码上一行
2. 需要得到一个Scanner的变量
固定格式:
Scanner sc = new Scanner(System.in);
3. 选择执行对应的方法,从键盘上获取对应的数据
获取int类型
int类型的变量 = sc.nextInt();
获取float类型
float类型的变量 = sc.nextFloat();
获取double类型
double类型的变量 = sc.nextDouble();
获取char类型
char类型的变量 = sc.nextLine().charAt(0);
【补充知识点 用户友好性提示】
代码运行需要站着用户的角度来思考问题。用户进行操作时,需要给予用户足够的提示和引导,告知用户当前操作如何完成,考虑代码的友好性!!! 用户粘性问题!!!用户提示!!!用户友好性!!!
【补充知识点 用户输入数据合法性判断】
就算在提示中告知用户需要输入的数据范围是多少,但是用户在实际使用的过程中,依然存在输入错误的情况。需要对于用户输入的数据进行合法性判断,如果用户输入的内容符合我们的判断逻辑需求,进入数据处理过程。如果不符合要求,直接终止程序!!!
总结
分支结构用于处理代码中出现的一些需要判断,并且按条件处理的情况!!!
1. 条件约束考虑清楚
2. 处理的过程考虑清楚
3. 数据类型选择