流程控制

流程控制

1.Scanner

  1. next():以空白为结束符

    Scanner scanner = new Scanner(System.in);
    System.out.print("使用next()输入:");//hello world
    if (scanner.hasNext()) {
        String str = scanner.next();
        System.out.println("输入的是:" + str);//hello
    }
    scanner.close();
    
  2. nextLine():以Enter为结束符

    Scanner scanner = new Scanner(System.in);
    System.out.print("使用nextLine()输入:");//hello world
    if (scanner.hasNextLine()) {
        String str = scanner.nextLine();
        System.out.println("输入的是:" + str);//hello world
    }
    scanner.close();
    
  3. 例题:输入多个数字,求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输入出执行结果

    Scanner scanner = new Scanner(System.in);
    System.out.print("请输入:");
    double sum = 0;
    int count = 0;
    while(scanner.hasNextDouble()) {
        double data = scanner.nextDouble();
        System.out.println("你输入的是:" + data);
        sum += data;
        System.out.println("当前的和是:" + sum);
        ++count;
        System.out.println("当前是第" + count + "个数据");
    }
    System.out.println("一共输入了" + count + "个数据");
    System.out.println("总和是:" + sum);
    System.out.println("平均数是:" + sum /count);
    scanner.close();
    

2.选择结构

  1. if

    if (布尔表达式) {
        
    }
    
  2. switch

    String name = "lohir";
    
    switch (name) {
        case "lohir":
            System.out.println("lohir");
            break;
        case "makun":
            System.out.println("makun");
            break;
        default:
            System.out.println("啥也不是");
    }
    

3.循环结构

  1. while

    while (布尔表达式) {
        //循环内容
    }
    
  2. do...while

    do {
        //循环内容
    }while(布尔表达式);
    
  3. for

    for(初始化; 布尔表达式; 更新){
        //循环内容
    }
    
    1. 计算0到100之间的奇数和、偶数和

      int oddSum = 0;
      int evenSum = 0;
      
      for (int i = 0; i <= 100; i++) {
          if (i % 2 != 0) {
              evenSum += i;
          }else {
              oddSum += i;
          }
      }
      System.out.println("偶数和:" + oddSum);
      System.out.println("奇数和:" + evenSum);
      
    2. 用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个

      1. for

        for (int i = 0; i <= 1000; i++) {
            if (i % 5 == 0) {
                System.out.print(i + "\t");
                if (i % (5 * 3) == 0) {
                    System.out.println();
                }
            }
        }
        
      2. while

        int i = 0;
        while (i++ <= 1000) {
            if (i % 5 == 0) {
                System.out.print(i + "\t");
                if (i % (5 * 3) == 0) {
                    System.out.println();
                }
            }
        }
        
    3. 打印九九乘法表

      for (int i = 1; i < 10; i++) {
          for (int o = 1; o <= i; o++) {
              System.out.print(o + "*" + i + "=" + (o * i) + "\t");
          }
          System.out.println();
      }
      
  4. 增强for循环【主要用于数组或集合】

    int[] numbers = {10,20,30,40,50};
    for (int x : numbers) {
        System.out.println(x);
    }
    

4.break和continue

  1. break强行退出循环,终止循环
  2. continue退出本次循环,后面的内容不执行
  3. goto关键字【了解】

5.打印三角形【5行】

for (int i = 1; i <= 5; i++) {
    for (int j = 5; j >= i; j--) {
        System.out.print(" ");
    }
    for (int j = 1; j <= i; j++) {
        System.out.print("*");
    }
    for (int j = 1; j < i; j++) {
        System.out.print("*");
    }
    System.out.println();
}
posted @ 2021-11-03 09:36  lohir  阅读(31)  评论(0)    收藏  举报