if 选择结构
if单选择结构
-
我们很多时候需要判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示
-
语法:
if(布尔表达式){ // 如果布尔表达式值为真,则将执行此处的语句 }
-
代码:
// 创建Scanner对象 Scanner scanner = new Scanner(System.in); System.out.println("请输入内容:"); // 通过键盘输入给字符串s赋值 String s = scanner.nextLine(); // 如果s内容为 “Hello” 则if语句条件满足 if (s.equals("Hello")){ // 若if语句条件满足,则输出 “World!” System.out.println("World!"); } // 用完就关闭,养成好习惯 scanner.close();
演示:
请输入内容: Hello World!
if双选择结构
-
假设现在有一个需求,公司要收购一个软件,成功了就支付100万元,失败了就自己找人开发。这样的需求明显用一个if搞定不了,我们需要两个判断,即需要一个双选择结构,所以接下来我们就用if-else结构来解决这样的问题
-
语法:
if(布尔表达式){ // 如果布尔表达式值为真,则执行此处语句 }else{ // 如果布尔表达式值为假,则执行此处语句 }
-
代码:
//创建Scanner对象 Scanner scanner = new Scanner(System.in); System.out.println("请输入收购结果:"); // 通过键盘输入给字符串s赋值 String s = scanner.nextLine(); //若s内容为"Yes",则满足if条件,执行语句1,否则执行语句2 if(s.equals("Yes")){ // 语句1 System.out.println("支付100万元"); }else{ // 语句2 System.out.println("自己找人开发"); } // 用完就关,养成好习惯 scanner.close();
演示:
例1:
请输入收购结果: Yes 支付100万元
例2:
请输入收购结果: No 自己找人开发
if多选择结构
-
真实的情况下,可能还存在ABCD等多选择问题存在,所以我们还需要再学习一种多选择结构来处理这类问题
-
语法:
if(布尔表达式1){ // 如果布尔表达式1值为真,则执行此处代码 }else if(布尔表达式2){ // 如果以上所有的布尔表达式值都为假,同时布尔表达式2值为真,则执行此处代码 }else if(布尔表达式3){ // 如果以上所有的布尔表达式值都为假,同时布尔表达式3值为真,则执行此处代码 }... ... }else{ // 当所有的布尔表达式都为假时,执行此处代码 }
-
代码:
// 创建Scanner对象 Scanner scanner = new Scanner(System.in); System.out.println("请输入你的分数:"); // 从键盘读取分数,并赋值给n int n = scanner.nextInt(); // 根据n的具体数值来选择执行哪条语句 if(n<60){ System.out.println("D"); }else if (n<75){ System.out.println("C"); }else if (n<85){ System.out.println("B"); }else{ System.out.println("A"); } // 用完就关,养成好习惯 scanner.close();
演示:
例1:
请输入你的分数: 80 B
例2:
请输入你的分数: 70 C
例3:
请输入你的分数: 100 A
嵌套的if结构
-
使用嵌套的if-else语句是合法的,也就是说,你可以在一个if-else语句中使用if-else语句
-
语法:
if(布尔表达式1){ // 如果布尔表达式1值为真,则执行此处代码 if(布尔表达式2){ // 如果布尔表达式1值为真并且布尔表达式2值也为真,则执行此处代码 }else{ // 如果布尔表达式1值为真但布尔表达式2值为假,则执行此处代码 } }else{ // 如果布尔表达式1值为假,则执行此处代码 }
-
嵌套if语句非常占用资源,尽量不要使用
-
如果你的if嵌套语句已经超过了3层,那么你的程序逻辑一定出现了问题这时就需要重新思考解决问题的思路了