数组的反转
数组的反转:数组中的元素颠倒顺序,例如:原始数组为1,2,3,4,5 数组反转之后为5,4,3,2,1
思路:本质是考察交换两个变量的值 两种方式
- 实现反转,就需要将数组最远端元素和最近端位置互换
- 定义两个变量,保存数组的最小索引和数组的最大索引
- 让两个索引上的元素交换位置
- 最小的索引变量++(自增),最大的索引变量--(自减),再次交换位置
- 最小的索引超过了最大索引,数组反转结束
伪代码:
//准备一个需要反转的而数组
int[] arr = {1,2,3,4,5,6}
//定义两个索引变量,一个索引变量指向最小索引,一个指向最大索引
int min = 0;
int max = arr.length-1;
//遍历数组,让两个索引变量产生变化
min++;
max--;
//条件 min < max
//交换最小索引元素和最大索引元素,需要定义第三方变量
int temp = 0;
temp = arr[min];//把最小的索引元素赋值给第三f方变量
arr[min] = arr[max];//把最大的索引元素赋值给最小的索引元素
arr[max] = temp;//把第三方变量的值赋值给最大索引的元素
代码实现:
public static void main(String[] args){
int[] arr = {1,2,3,4,5};
//遍历数组
//for(1,2,4){3}
for(int min = 0, int max = arr.length-1; min < max ; min++,max-- ){
int temp = 0;
temp = arr[min];
arr[min] = arr[max];
arr[max] = temp;
}
//查看反转之后的数组内容
for(int i=0; i < arr.length ; i++){
System.out.printn(arr[i]);
}
//第二种思路
int[] arr = {1,2,3,4,5};
//遍历数组
for(int i = 0; i< arr.length / 2;m ++){
//交换变量
int temp = 0;
temp = arr[i]
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
}
}
二维数组的定义
方式一:
数组的数据类型[][] 数组名称 = new 数组的数据类型[长度1][长度2];
长度1 不可省略,代表 该二维数组里面存储的元素个数
长度2 可以省略,代表该二维数组里面的元素(数组里面的元素个数),而且它里面的数组元素个数一样
如: int[][] arr= new int[3][2];
长度3----》该arr数组里面有3个元素(数组)
长度2----》该arr数组里面的每个数组元素都有两个元素
相当于----》int[][] arr = {{0,0},{0,0},{0,0}};
方式二:
数组的数据类型[][] 数组名称 = new 数组的数据类型[][]{{元素1,元素2,...},{元素1,元素2,元素3,...},...};
方式三:
数组的数据类型[][] 数组名称 = new 数组的数据类型{{元素1,元素2,...},{元素1,元素2,元素3,...},...};
二维数组访问方式
借助于【索引】
格式:
数组名称[索引]---》访问的是二维数组的元素 //访问二维数组中的一维数组里面的元素
数组名称[一维数组的索引][一维数组里面的元素索引值]
如:int[][]arr ={{10,20,50},{30,40,80},{15,100}};
//访问arr数组当中的10元素
arr[0][0] = 10;
//访问arr数组的80元素
arr[1][2] = 80;
方法
方法:在程序中要去实现的某一个功能,需要包含多条语句,这些语句包含循环语句结果、选择语句结构等共同来处理一件事情。
方法定义的完整格式:修饰符 返回值类型的 方法名称(参数类型1 参数名称1,参数类型2 参数名称2,...){}
修饰符:public static
返回值类型:方法最终产生的数据结果是什么样的
方法名称:方法的名字,名字自定义-标识符,采用小驼峰,见名知意
参数类型:进入方法当中的数据是什么样的类型
参数名称:进入方法当中的数据对应的变量名称
方法体:方法需要执行的功能,由若干行代码组成的
return:一般认为有两个作用,第一将后面的返回值返回给程序;第二停止当前正在执行的方法。
返回值:就是方法执行最终产生的数据结果。
备注:1. return 后面的"返回值",必须和方法声明上的"返回值类型"保持一致。
2.方法不允许嵌套,不允许定义在类的外面
3.方法只能并列,并且必须定义在类的里面。
方法调用【重点】
三种调用格式:
-
单独调用:方法名称(参数具体值);
-
打印调用:System.out.println(方法名称(参数具体值));
-
赋值调用:数据类型 变量名称 = 方法名称(参数具体值);
备注:当返回值类型为void的时候,这种方法只能单独调用,不能进行打印调用或者赋值调用。
返回值类型一般可以理解为数据类型(基本数据类型和引用数据类型),此外还包含一种类型void类型,当方法执行完毕不需要给程序的调用者返回任何的 数据结果是,可以指定该方法的返回值类型为void,此时只能【单独调用】。
注意事项:
-
方法定义的先后顺序无所谓
-
方法定义不能嵌套,不能在一个方法内部定义另外一个方法
-
方法定义之后,自己不会只想;如果希望执行,一定要进行方法的调用。