关于java选择结构if和else详解
在上篇文章中我们了解了java的基本流程控制之一用户交互,也讲述了scanner类的使用方式,本篇文章中我们来深入一下下一个java流程控制,if和else,这个是非常关键的,也是我们以后的工作中最常见最常用的😀。
一、顺序结构
在介绍if和else之前,我们先说明一下java的顺序结构,这个也是非常重要的。
- java的基本结构就是顺序结构。
- 顺序就是从上至下去运行,除非是有特殊指明,否则就是按照从上至下 的顺序执行。
- 顺序结构是最简单的算法结构。
- 语句和语句之间,框与框之间,都遵循从上至下的方式执行。
public class Demo
{
public static void main(String[] args)
{
System.out.println("第一个");
System.out.println("第二个");
System.out.println("第三个");
System.out.println("第四个");
}
}
我们用最简单的输出来看一下结果。
第一个
第二个
第三个
第四个
所以我们可以看到,代码运行是从上到下的顺序。
二、if(选择结构)
首先我们来介绍一下if的几种结构
- if单选择结构
- if双选择结构
- if多选择结构
- if嵌套式结构
- swith(这个我们在以后的文章中详细说明😊)
1、单选择结构
-
单选择结构:就是只有一个if判断,if后的小括号内,是布尔表达式,判断为真还是为假,只有true和false两种结果,如果判断内容为真,则执行大括号里面的代码,如果为假,则跳过大括号里面的代码,向下执行。
-
单选择结构使用方法:
if(布尔表达式)
{
//如果布尔值是true,在此处写需要执行的语句
}
- 单选择结构流程图:
- 单选择结构实例说明
我们正好可以结合上一篇文章中的Scanner知识,直接实战,用来加深对Scanner的印象。
关于java的用户交互Scanner
import java.util.Scanner;
public class Demo
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String str = scanner.next();//等待用户输入
//equals 判断字符串是否相等
if(str.equals(Hello))
{
System.out.println("输入的内容正确:"+str);
}
System.out.println("END");
scanner.close();
}
}
- 在这里正好拓展一下,equals,是用于判断字符串是否相等,我们之前学习过这种方式(str==“Hello”),但是尽量不要用==去判断字符串是否相等,要去用equals,养成习惯以后就熟记于心了。
我们运行一下上面的代码,就可以看到以下输出结果😊(先看一下结果为真时候的输出)
请输入内容:
Hello
输入的内容正确:Hello
END
我们这里就可以看到,是按照顺序结构进行的,先执行了上面的判断,然后判断值是true,所以向下执行,再输出END。
我们再来看一下如果输入的内容和判断中的内容不一致,是什么结果(输入一个小写的hello)。
请输入内容:
hello
END
我们可以发现,输入的内容和判断中的内容不一致,大小写也是有区分的,结果为false,所以没有执行大括号中的代码,直接跳过向下执行了。
2、双选择结构
- 双选择结构:通俗一点来说,比单选择结构多一层else,如果判断为真,执行if中的内容,如果为假,执行else中的内容。
- 双选择结构使用方法:
if(布尔表达式)
{
//如果布尔值是true,在此处写需要执行的语句
}
else //注意,else后边没有括号
{
//如果布尔值是false,在此处写需要执行的语句
}
- 双选择结构流程图:
- 双选择结构实例说明
我们还是用Scanner交互,让用户输入自己的考试成绩,来判断是否及格。
import java.util.Scanner;
public class Demo
{
public static void main(String[] args)
{
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();
}
}
我们运行一下代码,先输入及格的成绩,假设输入的成绩是80,来看一下运行的结果。
请输入您的成绩:
80
及格
进程结束.......
我们看可以看到,80>60,所以判断的结果为真,执行了输出及格的结果,如果我们输入的成绩是55,就可以看到,结果为假,执行的是不及格的结果😀。
请输入您的成绩:
55
不及格
进程结束.......
3、多选择结构
- 多选择结构:我们在用if和else做判断的时候,可能会不只有一个判断,可能会有多个判断,所以要用多选择结构来判断。
- 多选择结构使用方法:
if(布尔表达式1)
{
//如果布尔值是true,在此处写需要执行的语句
}
else if(布尔表达式2)
{
//如果布尔值是true,在此处写需要执行的语句
}
else if(布尔表达式3)
{
//如果布尔值是true,在此处写需要执行的语句
}
else //注意,else后边没有括号
{
//如果布尔值是false,在此处写需要执行的语句
}
else if 就是多种判断,没有数量限制,可以写很多的判断条件😉,如果条件满足其中一个判断,就可以直接执行那个条件需要执行的代码。
- 多选择结构流程图:
- 多选择结构实例说明:
我们还是用Scanner来输入自己的成绩,但是这回需要判断成绩的等级,所以要用到多个判断,正好也可以用到我们之前文章中说到过的运算符。
关于java的运算符
import java.util.Scanner;
public class Demo
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的成绩:");
int score = scanner.nextInt();
if (score>=60 && score<70)
{
System.out.println("及格");
}
else if (score>=70&&score<80)
{
System.out.println("中等");
} else if (score>=80 && score<90)
{
System.out.println("优秀");
} else if (score>=90 && score<100)
{
System.out.println("非常优秀");
}
else if (score==100)
{
System.out.println("恭喜满分!");
} else if (score<60)
{
System.out.println("不及格");
} else
{
System.out.println("无效的成绩");
}
scanner.close();
}
}
我们执行一下,如果我们输入的成绩是80,因为80在score>=80 && score<90这个判断里,所以返回的结果是
请输入你的成绩:
80
优秀
进程结束......
这里我们要 详细介绍一下else if
- 所有的if语句,都要至少有一个else,并且else要在所有的else if 之后。
- if语句可以有若干个else if ,并且所有的else if 都要在else 之前。
- 一旦其中一个满足了条件,判断的结果为true,其他的else if 和else 都会跳过执行。
- 在以后的工作中,写判断的时候,一定要多思考,多去想有哪些情况,做到判断精准严谨!!🤔
4、嵌套式结构
- 嵌套式结构:就是if套娃,if判断里面可以再写一个if,进行嵌套使用。
- 嵌套式结构使用说明:
if(布尔表达式1)
{
//如果布尔值是true,在此处写需要执行的语句
if(布尔表达式2)
{
//如果布尔值是true,在此处写需要执行的语句
}
}
- 使用嵌套的 if…else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句。你可以像 if 语句一样嵌套 else if…else。
如果我们需要找出一个数,这个数在1-100之间属于哪个范围。
- 嵌套式结构实例说明:
import java.util.Scanner;
public class Demo
{
public static void main(String[] args)
{
Scanner scanner =new Scanner(System.in);
System.out.println("请输入想要查找的数字:");
int num=scanner.nextInt();
if (num>=1 && num<=100) //首先要进行最外层的判断
{
if (num>=1 && num<=50)
{
System.out.println("此数字在1-50之间");
}
else if (num>=50 && num<=100)
{
System.out.println("此数字在50-100之间");
}
}
else
{
System.out.println("输入的数字无效!");
}
scanner.close();
}
}
假如我们输入的数字是88,执行一下代码,可以得到以下结果。
请输入想要查找的数字:
88
此数字在50-100之间
假如我们输入的数字是188,执行一下代码,可以得到以下结果。
请输入想要查找的数字:
188
输入的数字无效!
以上就是基础选择结构的四种方式,按照步骤去理解,结合现实生活中的一些判断逻辑,多去练习,加深印象😀。