Java 数组详解

2017-06-29  本文已影响0人  larQ

1. 数组的概念

2. 数组的声明/定义

//下面两种声明/定义都可行,在Java中提倡第一种,
// 第二种可能在C/C++中使用的比较多
int[] arr1 ;
int arr2[] ;

3. 数组的创建

int[] arr = new int[5];
等号左边:
int :数据类型
[] :代表数组,有几个[] 代表几个数组
arr : 数组名称,合法的标识符
等号右边:
new : 在内存中开辟空间,创建新的实体或者对象
int : 数据类型 (这里相当于构造器吧)
[]: 代表数组
5:数组的长度
//上面的代码做了两件事
//①使用 new int[5] 创建了一个数组
//②把新创建的数组的引用赋值给变量 arr
图解说明.png

4.

5 . 数组的初始化

数组元素的数据类型 数组元素的默认值
整数(byte,short,int,long) 0
浮点型(float,double) 0.0
布尔(boolean) false
字符(char) '\u0000'
引用类型(String,Student,…) null
//静态初始化:在数组创建的同时直接指定数组中的元素值,这种方式,其实数组长度就确定了
int[] iArr = {1,2,3,5};
String[] strArr = {"abc","bcd","ccc"};
int[] arr = new int[]{2,33,44,555};
//动态初始化:先完成数组的声明和数组的创建,再通过数组的索引取到数组中的每个元素来赋值
int[] arr = new int[4];
for(int i=0 ; i<arr.length; i++) {
    arr[i] = i+1;
}

6. 数组的遍历

//正序(顺序):从索引为0的元素开始,依次取出,直到索引为arr.length-1
for(int i=0;i<arr.length;i++) {
    int m = arr[i];
    System.out.println(m);
}
//倒序 
for(int i = arr.length-1;i>=0;i--) {
    int m = arr[i];
    System.out.println(m);
}
//foreach遍历
for(Int m:arr) {
    System.out,println(m);
}

7. 对象数组,以学生对象为栗

//学生对象,省略getter,setter
public class Student{
    private String num;
    private String name;
    private String sex;
    private int age;
}
//学生对象数组
Sutdent[] stus = new Sutdent[3];
stus[0] = new Student("10010","Jun","男",22);
Student s = stus[0];
System.out.println(stus[0].getName);

//对象数组的遍历
Student[] stus = {new Student("10011","Zar","男",18),new Student("10012"),"June","女",19}

for(int i = 0;i<stus.length;i++) {
    Student s = stus[i];
    System.out.println(s.getNum+"---"+s.getName+"---"+s.getSex()+"---"+s.getAge());
}

for(Student s : stus) {
      System.out.println(s.getNum+"---"+s.getName+"---"+s.getSex()+"---"+s.getAge());
}

8. 二维数组:数组的数组,数组中的每个元素都是一个数组

// 声明/定义
int[][] arr1;
String[][] arr2;
Student[][] arr3;
int[][] arr = new int[5][];//没有指定小数组的长度,大数组中没有创建小数组
arr[0] = new int[3];  arr[1] = new int[4];//分别指定
int[][] a = new int[2][4];指定了大数组中小数组的长度,会同时完成小数组的创建
//静态初始化
int[][] arr={{3,5,7},{2,9},{5,7,3,6}};
String[][] arr = {{“aaa”,”bbb”,”ccc”},{“haha”,”hehe”},{“jdb”,”wlj”,”hqz”}};
int[][] arr = new int[3][4];
for(int i = 0;i<arr.length;i++) {
    for(int j = 0;j<arr[i].length;j++) {
        a[j] = (int)(Math.random()*10)+1;
    }
}
for(int i = 0;i<arr.length;i++) {
    for(int j = 0;j<arr[i].length;j++) {
        System.out.println(a[j]);
    }
}
for(int[] a : arr) {
    for(int n:a) {
        System.out.println(n);
    }
    System.out.println();
}
上一篇下一篇

猜你喜欢

热点阅读