1.java数组(先声明再分配内存):
在栈内存中保留数组名,用来保存指向数组实体的地址的名称,在堆内存中保留所需内存,之后内存空间参考地址赋给array
int array[]=null;
//int[] array = null;
//null是引用型数据类型的默认值
array=new int[10];
int score[]=new int[10]
2.获取数组长度
int l = score.length;
3.数组静态初始化
int score[]={91,92,93,94,95,96};
4.二维数组
int score[][];
score = new int[3][4];
//int score[][]=new int[3][4];
静态初始化的数组可以长度不一致
int score[][] = {{2,3}{3,4,5}};
5.数组的引用传递
方法可用来传递和返回数组,由于数组属于引用类型,若对数组进行任何修改将会保留下来。
public class TestJava {
public static void main(String[] args) {
int temp[] = {1,3,5};
fun(temp);
for(int i = 0; i < temp.length; i++) {
System.out.println(temp[i]+",");
}
}
public static void fun(int x[]) {
x[0] = 6;
}
}
实际上是x指向temp对应的堆内存,方法完成后x失效,但修改内容保留下来
public class TestJava {
public static void main(String[] args) {
int temp[] = fun();
print(temp);
}
public static void print(int x[]) {
for(int i = 0; i < x.length; i++) {
System.out.print(x[i]+",");
}
}
public static int[] fun() {
int ss[] = {1,3,5,7,9};
return ss;
}
}
冒泡排序
public class TestJava {
public static void main(String[] args) {
int temp[] = {3,2,1,8,9,5,4,3};
sort(temp);
print(temp);
}
public static void print(int x[]) {
for(int i = 0; i < x.length; i++) {
System.out.print(x[i]+",");
}
}
public static void sort(int x[]) {
for(int i = 0; i < x.length; i++) {
for(int j = 0; j < x.length-1; j++) {
if(x[j]>x[j+1]) {
int temp = x[j+1];
x[j+1] = x[j];
x[j] = temp;
}
}
}
}
}
可用类库java.util.Arrays.sott(temp)进行排序,可排序浮点型字符型
System.arraycopy(i1,3,i2,1,3)可进行局部复制,将i1复制到i2。
类库可在java doc文档中找到
6.Java新特性对数组的支持
可变参数
public static void fun(int...x)
其中参数个数可变,以数组形式保存
public class TestJava {
public static void main(String[] args) {
fun();
fun(1);
fun(1,2,3);
}
public static void fun(int...x) {
System.out.println("");
for(int i = 0; i < x.length; i++) {
System.out.print(x[i]+",");
}
}
}
foreach输出:方便数组输出
for(int x : arg){
}
public class TestJava {
public static void main(String[] args) {
fun();
fun(1);
fun(1,2,3);
}
public static void fun(int...x) {
System.out.println("");
for(int x1 : x) {
System.out.print(x1+",");
}
}
}