java--数组

发布于:2022-12-25 ⋅ 阅读:(280) ⋅ 点赞:(0)

一.数组组成

标识符
数组元素
元素下标:从0开始
元素类型 :必须相同
在这里插入图片描述

二.使用细节;

在这里插入图片描述

案例:

数据类型[ ] 数组名 = new 数据类型[大小] ;

一*如何实现在数组中插入一个数,使其按降序排列;**
题目:
有一个已经按升序排好序的数组。现输入一个数 ,按原来的规律将它插入数组中。

提示>程序分析:首先判断此数第一次小于数组中哪个元素,
然后将此数插入,插入后此元素之后的数
依次后移一个位置。

int[] scores = { 99, 85, 82, 63, 60 }

  1. // 创建Scanner类对象

Scanner sc = new Scanner(System.in);

		int[] scores = { 99, 85, 82, 63, 60 };

	 3.声明一个长度比原来数组长度大1的数组
		int[] newScores = new int[scores.length + 1];

    	4.将原来数组里元素按照顺序存入到新的数组中
		// newScores[0]=scores[0];
		// newScores[1]=scores[1];
		// newScores[2]=scores[2];
		// newScores[3]=scores[3];
		// newScores[4]=scores[4];
		// 使用循环来实现上述赋值操作,赋值结束后,新数组元素是[99,85,82,63,60,0]
		for (int i = 0; i < scores.length; i++) {
			newScores[i] = scores[i];
		}

		System.out.println("插入学生成绩前的数组:");
		for (int i : newScores) {
			System.out.print(i + " ");
		}
		System.out.println();

		// 3)使用Scanner类获取你要增加的学员成绩
		System.out.println("请输入你要增加的学员成绩:");
		int insert = sc.nextInt();

		// 设置插入的成绩插入的位置,默认将其插入在数组最后位置
		int index = newScores.length - 1;
		// 4)通过循环比较获取增加的学员成绩的插入位置
		for (int i = 0; i < newScores.length; i++) {
			// 比较,如果插入的学员成绩比数组里的元素大,得到其插入位置
			if (insert > newScores[i]) {
				index = i;
				// 一旦得到插入成绩比数组元素大,就结束比较,后面不再进行比较
				break;
			}
		}

		// 5)从插入元素插入位置开始及之后的元素依次往后移动一位(从最后一个元素开始,倒着移动)
		for (int i = newScores.length - 1; i > index; i--) {
			newScores[i] = newScores[i - 1];
		}

		// 6)将要![插入的成绩存储到插入位置
		newScores\[index\] = insert;](https://img-blog.csdnimg.cn/d9c9e53b7c834e718ef6b70d61e1f6b8.png)


		// 输出数组里的所有元素,看一下是否满足了需求
		System.out.println("插入学生成绩后的数组:");
		for (int i : newScores) {
			System.out.print(i + " ");
}

}

实例:
在这里插入图片描述