首页 > IT职业 > IT图书 > Java核心基础第4篇-Java数组的常规操作

所以数组一般用来存放大小固定的数据:例如存放班级学生成绩
int scores = {100,90,98,99,88,80}
关键数组的关键字:[]
int [] a 和 int a[]含义是一样的,[]和变量名前后是没有关系的。
type [] var;或者 type var [] ;
例如:
int score[];
int [] score;
Object [] obj; //Object是java语法中老祖宗
type [] var = new type[size]; //创建的是数据,数组的元素为空。值默认的就是该类型的默认值
type [] var = {elm,elem2,elem3,…} //创建的同时,把数据也赋值了
public static void main(String[] args) {
// 申明 默认值
int score[] = new int[9];
for(int i = 0;iscore.length;i++) {
System.out.print(score[i]+"t");
}
System.out.println("------------");
//创建并且赋值
int score2[] = {100,90,88,85,66};
for(int i = 0;iscore2.length;i++) {
System.out.print(score2[i]+"t");
}

new:java中的关键字,主要作用用来在内存中,开辟新的空间,从而创建新的对象

int score[] = new int[9];
//指定元素赋值
score[2] = 10;
score[5] = 50;
int num2 = score[2];
System.out.println("num2="+num2);
for(int i = 0;iscore.length;i++) {
System.out.print(score[i]+"t");
}

遍历数组可以通过下标,或者增强foreach循环来进行元素的遍历
因为可以使用arr[index]方式访问元素,所以我们可以通过arr.length来循环获取不同索引的值;
但是注意:索引的范围是:0-(length-1),不能大于等于length因为下标是从0开始计算。不然抛出数组越界异常
int score[] = {100,90,88,85,66};
for(int i = 0;iscore.length;i++) {
System.out.println(score2[i]);
}
以上就是将score数组中所有的元素遍历了一次,并打印出来
Java有一种功能很强的循环结构,可以用来依次处理数组中的每个元素而不必为指定下标值而分心。
这种增强的for循环的语句格式为:
for(variable : arr)statement
例如:
int score[] = {100,90,88,85,66};
for(int ele:score){
System.out.println(ele);
}
这种语法和上面普通的for循环达到的效果是一样的。这种for each循环语句显得更加简洁、更不易出错
如果希望将一个数组的所有值拷贝到一个新的数组中去,就要使用Arrays类的copyOf方法:
第2个参数是新数组的长度。这个方法通常用来增加数组的大小
int score[] = {100, 90, 88, 85, 66};
//长度超过原数据的部分:使用默认0替代
int[] newArr01 = Arrays.copyOf(score, 10);
//长度不足的,从前往后取对应的数据
int[] newArr02 = Arrays.copyOf(score, 3);
System.out.println("原数组 = " + Arrays.toString(score));
System.out.println("新数组1 = " + Arrays.toString(newArr01));
System.out.println("新数组2 = " + Arrays.toString(newArr02));

注意事项:
java.util.Arrays:属于工具类,所以在使用之前,必须先导包
public static void main(String[] args) { int score [] = {99,89,78,88,69,70}; String ch[] = {"B","C","A","F","D"}; System.out.println("排序前:"); for (int i = 0; i ch.length; i++) { System.out.print(ch[i]+"t"); } System.out.println(); //进行排序 //1.只提供了升序排序 从小到大 没有提供降序。自己去实现 //2.也叫做自然顺序。 A(65) B(66) C(67) D(68) Arrays.sort(ch); System.out.println("排序后:"); for (int i = 0; i

升序为例:

public static void main(String[] args) { int score [] = {99,89,78,88,69,70}; //i=0 {89,78,88,69,70,99}; //i=1 {78,88,69,70,89,99}; //i=2 {78,69,70,88,89,99}; System.out.println("第原始的结果:"); for (int j = 0; j score[j+1]) { //两两互换,通过临时变量 int temp = score[j]; score[j] = score[j+1]; score[j+1] = temp; } } System.out.println("第"+(i+1)+"次执行的结果:"); for (int j = 0; j
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1747/viewspace-2797068/ ,如需转载,请注明出处,否则将追究法律责任。