(四)java数组的使用
-
定义
//定义1
int a[];
a=new int [5];
a[0]=1;//如果不赋值,默认就默认的数据类型值给他赋值。
//定义二
int[] b=new int[5];
//定义三
int[] c=new int[]{1,2,3}; -
默认值
整型都为0,Boolean为false,char为‘/u0000’。 -
堆栈状态???
定义都定义在栈内存地址中中,修改值只修改堆内存中的值,
当给数组改变维度大小时候,栈内存地址才会改变。(即给数组重新new的关键字的时候。)以后进一步学习了,再来分析。
例子如下:d盘的东软里面的路径/javase_day02_2019089/src/_1_ArraysDetails/ArrayDemo02.java -
数组的遍历
①for循环
②增强for循环
for (int num : numarray) {
System.out.println(num);
} -
二维数组
int [][] a=new int[4][];//二位数组的定义,一定要定义第一维的大小
//第二维的空间大小可以不同
a[0]=new int[3];
a[1]=new int[] {1,3};
a[2]=new int[4];
a[3]=new int[1];
遍历
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.print(a[i][j]+" “+”\t");
}
System.out.println();
} -
数组的复制和排序
arrays.sort(需要排序的数组)
System.arraycopy(需要被赋值的数组,开始赋值的位置,目标数组,目标数组的位置,需要复制的长度) -
数组内容转化成字符串打印,不使用for循环。
Arrays.toString(arrayname) -
:复制数组的使用arraycopy,排序arrays.sort
import java.util.Arrays;
/**
* @author 刘平远
* @version 创建时间:2019年8月8日 下午4:13:06
* 类说明 :复制数组的使用arraycopy,排序arrays。sort
*/
public class ArrayDemo05_arraycopy {
public static void main(String[] args) {
//arraycopy
int a[]= {1,2,3,4,5};
int b[]= {6,7,8,10,9};
System.out.println(Arrays.toString(b));
//arraycopy方法只是重新赋值替换,不是叠加!
System.arraycopy(a, 0, b, 0, 5);
for (int i : b) {
System.out.println(i);
}
//arrayssort排序
Arrays.sort(b);
System.out.println("排序后");
System.out.println(Arrays.toString(b));
}
}