Day Four
Java的顺序结构和选择结构
顺序结构
顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
语句与语句之间,框与框之间是按照从上到下的顺序进行的,他是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
示例
package com.liuHuan.structure;
/**
* @author :liuHuan
* @date :Created in 2021/7/18 11:14
* @version: 1.0$
*/
public class SequenceStructure {
public static void main(String[] args) {
System.out.println("1");
System.out.println("2");
System.out.println("3");
}
}
选择结构
- if单选择结构
- if双选择结构
- if多选择结构
- 嵌套的if结构
- switch多选择结构
if单选择结构
- 语法
if(布尔表达式){
//如果布尔表达式结果为true时,执行的语句
}
- 结构流程图
if双选择结构
- 语法
if(布尔表达式){
//如果布尔表达式结果为true时,执行的语句
}else{
//如果布尔表达式结果为false时,执行的语句
}
- 结构流程图
if多选择结构
- 语法
if(布尔表达式){
//如果布尔表达式结果为true时,执行的语句
}else if{
//如果布尔表达式结果为true时,执行的语句
}else if{
//如果布尔表达式结果为true时,执行的语句
}else{
//如果以上布尔表达式结果都不为true时,执行的语句
}
- 结构流程图
嵌套的if结构
- 语法
if(布尔表达式 1){
//如果布尔表达式1结果为true时,执行的语句
if(布尔表达式 2){
//如果布尔表达式2结果为true时,执行的语句
}
}
- 结构流程图
我们通过一个练习来加强对if选择结构的理解。
package com.liuHuan.structure;
import java.util.Scanner;
/**
* @author :liuHuan
* @date :Created in 2021/7/18 12:47
* @version: 1.0$
*/
public class IfStructure {
public void singleIf(){
Scanner singleIfScanner = new Scanner(System.in);
System.out.println("=========If单选择结构=========");
System.out.println("请输入:");
String nextLine = singleIfScanner.nextLine();
if (nextLine.equals("liuhuan")){
System.out.println(nextLine);
}
System.out.println("拜拜了您内!!");
}
public void doubleIf(){
Scanner doubleIfScanner = new Scanner(System.in);
System.out.println("=========If双选择结构=========");
System.out.println("请输入成绩:");
double nextDouble = doubleIfScanner.nextDouble();
if (nextDouble >= 60 && nextDouble <= 100){
System.out.println("输入的成绩及格,成绩是:"+nextDouble);
}else {
System.out.println("这还能不及格,考的啥玩意!分:"+nextDouble);
}
}
public void multipleIf(){
Scanner multipleIfScanner = new Scanner(System.in);
System.out.println("=========If多选择结构=========");
System.out.println("请输入成绩:");
double nextDouble = multipleIfScanner.nextDouble();
if (nextDouble >= 90 && nextDouble <= 100){
System.out.println("A等");
}else if (nextDouble >= 80 && nextDouble < 90){
System.out.println("B等");
}else if (nextDouble >= 70 && nextDouble < 80){
System.out.println("C等");
}else if (nextDouble >= 60 && nextDouble < 70){
System.out.println("D等");
}else if (nextDouble >= 0 && nextDouble < 60){
System.out.println("不及格");
}else {
System.out.println("输入的成绩不合法!!检查一下");
}
}
public void nestingIf(){
Scanner nestingIfScanner = new Scanner(System.in);
System.out.println("=========嵌套If选择结构=========");
System.out.println("请输入一个数:");
int a = nestingIfScanner.nextInt();
if(a != 0){
if(a <= 5){
System.out.println("输入的数是5(包括)以内的!!");
}else{
System.out.println("输入的数是5以外的!!");
}
}else {
System.out.println("输入的数是0!!");
}
System.out.println("输入的数是:"+a);
}
}
测试类
package com.liuHuan.structure;
/**
* @author :liuHuan
* @date :Created in 2021/7/19 10:28
* @projectName: Learn
*/
public class TestIfStructure {
public static void main(String[] args) {
IfStructure ifStructure = new IfStructure();
ifStructure.singleIf();
ifStructure.doubleIf();
ifStructure.multipleIf();
ifStructure.nestingIf();
}
}
switch多选择结构
switch case 语句就是判断一个变量与一系列值中的某一个值是否相等,每一个值被叫做是一个分支。
- 语法
switch(expression){
case value :
//语句
break;//可选
case value :
//语句
break;//可选
//可以有任意数量的case语句
default ://可选
//语句
}
- switch语句中的变量类型可以是:
- byte、short、int、char。
- 在JavaSE 7开始,就支持String类型了,不过case标签必须为字符串常量或字面量。
通过小例子来加强学习。
package com.liuHuan.structure;
/**
* @author :liuHuan
* @date :Created in 2021/7/21 21:31
* @projectName: Learn
*/
public class SwitchStructure {
public static void main(String[] args) {
char a = 'C';
switch (a){
case 'A':
System.out.println("1");
break;
case 'B':
System.out.println("2");
break;
case 'C':
System.out.println("3");
break;
default:
System.out.println("7897897897987987987987");
break;
}
}
}