if 单选择结构
-
我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示
-
语法
if(布尔表达式){
//如果布尔表达式的值为true将执行的代码
}import java.util.Scanner;
public class ifDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String a = scanner.nextLine();
//equals:判断字符是否相等
if (a.equals("Hello")){
System.out.println(a);
}
System.out.println("End");
//关闭程序
scanner.close();
}
}
if 双选择结构
-
那现在有个需求,公司要收购一个软件,成功了,给人支付100万元,失败了,自己找人开发。这样的需求用一个if 就搞不定了,我们需要有两个判断,需要有一个双选择结构,所以就有了if-else结构。
-
语法
if(布尔表达式){
//如果布尔表达式的值为true将执行的代码
}else{
//如果布尔表达式的值为false将执行的代码
}
实例:
import java.util.Scanner;
public class IfDemo02 {
public static void main(String[] args) {
//考试分数大于或等于60就是及格,小于60分就是不及格。
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
double score = scanner.nextDouble();
if (score>=60){
//布尔值为真则输出及格!
System.out.println("成绩及格!");
}else {
//布尔值为假则输出不及格!
System.out.println("成绩不及格!");
}
scanner.close();
}
}
if 多选择结构
-
我们发现刚才的代码不符合实际情况,真是的情况还可能存在ABCD,存在区间多级判断。比如90-100就是A,80-90就是B...等等,在生活中我们很多时候的选择也不仅仅只有两个,所以我们需要一个多选择结构来处理这类问题!
-
语法:
if(布尔表达式 1){
//如果布尔表达式 1的值为true将执行的代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true将执行的代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true将执行的代码
}else{
//如果以上布尔表达式都不为true将执行的代码
}
实例:
import java.util.Scanner;
public class IfDemo03 {
//考试成绩评价程序
public static void main(String[] args) {
/*
if 语句至少有一个 else 语句,else 语句在所有的 else if 语句之后。
if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
*/
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
//程序在等待用户输入
double score = scanner.nextDouble();
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();
}
}
嵌套的if 结构
-
使用嵌套的 if…else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句。
-
语法
嵌套的 if…else 语法格式如下:
if(布尔表达式 1){
////如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
////如果布尔表达式 2的值为true执行代码
}
}
你可以像 if 语句一样嵌套 else if ...else。
实例:
import java.util.Scanner;
public class Trip {
public static void main(String[] args) {
//出行系统;天气、性别、温度、出行推荐
Scanner scanner = new Scanner(System.in);
System.out.println("欢迎使用出行系统");
System.out.println("天气:雨天请输入1,晴天请输入2");
System.out.println("性别:男性请输入1,女性请输入2");
System.out.println("请输入天气:");
int a = scanner.nextInt();
System.out.println("请输入性别:");
int b = scanner.nextInt();
if (a ==1){
//System.out.println("雨天");
if (b==1){
System.out.println("带大雨伞");
} else if (b==2){
System.out.println("带小花伞");
}else {
System.out.println("非常抱歉,无法检测您的性别");
}
}else if (a==2){
//System.out.println("晴天");
System.out.println("请输入当前温度");
double c = scanner.nextDouble();
if (c>=28 &&c<=35 ){
if (b==1){
System.out.println("戴墨镜贼帅哟");
}else if (b==2){
System.out.println("擦好防晒霜哟");
}else {System.out.println("非常抱歉,无法检测您的性别");
}
}else if (c>=36 && c<=50){
System.out.println("太热了,不适合外出");
}else if (c>=20 && c<=27){
System.out.println("天气晴朗,温度合适出去逛逛");
}else if (c>50){
System.out.println("这么热你还能活得下来么");
}else if (c>=1 && c<=19){
System.out.println("出行有点冷,注意保暖!");
}else {
System.out.println("冻死你个破该!");
}
}else {
System.out.println("对不起,没有该天气!");
}
scanner.close();//关闭程序
}
}