数组的四个基本特点
- 长度一旦被确定创建,他的大小就是不可以改变的。
- 数组中的元素必须是相同类型,不能使混合型
- 数组类型可以是任何数据类型,包括基本类型和引用类型
- 数组变量属于引用类型,数组也可以看成对象。数组中每个对象i相当于该对象的成员变量。
数组本身就是对象,JAVA中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的
总结:只要是用new做标示符的,都是存在于堆中。
数组边界
下下标合法区间:[0,length-1]
数组应用
遍历数组的两种方式
for (int i = 0; i < nubs.length; i++) {
System.out.println(nubs[i]);}
//1.5版本后才有的,但是没有下标不能操作,纯粹遍历而已
for(int nub:nubs){
System.out.println(nub);}
多参数遍历
public static int[] fz(int[] nubs){
//反转一个数组
int[] nubs2 =new int[nubs.length];
for (int i = 0,j=nubs.length-1; i < nubs.length; i++,j--) {
nubs2[j]=nubs[i];
}
return nubs2;
多维数组
相当于一个数组里的元素还是数组。
创建二维数组
int[][] array_2d = {{1,2},{2,3},{34,23}}
int[][] array_2d = new int[3][2]
遍历数组
public class arraymay01 {
public static void main(String[] args) {
//多维数组
int[][] array=new int[2][4];
array[0][0]=21;
array[0][1]=32;
for (int i = 0; i <array.length ; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.println(array[i][j]);
}
}
}
}
数组 的表示图
Arrays类操作数组
参考文档
排序
Arrays.sort(array) //排序
打印输出
Arrays.toString(array) //打印输出数组
填充
Array.fill(array,8);
比对数组
Arrays.equals(array,array_1)
冒泡排序
通过一轮一轮比较两个两个数的大小进行排序。
代码,当前一个比后一个小的时候,调整顺序。
代码表示:
package com.ckw.blog.arrays;
import java.util.Arrays;
public class arraymaopao {
public static short[] sort(short[] nubs){
// 拟定多少轮排序
for (int i = 0; i < nubs.length-1; i++) {
//开始对比两数之间的大小,然后交换顺序
for (int j = 0; j < nubs.length-1-i; j++) {
if(nubs[j+1]<nubs[j]){
short temp = nubs[j+1];
nubs[j+1] =nubs[j];
nubs[j]=temp;
}
}
}return nubs;
}
public static void main(String[] args) {
short[] nub= {2,123,41,321,124,12,42,32,23,21,135,34,34};
sort(nub);
//Arrays.sort(nub); //Arrays中也有排序的类。
System.out.println(Arrays.toString(nub));
}
}