Java流程控制(第二期)

顺序结构

  • Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。

  • 循序结构是最简单的算法结构

  • 语句与语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,

    它是任何一个算法都离不开的一种基本算法结构

选择结构(重点)

if单选择结构

我们很多时候需要去判断一个事情是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示。

语法

if(布尔表达式){

//如果布尔表达式为true该执行的语句

}

image-20210308145957574

package com.gan.structure;
​
import java.util.Scanner;
​
public class IfDemo01 {
   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
​
       System.out.println("请输入内容");
       String s = scanner.nextLine();
​
       //equals:判断字符串是否相等
       //这个词与==是有区别的,不用==去判断字符串是否相等,养成好的我习惯
       if (s.equals("hello")) {
           System.out.println(s);
      } else {
           System.out.println("End");
      }
       scanner.close();
​
  }
}

if双选择结构

那现在有个需求,公司要收购一个软件,成功了给人支付100万元,失败了,自己找人开发。

这样的需求用一个if搞不定,我们需要有两个判断,需要一个双选择结构,就有了if—else结构

  • 语法

    if(布尔表达式){

    //如果布尔表达式为true该执行的语句

    }else{

    //如果布尔表达式为flase该执行的语句

    }

image-20210308153914877

package com.gan.structure;
​
import java.util.Scanner;
​
public class IfDemo02 {
   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();
  }
}

if多选择结构

真实情况都存在ABCD,存在区间多级判断。比如90~100为A,80~90为B等。

  • 语法

    if(布尔表达式 1){

    //如果布尔表达式 1的值为true执行该语句

    }else if(布尔表达式 2){

    //如果布尔表达式 2的值为true执行该语句

    }else if(布尔表达式 3){

    //如果布尔表达式 3的值为true执行该语句

    }else{

    //如果以上布尔表达式都不为true执行语句

    }

    终究只会执行这里面一个代码

image-20210308154844721

编写代码的时候就把所有问题都思考清楚,然后再一个一个地去解决,这才是一个程序员应该做的事情

package com.gan.structure;
​
import java.util.Scanner;
​
public class IfDemo03 {
   public static void main(String[] args) {
​
       Scanner scanner = new Scanner(System.in);
/*
if语句至多有一个else语句,else语句在所有的else if之后。
if语句可以有若干个else if语句,它们必须在else语句之前。
一旦其中一个else if语句检测为true,其他的else if与else语句都跳过执行。
*/
​
       System.out.println("请输入成绩:");
       int score = scanner.nextInt();
​
       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...else

  • 语法

    if(布尔表达式 1){

    //如果布尔表达式 1的值为true执行该语句

    if(布尔表达式 2){

    //如果布尔表达式 2的值为true执行该语句

    }

    }

  • 思考? 我们需要寻找一个数,在1~100之间。

  •  

posted @ 2021-03-08 16:56  一颗秃头  阅读(67)  评论(0)    收藏  举报