选择结构
- if单选择结构
- if双选择结构
- if多选择结构
- 嵌套的if结构
- Switch多选择结构
if单选择结构
- 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示
- 语法:
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
图解
package com.zhong.struct;
public class IfDemo01{
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
System.out.printIn("请输入内容:");//接受用户的输入
String s = scanner.nextLine(); //nextLine可以读出空格的字符串
//equals判断字符串是否相等
if (s.equals("hello")){
System.out.printIn(s);
}
System.out.printIn("End");
scanner.close();
}
}
if双选择结构
有两个判断的语法结构
语法:
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
图解
package com.zhong.struct;
public class IfDemo02{
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
System.out.printIn("请输入成绩:"); //接受用户的输入
int score = scanner.nextInt(); //nextInt整数型
if (score>60){
System.out.printIn("及格");
}else{
System.out.printIn("不及格");
}
scanner.close();
}
}
例题:
一个公司要收购一个软件,如果成功,支付100万元,如果失败,自己找人开发
package com.zhong.struct;
public class IfDemo03{
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
System.out.printIn("请输入是否成功:"); //接受用户的输入
String s = scanner.nextLine();
//equals判断字符串是否相等
if (s.equals("成功")){
System.out.printIn("支付100万元");
}else{
System.out.printIn("自己找人开发");
}
scanner.close();
}
}
if多选择结构
有多个判断的语法结构
语法:
if(布尔表达式 1){
//如果布尔表达式1为true将执行代码
}else if(布尔表达式 2){
//如果布尔表达式2为true将执行代码
}else if(布尔表达式 3){
//如果布尔表达式3为true将执行代码
}else{
//如果以上布尔表达式都不为true将执行代码
}
图解
例题
区间多级判断,90-100分是A,80-90是B,70-80是C,其他的是D。
package com.zhong.struct;
public class IfDemo04{
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
/*
if 语句至多有1个else语句,else语句在所有的else if语句之后。
if 语句可以有若干个else if语句,它们必须在else语句之前。
一旦其中一个else if 语句检测为true,其他的else if以及else语句豆浆跳过执行
*/
System.out.printIn("请输入成绩:");
int score = scanner.nextInt();
if (score==100){
System.out.printIn("恭喜满分");
}else if (score>89 && score<100){
System.out.printIn("A级");
}else if (score>79 && score<90){
System.out.printIn("B级");
}else if (score>69 && score<80){
System.out.printIn("C级");
}else if (score>59 && score<70){
System.out.printIn("D级");
}else if (score>=0 && score<60){
System.out.printIn("不及格");
}else {
System.out.printIn("成绩不合法");
}
scanner.close();
}
}
注意
- if 语句至多有1个else语句,else语句在所有的else if语句之后。
- if 语句可以有若干个else if语句,它们必须在else语句之前。
- 一旦其中一个else if 语句检测为true,其他的else if以及else语句都将跳过执行
嵌套的if结构
使用嵌套的if…else语句是合法的。也就是说你可以在另一个if’或者else语句中使用if或者 else if 语句。你可以像if 语句一样嵌套 else if…else.
语法
if(布尔表达式 1){
//如果布尔表达式1的值为true将执行代码
if(布尔表达式2){
//如果布尔表达式2的值为true将执行代码
}
}
例题
我们需要寻找一个在1-100之间的数