数组的一些基本应用


主函数中定义一个数组,分别调用各个数组的功能

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;
	}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值