全部章节   >>>>


本章目录

4.1 条件结构

4.1.1 程序流程控制

​4.1.2 单分支if结构

4.1.3 双分支if结构

4.1.4 实践练习

4.2 多重条件结构

4.2.1 多重条件结构

4.2.2 多重if结构

4.2.3 多重if结构的使用

4.2.4 实践练习(一)

4.2.5 实践练习(二)

4.3 嵌套条件结构

4.3.1 嵌套if结构

4.3.2 嵌套if结构的使用

4.3.3 实践练习

4.4 Switch结构

4.4.1 Switch-case结构

4.4.2 Switch-case使用

4.4.3 选择结构小结

选择结构包含:

4.4.4 实践练习

总结:


4.1 条件结构

4.1.1 程序流程控制

1、顺序结构:语句顺序处理、依次执行

2、选择结构(分支结构):单分支、多分支、双分支三种形式

3、循环结构:分为判断后执行结构和先执行后判断两种形式

4.1.2 单分支if结构

  • 选择结构又称为分支结构。
  • 当程序执行到分支判断的语句时,首先判断条件,然后根据条件表达式的结果选择相应的语句执行。
  • 分支结构包括单分支、双分支和多分支三种形式。

语法:

if(条件) {
//语句
}
  • 条件表达式的值必须为boolean类型
  • 条件为true时执行if内的代码

示例:使用if选择结构实现输入学生成绩,判断学生成绩是否及格

Scanner input = new Scanner(System.in);
System.out.println("请输入学生成绩:"); //提示输入学生成绩
int score = input.nextInt(); //从控制台接收输入的成绩
if(score >= 60) { //判断成绩是否及格
System.out.println("成绩合格,获得软件工程师证书!");
}

示例:使用if选择结构实现判断学生机试与笔试成绩是否及格

Scanner input = new Scanner(System.in);
int writtenScore ;// 笔试成绩
int practiceScore; // 机试成绩
System.out.println(" 请输入笔试成绩:");
writtenScore = input.nextInt();
System.out.println(" 请输入机试成绩:");
practiceScore = input.nextInt();
// 判断笔试与机试成绩是否都合格
if(writtenScore >= 60 && practiceScore >= 60) {
System.out.println(" 笔试与机试都合格,获得软件工程师证书! ");
}

4.1.3 双分支if结构

双分支结构使用if-else语句实现,用于根据条件判断的结果执行不同的操作。

语法:

if ( 条件 ) {
//代码块1
}else {
//代码块2
}
  • 条件的结果为true,则执行if中的代码块1,条件的结果为false,则执行else中的代码块2。

示例:实现:求两个数的最大值

if(num1 >= num2) {
max = num1;
} else {
max = num2;
}

示例:实现:游戏菜单界面

int choose = input.nextInt();
if(1==choose) {
System.out.println(" 正在登录系统 ...");
}
if(2==choose){
System.out.println(" 系统已退出! ");
}

4.1.4 实践练习

4.2 多重条件结构

4.2.1 多重条件结构

思考:对学生的结业考试成绩进行评测

  • 成绩>=80 :良好
  • 成绩>=60 :中等
  • 成绩<60   :差

4.2.2 多重if结构

在多重if语句的语法中,条件表达式的值也必须是bolean类型,else if 快可以有多个或没有,else if块的数量完全取决于需要,else块最多只能有一个,且只能放在后面。

语法:

 if ( 成绩>=80) {             //条件1
//代码块1
}
else if (成绩>=60) { //条件2
//代码块2
}
else {
//代码块3
}

4.2.3 多重if结构的使用

示例:使用多重if实现学生的结业考试成绩评测

if(score >= 90) {  //考试成绩>=90
System.out.println("优秀");
} else if (score >= 80) { // 90 >考试成绩>=80
System.out.println("良好");
} else if (score >= 60) { // 80>考试成绩>=60
System.out.println("中等");
} else { //考试成绩<60
System.out.println("差");
}

多重if中条件表达式的顺序是有序的,要么从大到小,要么从小到大,总之是要有顺序地排列。条件不按顺序排列会出错。

4.2.4 实践练习(一)

4.2.5 实践练习(二)

4.3 嵌套条件结构

4.3.1 嵌套if结构

嵌套条件结构即在一个条件结构中嵌入另一个。

if(条件表达式1){
if(条件表达式2){ //内层结构
语句块1;
} else {
语句块2;
}
} else {
if(条件表达式3) { //内层结构
语句块3;
} else {
语句块4;
}
}

外层条件满足后才执行内层条件语句

4.3.2 嵌套if结构的使用

示例:学校举办运动会,要求年龄在18岁以上的男同学,能够参加A类比赛项目,18岁以上的女同学,能够参加B类比赛项目,而18岁以下的男女同学都可以参加C类项目。

if(gender == ' 男 ') {
if(age>=18) {
System.out.println(" 可以报 A 类比赛项目 ");
}
else {
System.out.println(" 可以报 B 类比赛项目 ");
}
}
else {
System.out.println(" 可以报 C 类比赛项目 ");
}

示例:在体育课上,男生与女生的引体向上达标的个数分别为12个和8个,编写程序实现判断引体向上成绩是否达标。

if(gender == '男') {
if(num>=12) {
System.out.println("该男生引体向上成绩达标!");
} else {
System.out.println("该男生引体向上成绩不达标!");
}
} else {
if(num>=8) {
System.out.println("该女生引体向上成绩达标!");
} else {
System.out.println("该女生引体向上成绩不达标!");
}
}

4.3.3 实践练习

4.4 Switch结构

4.4.1 Switch-case结构

语法:

switch (表达式) {
case 常量 1:
语句;
break;
case 常量 2:
语句;
break;

default:
语句;
break;
}

4.4.2 Switch-case使用

示例:解决名次与奖励的问题

 int no = 2;   //成绩名次
switch(no) {
case 1:
System.out.println("奖励联想笔记本一台");
break;
case 2:
System.out.println("奖励移动硬盘一个");
break;
case 3:
System.out.println("奖励U盘一个");
break;
default:
System.out.println("没有任何奖励");
break;
}

如果需要每个case执行完后跳出,在每个case后不要忘记写break;

示例:判断1~6中的奇数与偶数

int  num = 3;
switch(num) {
case 1:
case 3:
case 5:
System.out.println("奇数!");
break;
case 2:
case 4:
case 6:
System.out.println("偶数!");
break;
}

case后面的常量必须各不相同

4.4.3 选择结构小结

选择结构包含:

  • 单分支结构
  • 双分支结构
  • 嵌套分支结构
  • 多分支结构

在这种等值的判断结构中,结构更加清晰,模块化更强,但在进行范围判断时,switch不如多重if方便。

4.4.4 实践练习

总结:

  • 程序结构分为顺序结构、选择结构、循环结构。
  • 选择结构中的条件表达式的结果必须是boolean类型。
  • 双分支if-else结构中,程序要么选择if块中的语句,要么选择else块中的语句,只能选择其一来执行。
  • 多分支结构有多重if语句结构和switch结构。
  • 使用switch语句实现等值判断的多分支语句,其语句结构方便简洁。
  • 在实际开发中,遇到分支情况时,通常会综合运用if选择结构的各种形式与switch结构解决问题。

Java程序设计基础笔记 • 【第4章 条件结构】的更多相关文章

  1. Java程序设计基础笔记 • 【目录】

    持续更新中- 我的大学笔记>>> 章节 内容 实践练习 Java程序设计基础作业目录(作业笔记) 第1章 Java程序设计基础笔记 • [第1章 初识Java] 第2章 Java程序 ...

  2. Java程序设计基础笔记 • 【第5章 循环结构】

    全部章节   >>>> 本章目录 5.1 while循环结构 5.1.1 循环简介 5.1.2 while循环 5.1.3 while循环的使用 5.1.4 while循环的注 ...

  3. Java程序设计基础笔记 • 【第9章 方法与参数类型】

    全部章节   >>>> 本章目录 9.1 有参数有返回值的方法 9.1.1 有参数有返回值的方法的定义和调用 9.1.2 返回值的传递过程 9.1.3 方法返回值的注意事项 9 ...

  4. Java程序设计基础笔记 • 【第6章 循环结构进阶】

    全部章节   >>>> 本章目录 6.1 for循环 6.1.1 for循环的简介 6.1.2 for循环的使用 6.1.3 for循环的表达式 6.1.4 实践练习 6.2 ...

  5. Java程序设计基础笔记 • 【第1章 初识Java】

    全部章节   >>>> 本章目录 1.1 程序的概念及Java语言介绍 1.1.1 生活中的程序 1.1.2 计算机程序 1.1.3 算法和流程图 1.1.4 实践练习 1.2 ...

  6. Java程序设计基础笔记 • 【第10章 数组】

    全部章节   >>>> 本章目录 10.1 数组概述 10.1.1 数组优势 10.1.2 Java中的数组 10.1.3 数组的分类 10.2 一维数组 10.2.1 数组的 ...

  7. Java程序设计基础笔记 • 【第7章 Java中的类和对象】

    全部章节   >>>> 本章目录 7.1 理解类和对象 7.1.1 对象 7.1.2 抽象与类 7.1.3 类与对象的关系: 7.2 Java中的类和对象 7.2.1 类的定义 ...

  8. 【Java】《Java程序设计基础教程》第一章学习

    一.Java概述 1.介绍了Java语言的由来 2.Java语言的特点:简单.面向对象.分布式.高效解释执行.健壮.安全.结构中立.可移植.高效率.多线程.动态 3.Java语言的实现机制,引入虚拟机 ...

  9. Java程序设计基础笔记 • 【第3章 运算符与表达式】

    全部章节   >>>> 本章目录 3.1 运算符(一) 3.1.1 赋值运算符 3.1.2 算数运算符 3.1.3 复合运算符 3.1.4 实践练习(一) 3.1.5 实践练习 ...

随机推荐

  1. 【Android】No Android SDK found(mac)+ 真机调试

     [1]No Android SDK found 如果没下载SDK,可以去google官方下载 如果因为上网问题,这里提供两个网址,有人整理好了,这里先谢谢他们,下面两个择其一下载 http://to ...

  2. C++ 害死人不偿命的(3n+1)猜想

    第一次刷PAT ,注意事项:就像普通编译器一样要导入头文件 还有 using namespace std:要不然会报错(鬼知道我经历了什么 微笑.jpg) 1 #include <iostrea ...

  3. 利用extern共享全局变量

    方法: 在xxx.h中利用extern关键字声明全局变量 extern int a; 在xxx.cpp中#include<xxx.h> 再定义 int a; 赋不赋初值无所谓,之后该全局变 ...

  4. linux 定时导出sql查询结果文件

    如果想在服务器端生成sql查询结果的txt文件. 大体思路就是: 1.创建一个到处txt文件的sql脚本. set ARRAYSIZE 50 --从数据库往客户端一次发送记录数 set linesiz ...

  5. Hibernate 错误的问题

    配了好几次的Hibernate,老是在create BeanFactory的时候fail.我是用MyEclipse自带的HIbernate,直接加进去的. private static final T ...

  6. Templates and Static variables in C++

    Function templates and static variables: Each instantiation of function template has its own copy of ...

  7. LocalDate计算两个日期相差天数

    import org.apache.commons.lang.StringUtils; import java.time.LocalDate; import java.time.ZoneId; imp ...

  8. springboot-MVC 过滤器使用

    一.前言 一下代码以SSO用户登录列子代码.完整代码https://gitee.com/xuxueli0323/xxl-sso 二.使用 2.1 创建过滤器 创建一个过滤器,实现Filter 接口 p ...

  9. spring cloud config center Git SSH configuration

    Git SSH configuration using properties By default, the JGit library used by Spring Cloud Config Serv ...

  10. 数据恢复binlog2sql

    目录 一.原理及其使用 用途 闪回原理简析 binlog 有三种可选的格式: 来实例演习下来实例演习下 二.准备工作 一.原理及其使用 生产上误删数据.误改数据的现象也是时常发生的现象,作为运维这时候 ...