数组:
属于引用数组类型。是指一组类型相同的数据集合,数组中的每个数据称为元素。
一维数组:
一维数组的声明和创建:
方法一:
int[]arr;//声明
arr=new int[5];//创建
arr=new int[30];//对于同一个数组名(arr)可以重新创建,不能重复声明!!!
方法二:
int[]arr=new int[5];
静态初始化(输出):
数据类型[] 数组名=new 数据类型[]{x,y,z};
package java01;
public class java01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr;//声明
arr=new int[]{1,2,3};
//
int[] arr1=new int[]{2,3,4,5};//new int[]可以省去
System.out.println("arr[0]="+arr[0]);//输出
System.out.println("arr1[3]"+arr1[3]);//输出
}
}
动态初始化(输出):
Scanner sc=new Scanner(System.in);
int i;
for(i=0;i<arr.length;i++){
arr[i]=sc.nextInt();
}
package Xzy06;
import java.util.Arrays;
import java.util.Scanner;
public class Xzy01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//一维数组的声明和建立
int[]arr=new int[5];
/*
* int[]arr;
* arr=new int[5];
*/
//动态初始化
Scanner sc=new Scanner(System.in);
System.out.println("input data");
int i;
for(i=0;i<arr.length;i++) {
arr[i]=sc.nextInt();//输入
}
//输出方法一
for(i=0;i<arr.length;i++) {
System.out.print(arr[i]+"");
}
System.out.println();
//输出方法二
System.out.println(Arrays.toString(arr));
//输出方法三
for(int x:arr) {
System.out.print(x+"");
}
System.out.println();
}
}
二维数组:
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。
二维数组的声明和创建:
数据类型[][] 数组名=new 数据类型[x][y];
int[][] arr=new int[10][10];
静态初始化:
int[][] arr={{1,2,3},{4,5,6},{7,8,9}};
package java01;
public class java01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int[][] arr={{1,2,3},{4,5,6},{7,8,9}};
//输出
System.out.println(arr[0][0]);
System.out.println(arr[0][1]);
System.out.println(arr[0][2]);
System.out.println(arr[1][0]);
System.out.println(arr[1][1]);
System.out.println(arr[1][2]);
System.out.println(arr[2][0]);
System.out.println(arr[2][1]);
System.out.println(arr[2][2]);
}
}
动态初始化:
规则:
数据类型[][] 数组名=new 数据类型[x][y];
//x:几个一维数组 y:一维数组的长度
//动态初始化
int[][] arr=new int[10][10];
arr[0]=new int[]{1,2,3};
arr[1]=new int[]{111,222,333};
//输出
System.out.println(arr[0][0]);
System.out.println(arr[0][1]);
System.out.println(arr[0][2]);
System.out.println(arr[1][0]);
System.out.println(arr[1][1]);
System.out.println(arr[1][2]);
//动态初始化
String[][] b=new String[10][10];
b[0]=new String[]{"abc","def","ghijlm"};
b[1]=new String[]{"java","python","c"};
//输出
System.out.println(b[0][0]);
System.out.println(b[0][1]);
System.out.println(b[0][2]);
System.out.println(b[1][0]);
System.out.println(b[1][1]);
System.out.println(b[1][2]);
不规则:
数据类型[][] 数组名=new 数据类型[x][];
//
int[][] arr=new int[2][];//创建2个一维数组;
int[] arr1= {10,20};
int[] arr2= {30,40,50};
arr[0]=arr1;
arr[1]=arr2;
//输出
System.out.println(arr[0][0]);
System.out.println(arr[0][1]);
System.out.println(arr[1][0]);
System.out.println(arr[1][1]);
System.out.println(arr[1][2]);