总结
数组遍历
-
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循环
-
概念:
- 增强for循环就是类似for循环的结构,专业称呼为foreach
- 作用: 只是用来简化遍历数组和集合的过程;
- 缺点: 没有索引,凡是涉及有索引相关操作还是用普通for循环;
-
语法:
for(元素类型 e : 数组/集合){ e是变量,随便命名。就是每次获取到的元素 } /* * 数组遍历第二种方式:增强for循环 foreach * * 方式2: 简化遍历数组的过程 * 2. 增强for循环: foreach 语法: for(元素数据类型 变量名 : 数组名){ 变量名//就是每一次获取到的元素 } */ for (int e : arr) {// arr是数组名, int 是元素类型 e变量是每一个元素 System.out.println("元素 :" + e); }
-
注意事项:
-
如果要操作某一个具体的元素的时候,用普通for循环,因为操作元素需要通过下标
。如果只是遍历的话,用增强for循环 foreach -
数组内存分析图【理解】
-
基本类型具体的值在栈帧中
-
引用类型具体的值在堆中
-
-
-
-
冒泡排序
//冒泡排序 // 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中都叫方法,可以看成是一个可以完成独立功能的代码块,可以重复使用,每次使用都是独立的!存在于类的结构体。 -
作用:
方法可以复用代码,提高效率和程序的可读性。 -
方法结构组成
- 修饰符:
作用,决定方法的调用方式。例如,是用类名调用,还是用对象名调用 - 返回值类型:就是返回值的数据类型 最近今天会直接告诉大家,需要不需要返回值
作用:决定在调用方法的时候,是否可以用一个变量接收方法的结果值。
如果返回值类型是void,表示没有任何返回值,不能用变量接收结果值。
返回值:就是处理完业务后的结果反馈。通过关键字 return 返回数据
返回值类型分类:
基本类型:byte/short/int/long/float/double/boolean/char
引用类型:类、抽象类、接口、枚举、数组
void : 表示没有任何返回值 - 方法名:
作用:决定调用哪一个方法(就是用来找到要使用的方法的)
命名原则:见名知意,小驼峰,不能以关键字命名。 - 形参列表:
作用,就是用了接收调用方法的时候,传入的实际参数(值/变量)的 - 方法体:
就是根据实际需求,处理数据的代码 - 方法签名: 同一个类中,只能有一个独一无二的方法签名
方法名+形参列表(参数的顺序、类型和个数),跟形参名字无关 - 形参列表3要素(方法小括号中的):参数的顺序、类型和个数
- 修饰符:
-
方法定义
-
复制main方法到当前类中,跟main方法平级的地方
-
根据需求分析方法的四要素:
- 返回值类型:
- 方法名:
- 形参列表:
- 方法体:
-
根据实际需求,修改方法的四要素
-
-
方法调用
看调用方法是否有static修饰:
-
有static修饰,用:当前类名.方法名(实参(变量/值));
-
没有static修饰,用:当前类的对象名.方法名(实参(变量/值)); //这几天都不用
特殊情况:
如果调用方(目前就是指main方法)和被调用方都在同一个类中,且都有或者都没有static修饰,可以简写为:方法名(实参(变量/值));注意:
- 调用方法的时候,传入的参数数量、数据类型、顺序必须和 声明方法的一致
- static方法中不能直接调用非static修饰的方法,但是非static方法中可以调用static修饰 的方法
-