Java-数组

0 前言

       数组是一种常用的数据结构,它可以存储多个相同类型的数据,如整数、字符、浮点数等。数组的优点是可以通过索引快速访问任意位置的元素,而且占用的内存空间是连续的。数组的缺点是长度固定,不能动态扩容,而且插入和删除元素需要移动后面的元素。在本文中,我们将介绍Java中数组的声明、创建、初始化、遍历、操作和应用,以及一些常见的数组问题和解决方法。

1 数组的定义与基本要素

1.1 为什么需要数组

当某个功能模块中变量的初始化过多的情况下,需要有一个容器(有序序列),能够容纳多个变量。

1.2 数组的定义

1)数组是一个变量,存储相同数据类型的一组数据。
2)数组在内存空间中划出一串连续的空间。

1.3 数组的基本元素

标识符:数组的名称,用于区分不同的数组
数组元素:向数组中存放的数据
元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问
元素类型:数组元素的数据类型
注:数组长度固定不变,避免数组越界。

1.4 数组的特点

数组中的所有元素必须属于相同的数据类型。

2 数组的语法结构

2.1 数组的创建

//创建数组的两种方式
//第一种方式,静态初始化
int[] array = new int[]{2,4,8,5};
//第二种方式,动态初始化
int array[] = new int[4];
array[0] = 2;
array[1] = 4;
array[2] = 8;
array[3] = 5;

2.2 增强for循环遍历数组

int[] array = new int[]{2,4,8,5};
for(int i : array){
	System.out.print(i+",");
}

3 Arrays工具类的使用

3.1 .sort()

定义:对指定数组按升序进行排列
使用:

int[] array = new int[]{2,4,8,5};
Arrays.sort(array);
for(int i = 0;i<array.length;i++){
	System.out.print(array[i]+","); //输出结果为2,4,5,8
}

3.2 .toString()

定义:返回指定数组内容的字符串表示形式。
使用:

int[] array = new int[]{2,4,8,5};
System.out.println(Arrays.toString(array));//输出结果为[2,4,8,5]

4 数组的应用

4.1 求最大值

/*核心思路:设置一个变量max,初始值为数组中的第一个元素,
 *将它依次与数组中的各个元素进行比较,将更大的值赋给max,
 *遍历结束后,max的值即为最大值。
 */
int[] array = new int[]{2,4,8,5};
int max = array[0];
for(int i = 1;i<array.length;i++){
	if(array[i]>max){
		max = array[i];
	}
}
System.out.println("最大值为"+max);

4.2 冒泡排序

/*核心思路:将数组中的第一个数依次与下一个数进行比较,如果前一个数比
 *后一个数大,则将两个值交换,每一轮确定一个最大的位置放到最后,如此继续,
 *直至全部排序完成
 */
int[] array = new int[]{2,4,8,5};
int t;
for(int i = 0;i<array.length-1;i++){ //比较的轮数,长度-1
	for(int j = 0;j<array.length-1-i;j++){ //每轮比较的次数,长度-1-i
		if(array[j]>array[j+1]){
			t = array[j];
			array[j] = array[j+1];
			array[j+1] = t;
		}
	}
}
System.out.println(Arrays.toString(array));

5 二维数组

二维数组与一维数组的语法结构相同,可以理解为二维数组就是数组元素是一维数组的一维数组。

int[][] arrays = new int[][]{ { 90, 85, 92, 78, 54 }, { 76, 63,80 }, { 87 }};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值