关键步骤
1.从控制台获得数据
Scanner input = new Scanner(System.in);
2.将数据保存在变量中
int now = input.nextlnt();
3.使用流程控制结构判断取值范围
在Java中有3种流程控制结构:有顺序结构,选择结构,还有循环结构,如图:
选择结构
1.if控制语句
if控制语句共有3种不同的形式,分别是单分支结构,双分支结构和多分支结构
使用if语句实现单分支处理
if(表达式){
语句
}
示例:
请实现如果成绩大于等于60分,则输出“ 成绩及格。通过考试。”
分析:
从需求描述可以看出,条件是“成绩大于等于60分”,对应的if语句就是:
if(成绩>=60){
..................
}
实现步骤如下:
1.为保存成绩的变量score赋值
使用if语句判断成绩是否大于等于60分,如果成绩大于等于60分,则输出信息“成绩合格,通过考试”
代码如下:
public static void main (String[] args){
int score = 70;
if(score >=60){
System.out.println(“ 成绩合格”)
System.out.println(“ 考试通过”)
}
}
输出结果:
System.out.println(“ 成绩合格”)
System.out.println(“ 考试通过”)
表达式是布尔类型的表达式,结果为true或false。
if语句执行步骤:
- 1.对表达式的结果进行判断
- 2.如果表达式的结果为真,则执行语句
- 3.如果表达式的结果为假,则跳过该语句
2.使用if-else语句实现双分支处理
if(表达式){
语句1
}else{
语句2
}
示例:
请实现如果成绩大于等于60分,,则输出信息“成绩合格”;否则输出“ 成绩不及格”
分析:
从需求描述可以看出,条件是“成绩大于等于60分”,由考试成绩是否满足大于等于60的条件来确定控制台中输出的信息
实现步骤如下:
请实现如果成绩大于等于60分,,则输出信息“成绩合格”;否则输出“ 成绩不及格”。
代码如下:
public static void main (String[] args){
int score = 50;
if(score >=60){ //判断score值是否大于等于60
System.out.println(“ 成绩合格”)
}else{
System.out.println(“ 成绩不合格”)
}
}
输出结果:
System.out.println(“ 成绩不合格”)
当表达式为真时,执行该语句1; 表达式为假时,执行else分支的语句2
if-else 语句的执行步骤:
- 1.对表达式的结果进行判断
- 2.如果表达式的结果为true,则执行语句1
- 3.如果表达式的结果为false,则执行语句2
3.使用多分支if语句实现多分支处理
当有多个条件判断时,需要使用多分支if语句解决
多分支的语法如下:
if(表达式1){
语句
}else if(表达式2){
语句2
}else{
语句3
}
- else if 语句可以有多个
- 多分支if语句的执行步骤如下
- 对表达式1的结果进行判断
- 如果表达式1的结果为true,则执行语句1;否则判断表达式2的值
- 如果表达式2的结果为true,则执行语句2;否则执行语句3
嵌套 if 控制语句
在 if 控制语句中又包含一个或多个if控制语句,称为:嵌套 if 控制语句。
嵌套if控制语句可以通过外层语句的协作,来增强程序的灵活性。
嵌套if控制语句的语句如下:
if(表达式1){
if(表达式2){
语句1
}else{
语句2
}else{
if(表达式3){
语句3
}else{
语句4
}
}
嵌套if控制语句的执行步骤:
- 对表达式1的结果进行判断
- 如果表达式1的结果为true,再对表达式2的结果进行判断,如果表达式2的结果为true,则执行语句1;否则,执行语句2
- 如果表达式1的结果为false,再对表达式3的结果进行判断,如果表达式3的结果为true,则执行语句3;否则,执行语句4