博客园 首页 私信博主 显示目录 隐藏目录 管理

Java流程控制

Java流程控制

顺序结构

Java的基本结构就是顺序结构,除非特别指定,语句都是自上而下顺序执行

选择结构
  • if 选择结构

    • if 单选择

      String str = "Hello";
      if("Hello".equals(str)){
           System.out.println("Hello world");
      }
      
    • if 双选择

      String str = "Hello";
      if("Hello".equals(str)){
          System.out.println("true");
      }else {
          System.out.println("false");
      }
      
    • if 多选择

      public static void main(String[] args) {
      	Scanner scanner = new Scanner(System.in);
          int num = scanner.nextInt();
          if(num >= 90){
              System.out.println("优秀");
          }else if(num >= 60){
              System.out.println("及格");
          }else {
              System.out.println("不合格");
          }
          scanner.close();
      }
      
  • switch 选择结构

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        switch (num){
           case 90:
                System.out.println("分支一");
                break;
            case 80:
                System.out.println("分支二");
                break;
            case 70:
                System.out.println("分支三");
                break;
            default:
                System.out.println("最终分支");
        }
    }
    
循环结构(循环结构一般都要有可停止的循环次数)
  • while 循环

    Scanner scanner = new Scanner(System.in);
    int num = scanner.nextInt();
    while (num > 90){
        System.out.println(num);
        num --;
    }
    
  • do while 循环

    Scanner scanner = new Scanner(System.in);
    int num = scanner.nextInt();
    do{
        System.out.println(num);
        num++;
    }while (num < 100);
    
  • for 循环

    for循环是支持迭代的一种通用结构,是最有效,最灵活的循环结构

    for(初始化;布尔表达式;更新值){

    ​ 循环体;

    }

    //第一种
    for (int i = 0; i < 10; i++) {
        System.out.println(i);
    }
    //第二种
    List<String> list = new ArrayList<>();
    list.add("s");
    list.add("t");
    list.add("y");
    for (String str : list) {
        System.out.println(str);
    }
    

    for死循环案例

    for(;;){}
    

    while与do...while的区别

    while循环是先进行条件判断,在执行循环体

    do...while循环是先执行一次循环体,再判断条件


注意:

break,continue,gotu

  • continue,译为中文是“继续”。它的作用与用法和break有些类似。它的作用是当循环符合要求以后,结束本次循环,直接进入下一次循环。

  • break,译为中文是“破坏”,就是让循环终止。它的作用是当循环符合要求以后,直接跳出循环体,然后执行下面的语句。

  • goto

    goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但是并没有在语言中正式使用;Java没有goto。然而在break和continue这两个关键字身上,我们仍然能够看到一些goto的影子–带标签的break和continue
    “标签”是指后面跟一个冒号发标识符,例如:label
    对于Java来说唯一用到标签的地方是在循环之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另外一个循环,由于break和continue关键字通常只中断当前循环,但是若随同标签使用,他们就会中断到存在标签的地方

    public class LableDemo {
        //打印101-150之间的所有质数
        public static void main(String[] args) {
            outer:for (int i=101;i<150;i++){
            for(int j=2;j<i/2;j++){
                if(i%j==0){
                    continue outer;//从内层循环直接跳到外层循环,不好用
                }
            }
                System.out.println(i+" ");
            }
        }
    
posted @ 2021-05-05 07:52  莫逆追风  阅读(29)  评论(0)    收藏  举报