主函数中定义一个数组,分别调用各个数组的功能
public class ArrayTest {
public static void main(String[] args) {
// 定义一个数组
int[] arr = { 12, 34, 56, 99, 43, 5 };
// 调用后面的遍历
System.out.print("数组的遍历:");
printArray(arr);
// 最大值的求取
System.out.print("数组元素的最大值:");
maxArray(arr);
// 最小值的求取
System.out.print("数组元素的最小值:");
minArray(arr);
//元素逆序
System.out.print("元素的逆序:");
reverse(arr);
printArray(arr);
//数组元素的查找
//方式一:元素查表法
System.out.println("数组的元素查表法:");
find(arr);
//基本查找法
System.out.println("基本查找法:");
//数组中有这个元素,返回索引值
int bs = basicSearch(arr,99);
System.out.println(bs);
//数组中没有这个元素,返回这个值
int bs1 = basicSearch(arr,100);
System.out.println(bs1);
}
}
1.遍历
就是将数组里的元素一一输出
// 数组的遍历
public static void printArray(int[] array) {
// 输出左边的中括号
System.out.print("{");
// 开始遍历
for (int x = 0; x < array.length; x++) {
// 判断.如果遍历到最后一位,就输出右边的"}",如果没有,就输出里面的元素+","
if (x == array.length - 1) {
System.out.print(array[x] + "}");
} else {
System.out.print(array[x] + ",");
}
}
System.out.println();
}
2.求最大最小值
分析:
1)定义一个参照物,数组中的第一个元素
int max = arr[0];
2)从1角标开始遍历后面的元素,获取到每一个元素的值
for(int x=1;x<arr.length;x++)
3)判断:
如果后面的元素都大于max了,就将该元素赋值给max
if(arr[x] > max){
max = arr[x];
}
4)输出max的值
System.out.println(arr[x]);
//求取数组的最小值
private static void minArray(int[] array) {
// 将数组中的第一个元素定义为参照物
int min = array[0];
// 从1角标开始遍历后面的元素,获取元素的值
for (int x = 1; x < array.length; x++) {
// 判断:如果后面的元素大于max了
if (array[x] < min) {
// 将元素的值赋给max
min = array[x];
}
}
System.out.println(min);
}
// 求取数组的最大值
private static void maxArray(int[] array) {
// 将数组中的第一个元素定义为参照物
int max = array[0];
// 从1角标开始遍历后面的元素,获取元素的值
for (int x = 1; x < array.length; x++) {
// 判断:如果后面的元素大于max了
if (array[x] > max) {
// 将元素的值赋给max
max = array[x];
}
}
System.out.println(max);
}
# 3.元素的逆序
将数组里的元素第0位和最后一位互换,第1位和倒数第二位互换,依次类推
分析:
arr:是一个数组
方式一:
将0索引对应的元素和arr.length-1索引对应的元素进行互换
将1索引对应的元素和arr.length-1-1索引对应的元素进行互换
...
...
只要保证 数组长度 arr.length/2
方式二:
将开始元素与结束元素进行互换
依次交替,
```java
//元素的逆序
private static void reverse(int[] array) {
//方式一:
/*for(int x=0;x<array.length/2;x++) {
//元素的互换
int temp = array[x];
array[x] = array[array.length-1-x];
array[array.length-1-x] = temp;
}*/
//方式二:
for(int start=0,end=array.length-1;start<=end;start++,end--) {
//元素的互换
int temp = array[start];
array[start] = array[end];
array[end] = temp;
}
}
4.元素的查找
查找数组中相对应的元素
4.1 元素查表法
== 通过 键盘录入,角标值确定元素的内容==
通过数组名称[角标值]确定元素的内容
int[] arr = {12,34,45,67,89};
arr[x];
x为数组的角标值[0~4]之间
//元素查找法
private static int find(int[] array) {
//通过键盘录入来查找
Scanner sc = new Scanner(System.in);
//提示并接收数据
System.out.println("请输入0~5之间的数子:");
int f = sc.nextInt();
//输出数组的左边"["
System.out.print("[");
System.out.println(array[f]+"]");
return 0;
}
4.2 基本查找法
从数组中的开始索引一直查询到末尾,查询出元素第一次出现在数组中的索引值
//基本查找法
private static int basicSearch(int[] array,int key) {
//遍历数组元素,获取元素中的每一个值
for(int x=0;x<array.length;x++) {
//判断:如果x的值为key的值,则找到这个元素,返回数组元素
if(array[x] == key) {
return x;
}
}
//如果需要查询的值数组中没有,则返回这个值
return key;
}