什么是if/else选择结构
if/else选择结构简述
if/else选择结构是java中常用的判断选择语句,作用是根据条件选择执行哪些代码。
判断如果符合条件执行哪些代码,否则执行哪些代码。
if/else选择结构的基本语法
if(条件){
//符合条件执行的代码
}else{
//不符合条件执行的代码
}
这是一个标准的if/else选择结构基本语法。如果括号中“条件”的值为true,则表示符合条件,程序会选择执行if中的代码。如果括号中“条件”的值为false,则表示不符合条件,程序会选择执行else中的代码。
if语句中的“条件”通常为包含关系运算符的表达式,例如1==1
,2>1
,a<b
等,如果不了解如何使用关系运算可以查看上一篇文章:
当然if/else选择结构不止有这一种写法,还有简单if结构,多重if结构,嵌套if结构等,下面就来对这些常用的if/else选择结构详细举例讲解。
简单if结构讲解
简单if结构语法
if(条件){
//符合条件执行的代码
}
如果符合条件则执行代码,否则不执行。
简单if结构代码示例
判断用户输入的内容是否为数字1。
Scanner scanner = new Scanner(System.in);
//创建一个Scanner对象,用于接收用户输入
//后面Java面向对象会细讲,这里只需要知道创建了一个叫做scanner的东西用来接收用户输入的内容
System.out.println("请输入一个整数:");
//提示用户输入一个整数
int num = scanner.nextInt();
//使用scanner对象接收用户输入的整数,并赋值给变量num
//注意这里只能输入整数否则会报错
if(num==1){
System.out.println("输入了1");
}
//判断如果输入了1则打印“输入了1”
//否则不会执行任何操作
运行测试。
输入1:

输入其他数字:

没有输出任何东西。
简单if结构通常可以多个并行使用:
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = scanner.nextInt();
if(num==1){
System.out.println("输入了1");
}
if(num==2){
System.out.println("输入了2");
}
if (num==3){
System.out.println("输入了3");
}
标准if/else结构讲解
标准if/else结构比简单if多了个else,不符合条件执行的代码。
标准if/else结构语法
if(条件){
//符合条件执行的代码
}else{
//不符合条件执行的代码
}
标准if/else结构代码示例
判断输入了数字1还是其他数字。
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = scanner.nextInt();
if(num==1){
System.out.println("输入了1");
}else {
System.out.println("输入了其他数字");
}
运行测试。
输入数字1:

输入其他数字:

多重if/else结构讲解
多重if/else结构可以添加更多的判断选择。
多重if/else结构语法
if(条件1){
//符合条件1执行的代码
}else if(条件2){
//符合条件2执行的代码
}else{
//两个条件都不符合执行的代码
}
多重if/else结构代码示例
if(num==1){
System.out.println("输入了数字1");
}else if(num==2){
System.out.println("输入了数字2");
}else{
System.out.println("输入了其他数字");
}
和上面原理相同,只是多了更多选择项,应该都能看懂。
运行结果:



嵌套if/else结构讲解
嵌套if/else结构就是在if/else中再写一个if/else。
嵌套if/else结构语法
if(条件1){
if(条件2){
//符合条件1并且符合条件2执行的代码
}else{
//符合条件1但是不符合条件2执行的代码
}
}else{
//不符合条件1执行的代码
}
用到的还是上面讲的那些if/else结构,只是在if/else中嵌套了另一个判断。
应该也都能看懂,不做过多解释了,唯一要注意的是:实际应用中尽量不要嵌套太多层if/else,否则会严重影响程序运行效率!
更复杂的if/else判断条件
使用逻辑运算符进行更复杂的判断。
同时符合多个条件
if(num1==1 && num2==2){
}
解释:需要同时符合num1==1
和num2==2
两个条件,有一个条件不符合都不会执行if中的代码!
其中“&&
”为逻辑运算符,表示需要同时符合多个条件。
符合任一条件
if(num1==1 || num2==2){
}
解释:符合num1==1
或num2==2
任意一个条件都会执行if中的代码。
逻辑运算符“||
”表示符合多个条件中的任意条件。
if/else选择结构使用小提示
小提示1
if/else语句中的花括号“{}
”,如果省略不写程序不会报错,但是只有条件后面的第一行代码会处于if/else选择结构当中。
举例:
if(1==1)
System.out.println("输入了数字1");
System.out.println("输入了数字2");
此写法相当于:
if(1==1){
System.out.println("输入了数字1");
}
System.out.println("输入了数字2");
只有条件后面的第一行代码处于if选择结构当中。
一般if/else不会这么写,但是确实有这种写法。
小提示2
if/else选择结构的条件判断逻辑:
if语句只会判断小括号中条件的值是否为true
。
举例:
if(num==1){
}
这条判断语句并不是直接判断变量num
的值是否为数字1,而是判断num==1
的值是否为true
。
如果num
的值为1,那么num==1
的值就是true
,否则就是false
。
if语句的判断逻辑正是查看条件的值是否为true
,如果是即为符合条件(执行if),否则为不符合条件(执行else)。
那么如果我们将判断条件直接设置为“true”,那么这个判断语句永远符合条件:
if(true){
}
此if语句中的代码永远会被执行,然而这里这样写并没有什么意义,了解即可。
暂无评论内容