数组的基本概念及作用
数组的创建
举个栗子:
//int a,d[ ]; //a是整数,d是数组。
//int [ ] b,c; //b,c都表示数组。
数组的创建
如下图,这里看到我们定义数组a[],而你直接输出a,它会出现[I@1b6d3586这种字样,这个其实是默认输出是数组在内存中地址。而我们想要输出数组时,就要借用java中给我们提供的Arrays.toString[]方法。这个方法是将数组中的元素拼接位一个字符串表示。
如下图, 这里我们看到出现了 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5(异常原因)
这就是数组中的一个经典异常,数组索引越界异常。
注意,最大索引是你规定的数组长度-1。这里我们a数组长度是3,所以它的最大索引应该是2。因此,输出a[3]就出现了越界异常。
最后数组长度其实也是有上限的,因为定义的是int数组所以,长度应该就是int值的最大量。
数组的访问与迭代
数组在创建之初,会给每个空间分配编号(索引/下标)
通过索引可以对某个空间进行访问。
其实两种迭代效果都一样,不过我们常用第二种,强化for循环,这样省事。
数组排序
冒泡排序: 每一次取出相邻的两个元素进行比较,把较大的值向后移动。
举个简单的栗子,他的排序过程可视化一下其实就是这样。
5,4,3,2,1
4 3 2 1 5
3 2 1 4 5
2 1 3 4 5
1 2 3 4 5
详细代码如下图
其中外循环for (int i = 0; i < a.length-1; i++) 是控制循环次数。
而内循环 for (int j = 0; j <a.length-1-i; j++) 是相邻元素比较。
这里给大家教一个IDEA中的功能,debug测试。
1.设置断点 开始调试程序的位置
2.启动时使用debug模式运行程序
3.调试按键
如下图,在行数栏旁轻点一下就会出现红点,而这一行就会变成断点,等会debug测试就会从这一行开始往下运行。
之后我们鼠标右键点击运行代码下面的debug测试。
如下图就会,出现调试器,这里你点击下一步就会一步一步的运行你的代码。从这里你就可以可视化的观看代码运行的过程。
这是一个IDEA中提供的很方便的工具。
下面我们讲选择排序。
选择排序:假设第一个元素最大值,与之后的每一个位置上的元素进行比较,满足条件交换位置。
代码如下
int[] a = {5,4,3,2,1};
for (int i = 0; i <a.length-1; i++) { //这个循环代表第一位数。
for (int j = i+1; j < a.length; j++) { //这个循环代表与i做对比的之后的数。
if(a[i]>a[j]){
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
System.out.println(Arrays.toString(a));
这里先讲的两种排序中,是数组中比较简单的两种排序,之后还有很多排序,等后续学习了新知识后我们再讲。
二维数组
二维数组的遍历
for (int i = 0; i <x.length ; i++) {
for (int j = 0; j <x[i].length ; j++) {
System.out.print(x[i][j]+" ");
}
System.out.println();
}
}
}
以上就是我们这次学习数组的内容。