创建数组、遍历数组、数组的基本操作

4 篇文章 1 订阅

一、创建数组

(一)创建

// 方式1
int[] arr1 = new int[10];  
// 方式2
int[] arr2 = new int[]{1,2,3,4};
// 方式三 创建一个长度为5的int数组,其值为1,2,3,4,5
int[] arr3 = {1,2,3,4,5}; 

int[] arr4;
//arr4 = {4,6,8};  编译错误,这种方式只能声明的同时初始化
arr4 = new int[]{4,5,6};

// 输出数组
System.out.println(arr[1]);

我们可以通过数组的下标获取数组的值。需要注意的是数组的下标是从0开始的。
在初始化之后,系统会为数组分配内存空间,且默认值为0(当定义为整型时).

double[] arr4 = new double[10];  // 系统会为其设默认值0.0
boolean[] bo = new boolean[10];  // 默认值为false
String[] str = new String[10]; // 默认值为null

(二)访问数组

1、通过下标/索引来访问数组中的元素
			==下标从0开始,最大到(数组的长度-1)==
		
2、通过(数组名.length)可以获取数组的长度(元素个数)
arr1[0] = 0; // 给arr1数组中的第一个元素赋值为0
arr1[1] = 1; // 给arr1数组中的第一个元素赋值为1
.....
arr1[9] = 9; 

System.out.println("arr数组的长度为:"+arr.length);
System.out.println("arr数组最后一个元素为:"+arr[arr.length-1]);

注意:不能给arr1[10]赋值,因为数组下标从0开始,即一个长度为10的数组,下标是0-9,如果给arr[10]赋值会发生数组下标越界错误。

二、遍历数组

int[] arr = new int[10];
// 遍历赋值与输出
for (int i = 0; i < 10; i++){  // i < arr.length i <= length - 1
	arr[i] = i;
	System.out.println("数组的第"+i+"个元素的值为:"+arr[i]);
}

三、数组的基本操作

Arrays 是数组的工具类,提供了大量操作数组的方法
1、数组拷贝
Arrays.copyOf(要复制的数组,新数组的长度) 复制指定的数组
Arrays.toString(数组) 输出数组中所有的元素

int[] arr = {1,21,5,6,8};
int[] newArr = Arrays.copyOf(arr,6);  // 扩容
int[] newArr2 = Arrays.copyOf(arr,3); // 缩容
// 1,21,5,6,8,0 旧数组长度为5,新数组长度为6,
//故新数组的第六个元素默认被赋值为0
System.out.println(Arrays.toString("扩容后的数组"+newArr)); 
// 1,21,5
System.out.println(Arrays.toString("缩容后的数组"+newArr2)); 

2、数组的排序
(1)冒泡排序
冒泡排序算法的原理如下:
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,
最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
(2)选择排序
(3)二分法
(4)插入排序

int[] arr = {78,56,21,36,45};
for (int i = 0; i < arr.length; i++){ // 控制找击此最大数
	for (int j = 0; j < arr.length - i; j++){  // 控制找每个最大数找多少次
			// 如果前面一个元素比后面一个元素大,则元素互换
			int temp = arr[j];
			arr[j] = arr[i];
			arr[i] = temp;
	}
}
System.out.println(Arrays.toString(arr)); // 21 36 45 56 78
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值