0
点赞
收藏
分享

微信扫一扫

java基础(狂神) 4. 流程控制

f12b11374cba 2022-02-17 阅读 38
java

目录

1. 用户交互Scanner

  • Scanner对象

    • 获取用户输入

    • 语法

      Scanner s = new Scanner(System.in);
      
    • 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据

    • next():

      • 读取到有效字符后才可以结束输入
      • 对输入有效字符之前遇到的空白,next()方法会自动将其去除
      • 输入有效字符后才将其后面输入的空白作为分隔符或者结束符
      • next()不能得到带有空格的字符串
      import java.util.Scanner;
      
      public class demo {
          public static void main(String[] args) {
              // 创建一个扫描器对象,用于接收键盘数据
              Scanner scanner = new Scanner(System.in);
      
              // 判断用户是否输入字符串
              if (scanner.hasNext()){
                  // 使用next方法接收
                  String str = scanner.next();
                  System.out.println("a" + str);
              }
      
              // IO流的类不关闭会一直占用资源,需要及时关闭
              scanner.close();
          }
      }
      
    • nextLine():

      • 以Enter为结束符,返回的是输入回车之前的所有字符
      • 可以获得空白
      import java.util.Scanner;
      
      public class demo {
          public static void main(String[] args) {
              // 创建一个扫描器对象,用于接收键盘数据
              Scanner scanner = new Scanner(System.in);
      
              // 判断用户是否输入字符串
              if (scanner.hasNextLine()){
                  // 使用nextLine方法接收
                  String str = scanner.nextLine();
                  System.out.println("a" + str);
              }
      
              // IO流的类不关闭会一直占用资源,需要及时关闭
              scanner.close();
        }
      }
      

2. 顺序结构

  • Java的基本结构,按照顺序一句一句执行
  • 最简单的算法结构
  • 是任何一个算法都离不开的一种基本算法结构

3. 选择结构

  • if单选择结构

    • 语法:

      if(布尔表达式){
          // 布尔表达式为true将执行的语句
      }
      
    import java.util.Scanner;
    
    public class demo {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            String str = scanner.nextLine();
    
            // equals: 判断字符串是否相等
            if (str.equals("tacit")){
                System.out.println(str);
            }
    
            scanner.close();
    
        }
    }
    
  • if双选择结构

    • 语法:

      if(布尔表达式){
          // 布尔表达式为true将执行的语句
      }else{
          // 布尔表达式为flase将执行的语句
      }
      
  • if多选择结构

    • 语法:

      if(布尔表达式 1){
          // 布尔表达式 1为true将执行的语句
      }else if(布尔表达式 2){
          // 布尔表达式 2为true将执行的语句
      }else if(布尔表达式 3){
          // 布尔表达式 3为true将执行的语句
      }else{
          // 布尔表达式为flase将执行的语句
      }
      
  • 嵌套的if结构

    • 语法:

      if(布尔表达式 1){
          // 布尔表达式 1为true将执行的语句
          if(布尔表达式 2){
              // 布尔表达式 2为true将执行的语句
          }
      }
      
  • switch多选择结构

    • switch语句中的变量:

      • byte, short, int, char
      • String(从Java SE 7开始)
      • case标签必须为字符串常量或字面量
    • 语法:

      switch(expression){
          case value:
              // 语句
              break; // 可选
          case value:
              // 语句
              break; // 可选
          default: // 可选
              // 语句
      }
      

4. 循环结构

  • while 循环

    • 语法:

      while(布尔表达式){
          // 循环内容
      }
      
    • 只要布尔表达式为true,循环就会一直执行下去

    • 少部分情况需要循环一直执行,例:服务器的请求响应监听等

  • do…while 循环

    • 语法:

      do{
          // 代码语句
      }while(布尔表达式);
      
    • while与do…while的区别:

      • while先判断后执行,do…while先执行后判断
      • do…while保证循环体会被至少执行一次
  • for 循环

    • 语法:

      for(初始化;布尔表达式;更新){
          // 代码语句
      }
      
  • 增强for循环(Java5引入)

    • 语法:

      for(声明语句 : 表达式){
          // 代码语句
      }
      
    • 声明语句:

      • 声明新的局部变量,该变量的类型必须和数组元素的类型匹配
      • 其作用域限定在循环语句块,其值与此时数组元素的值相等
    • 表达式:表达式是要访问的数组名,或者是返回值为数组的方法

    public class demo {
        public static void main(String[] args) {
            // 定义数组
            int[] numbers = {1, 2, 3, 4, 5};
    
            // 遍历数组的元素
            for (int i : numbers) {
                System.out.println(i);
            }
    
        }
    }
    
    

5. break continue

  • break用于强行退出循环
  • continue用于终止某次循环过程
举报

相关推荐

0 条评论