1.if单选结构
我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示。
equals:判断字符串是否相等,比==更加安全
package com.wang.struct;
import java.util.Scanner;
//选择结构:---if单选结构---
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String s = scanner.nextLine(); //接收字符串
//equals:判断字符串是否相等,比==更加安全
if (s.equals("Hello")) {
System.out.println(s);
}
//按照顺序结构执行以下程序
System.out.println("End");
scanner.close();
}
}
结果:
2.if双选结构
现在有一个需求,公司要收购一个软件,成功了,给人支付100万元,失败了,自己找人开发。这样的需求用一个if搞不定,需要一个双选结构,所以就有了if-else结构。
package com.wang.struct;
import java.util.Scanner;
//选择结构:---if双选结构---
public class IfDemo03 {
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("pass a exam!");
}else {
System.out.println("fail!");
}
scanner.close();
}
}
结果:
3.if多选结构
真实的选择还可能包括A,B,C,D多种情况,存在区间多级判断。比如>=90分为优秀。89-80为良好,70-60为及格,<=59为不及格。所以我们需要一个多选择结构来处理这类问题!在多选结构中只要有一个if条件满足了,该语句就结束了,不会执行其他的if语句。在做多种选择的时候,写程序时必须要严谨,考虑好每一种情况。
- if 语句最多有1个else语句,else语句在所有的else if 语句之后。
- if 语句可以有多个else if 语句,else if 语句必须在else语句之前。
- 一旦其中一个else if 语句被检测为true,其他的else if 以及 else语句都将跳过执行。
package com.wang.struct;
import java.util.Scanner;
public class IfDemo04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter score: ");
int score = scanner.nextInt();
/*
if 语句最多有1个else语句,else语句在所有的else if语句之后。
if语句可以有多个else if 语句,else if 语句必须在else语句之前。
一旦其中一个else if语句被检测为true,其他的else if以及 else语句都将跳过执行。
*/
if (score == 100) {
System.out.println("满分");
} else if (score < 100 && score >= 90) {
System.out.println("优秀");
}else if (score < 90 && score >= 70) {
System.out.println("良好");
}else if (score < 70 && score >= 60) {
System.out.println("合格");
}else if (score < 60 && score >= 0) { //必须要严谨
System.out.println("不合格");
} else {
System.out.println("成绩不合法");
}
}
}
结果:
4.嵌套的if结构
嵌套if…else语句是合法的。你可以在另一个if或者else if语句中再嵌套if或者else if语句。
package com.wang.struct;
import java.util.Scanner;
public class IfDemo05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个1-100之间的数字:");
double a = scanner.nextDouble();
//嵌套if else 二分法的方式判断数值所在的范围
if (a> 50 && a <= 100) {
System.out.println("该数字位于50-100之间");
if (a > 75 && a <= 100) {
System.out.println("该数字位于75-100之间");
}else {
System.out.println("该数字位于50-75之间");
}
}else if (a>0 && a<=50){
System.out.println("该数字位于0-50之间");
if (a > 0 && a <= 25) {
System.out.println("该数字位于0-25之间");
}else {
System.out.println("该数字位于25-50之间");
}
}else {
System.out.println("该数字不合法");
}
scanner.close();
}
}
结果: