Java流程控制04:if选择结构
  1. if单选择结构
  2. if双选择结构
  3. if多选择结构
  4. 嵌套的if结构
  5. switch多选择结构

1.if单选择结构

if(布尔表达式){
//如果布尔表达式为true将执行的语句
}


代码:

package com.pzz.structure;

import java.util.Scanner;

public class IfDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

System.out.println("请输入内容:");
String s = scanner.nextLine();

//euqals:判断字符串是否相等
if (s.equals("Hello")){
System.out.println(s);
}

System.out.println("End");


scanner.close();
}
}


2.if双选择结构

eg:公司要收购一个软件,成功则支付100万元。失败则自己找人开发。if-else结构

语法:

if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}


代码:

package com.pzz.structure;

import java.util.Scanner;

public class IfDemo02 {
public static void main(String[] args) {
//大于60及格,小于60不及格
Scanner scanner = new Scanner(System.in);

System.out.println("请输入成绩:");
int score = scanner.nextInt();

if (score>=60){
System.out.println("及格");
}else{
System.out.println("不及格");
}


scanner.close();
}
}


3.if多选择结构

真实情况可能存在ABCD,比如90-100为A,80-90为B。。等。多选择结构

if(布尔1){
//如果布尔1的值为true执行代码
}else if(布尔2){
//如果布尔2的值为true执行代码
}else if(布尔3){
//如果布尔3的值为true执行代码
}else {
//如果以上布尔表达式的值都不为true执行代码
}


代码:

package com.pzz.structure;

import java.util.Scanner;

public class IfDemo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
/*
if语句至多有一个else语句,else语句在所有的else if语句之后。
if语句可以有若干个else if 语句,它们必须在else语句之前。
一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行
*/

System.out.println("请输入成绩:");
int score = scanner.nextInt();

if (score==100){
System.out.println("满分");
}else if (score<100 && score>=90){
System.out.println("A级");
}else if (score<90 && score>=80){
System.out.println("B级");
}else if (score<80 && score>=70){
System.out.println("C级");
}else if (score<70 && score>=60){
System.out.println("D级");
}else if (score<60 && score>=0){
System.out.println("不及格");
} else {
System.out.println("成绩不合法");
}


scanner.close();
}
}


4.嵌套的if结构

使用嵌套的if...else语句是合法的,也就是说你可以在另一个if或者else if语句中使用if或者else if语句。你可以像if语句一样嵌套else if...else

语法:

if(布尔1){
//如果布尔1的值为true执行代码
if(布尔2){
//如果布尔2的值为true执行代码
}
}


note:流程语句都可以相互嵌套