数组
常用创建数组方式:
1、创建数组的同时,制定数组中的内容。
数据类型[] 数组名称 = {数据1,数据2,数据3...数据n};
2、创建数组,并指定长度,不指定数组中的内容。其中指定长度为int类型。
数据类型[] 数组名称 = new 数据类型[数组长度];
public class Demo {
public static void main(String[] args) {
int[] ages1 = {10,20,30,40};
int[] ages2 = new int[4];
ages1[0] = 66;
System.out.println(ages1[0]);
System.out.println(ages1.length);
for(int index=0;index<ages1.length;index++) {
System.out.println(ages1[index]);
}
}
}
数组不常用的创建方式:
1、 创建数组,不初始化
格式: 数据类型[] 数组名;
2、 创建数组,并指定数组的元素
格式: 数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,元素3...元素n};
使用数组不当, 会出现如下问题:
- 数组未赋值: 空指针异常
- 超出长度的下标操作: 数组越界异常
注意:数组的长度在创建时就固定了。
寻找数组的最大值
public class ArrayMax {
public static void main(String[] args) {
int[] array = {12,3,74,2111,132,34,312,999};
int maxNum = array[0];
for(int i=1;i<array.length;i++) {
if(array[i] > maxNum) {
maxNum = array[i];
}
}
System.out.println("当前数组中最大的数为:" + maxNum);
}
}
寻找数组的最小值
public class ArrayMin {
public static void main(String[] args) {
int[] array = {12,3,74,666,132,34,312,8};
int minNum = array[0];
for(int i=0;i<array.length;i++) {
minNum = array[i]>minNum?minNum:array[i];
}
System.out.println("当前数组中最小的数为:" + minNum);
}
}
数组常用算法
冒泡排序
工作原理:
- 比较相邻的元素,如果第一个比第二个大,就交换他们的位置;
- 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数;
- 将除最后一个元素之外的数组内的其他元素重复以上的步骤;
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
名字由来:
数组中最小(或最大)的元素会经由交换慢慢“浮”到数列的顶端(降序或升序),就如同水中的气泡最终会上浮到顶端一样,故名“冒泡排序”。
- 升序排列的口诀:
N个数字来排队
两两相比小靠前,
外层循环 length-1
内层循环 length-i(轮数)-1
- 降序排序的口诀:
N个数字来排队
两两相比大靠前,
外层循环 length-1
内层循环 length-i(轮数)-1
案例(升序排序):
public class Demo {
public static void main(String[] args) {
int[] array = {12,3,74,666,132,34,312,8};
int temp;
for(int i=0;i<array.length-1;i++) {
for(int j=0;j<array.length-i-1;j++) {
if(array[j]>array[j+1]) {
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
System.out.println("排序好的数组:");
for(int i=0;i<array.length;i++) {
System.out.println(array[i]);
}
}
}
多维数组
创建格式:
数据类型 数组名 = new 数据类型[长度];
案例:
int[][] 二维数组名称 = new int[长度][];
案例:
public class Demo {
public static void main(String[] args) {
int[][] nums = new int[9][];
nums[0] = new int[]{1,2,3};
System.out.println(nums[0][1]);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)