数组遍历&方法总结

发布时间 2023-12-28 20:44:33作者: ZWJAS

总结

数组遍历

  • for + index【普通for循环】

    下标都是从0开始,到length-1结束。因此我们通过循环可以得到下标,而得到下标后,进而可以通过下标获取对应元素:

    数组遍历【将所有元素取出来就是遍历】
    // 先打印数组arr所有下标
    for (int i = 0; i < arr.length; i++) {// i表示下标,循环次数就是到 最后一个下标arr.length - 1
    // 打印下标:i
    System.out.println("下标:" + i);
    // 打印元素:arr[i]【通过下标获取对应元素】
    System.out.println("元素==== :" + arr[i]);
    }
    
  • 增强for循环

    • 概念:

      1. 增强for循环就是类似for循环的结构,专业称呼为foreach
      2. 作用: 只是用来简化遍历数组和集合的过程;
      3. 缺点: 没有索引,凡是涉及有索引相关操作还是用普通for循环;
    • 语法:

      for(元素类型 e : 数组/集合){
       e是变量,随便命名。就是每次获取到的元素
      }
      /*
      *  数组遍历第二种方式:增强for循环 foreach
      *  
        *  方式2: 简化遍历数组的过程
      *    2. 增强for循环: foreach
      		语法:
      for(元素数据类型 变量名 : 数组名){
      	 变量名//就是每一次获取到的元素
      }
      */
      for (int e : arr) {// arr是数组名, int 是元素类型  e变量是每一个元素
      System.out.println("元素 :" + e);
      }
      
    • 注意事项:

      1. 如果要操作某一个具体的元素的时候,用普通for循环,因为操作元素需要通过下标
        。如果只是遍历的话,用增强for循环 foreach

      2. 数组内存分析图【理解】

        • 基本类型具体的值在栈帧中

        • 引用类型具体的值在堆中

  • 冒泡排序

    //冒泡排序
    //        for (int i = 0; i < arr.length - 1; i++) {
    //            for (int j = 0; j < arr.length - 1 - i; j++) {
    //                if(arr[j] > arr[j + 1]){//这里的>和<控制排序顺序
    //                    int temp = arr[j];
    //                    arr[j] = arr[j + 1];
    //                    arr[j + 1] = temp;
    //                }
    //            }
    //        }
    //        for (int i : arr) {
    //            System.out.print(i + "\t");
    //        }
    //
    

方法

  • 概念:
    方法,也叫函数,但是一般在java中都叫方法,可以看成是一个可以完成独立功能的代码块,可以重复使用,每次使用都是独立的!存在于类的结构体。

  • 作用:
    方法可以复用代码,提高效率和程序的可读性。

  • 方法结构组成

    1. 修饰符:
      作用,决定方法的调用方式。例如,是用类名调用,还是用对象名调用
    2. 返回值类型:就是返回值的数据类型 最近今天会直接告诉大家,需要不需要返回值
      作用:决定在调用方法的时候,是否可以用一个变量接收方法的结果值。
      如果返回值类型是void,表示没有任何返回值,不能用变量接收结果值。
      返回值:就是处理完业务后的结果反馈。通过关键字 return 返回数据
      返回值类型分类:
      基本类型:byte/short/int/long/float/double/boolean/char
      引用类型:类、抽象类、接口、枚举、数组
      void : 表示没有任何返回值
    3. 方法名:
      作用:决定调用哪一个方法(就是用来找到要使用的方法的)
      命名原则:见名知意,小驼峰,不能以关键字命名。
    4. 形参列表:
      作用,就是用了接收调用方法的时候,传入的实际参数(值/变量)的
    5. 方法体:
      就是根据实际需求,处理数据的代码
    6. 方法签名: 同一个类中,只能有一个独一无二的方法签名
      方法名+形参列表(参数的顺序、类型和个数),跟形参名字无关
    7. 形参列表3要素(方法小括号中的):参数的顺序、类型和个数
  • 方法定义

    1. 复制main方法到当前类中,跟main方法平级的地方

    2. 根据需求分析方法的四要素:

      1. 返回值类型:
      2. 方法名:
      3. 形参列表:
      4. 方法体:
    3. 根据实际需求,修改方法的四要素

  • 方法调用

    看调用方法是否有static修饰:

    1. 有static修饰,用:当前类名.方法名(实参(变量/值));

    2. 没有static修饰,用:当前类的对象名.方法名(实参(变量/值)); //这几天都不用

      特殊情况:
      如果调用方(目前就是指main方法)和被调用方都在同一个类中,且都有或者都没有static修饰,可以简写为:方法名(实参(变量/值));

      注意:

      1. 调用方法的时候,传入的参数数量、数据类型、顺序必须和 声明方法的一致
      2. static方法中不能直接调用非static修饰的方法,但是非static方法中可以调用static修饰 的方法