一维数组
1.声明一维数组变量
数据类型 数组[] 或 数据类型 [] 数组
int a[]; 或 int [] a;
2.使用new为数组分配空间
数组 = new 数据类型[长度]
a = new int[5];
int a[] = new int[5];
3.数组长度length
数组.length
数组元素的表示及运算
数组[下标]
a[0],a[1],a[2],a[3],a[4]
a[i] = a[i-2]+a[i-1];//数组元素能够参加运算
数组声明时赋初值
int a[]={1,2,3,4,5};
数组元素的初始化
数组变量的引用赋值
二维数组
1.声明二维数组
int mat[][] = new int [3][4];
int mat[][] = { {1,2,3},{4,5,6} };
二维数组元素表示格式如下:
二维数组[ 下标1][ 下标2]
mat[ i][ j] //表示第i行第j列的数组元素
2. 二维数组的引用模型
3. 不规则的二维数组
package day8;
//方法重载
public class Func3 {
//识别一个方法(通过调用):方法名(类型 参数列表)
public static void main(String args[]){
int[] a={1,3,5,7,5,8};
print(a);
int b[][]={{12,3,4,4},{23,324,34,4534,23}};//二维和一维是不一样的类型
print(b);
int[][] c=create(10);
print(c);
}
private static int[][] create(int n) {
// int[][] a;//报没有初始化
int[][] a=new int[n][];//如果不new会报 空指针异常
for(int i=0;i<a.length;i++){
a[i]=new int[i+1];
}
return a;
}
public static void print(int[] a){
for(int b:a){
System.out.print(b+" ");
}
System.out.println();
}
public static void print(int[][] a){
for(int i=0;i<a.length;i++){
//
// for(int b:a[i]){
// System.out.print(b+" ");
// }
// System.out.println();
print(a[i]);
}
}
}
23 324 34 4534 23
0
0 0
0 0 0
0 0 0 0
0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
package day8;
public class FuncEx {
public static void main(String[] args) {
int arr[]=rand(10);
Func3.print(arr);
int n=100;
a(n);//凡是基本类型都是值传递
System.out.println("n="+n);
bb(arr);//引用类型
Func3.print(arr);
}
private static void a(int n) {
n+=10;
}
//java规范:都是左包含右不包含[,)
public static int[] rand(int n) {
int[] a=new int[n];
for(int i=0;i<n;i++){
// a[i]=i;
a[i]=(int) (Math.random()*100);
}
return a;
}
private static int[] bb(int[] a) {
for(int i=0;i<a.length;i++){
a[i]+=10;
}
return a;
}
}
92 27 50 71 3 21 92 70 68 4
n=100
102 37 60 81 13 31 102 80 78 14
package day8;
import java.util.Arrays;
public class FuncEx2 {
public static void main(String[] args) {
int arr[]=FuncEx.rand(10);
Func3.print(arr);
sort(arr);
Func3.print(arr);
int arr2[]=FuncEx.rand(10);
Func3.print(arr2);
int[] b=sort2(arr2);
Func3.print(arr2);
Func3.print(b);
}
private static void sort(int[] arr) {
Arrays.sort(arr);
}
private static int[] sort2(int[] arr) {
int[] arr2=new int[arr.length];
System.arraycopy(arr, 0, arr2, 0, arr.length);
Arrays.sort(arr2);
return arr2;
}
}
40 69 75 59 80 80 39 68 50 47
39 40 47 50 59 68 69 75 80 80
44 94 88 61 57 2 85 61 88 97
44 94 88 61 57 2 85 61 88 97
2 44 57 61 61 85 88 88 94 97