Java学习笔记#数组概述、内存中的存放(教材via 尚学堂)

数组的定义:

  数组是相同类型数据的有序集合,数组描述的是相同类型的若干数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,么个元素可以通过一个索引(下标)来访问它们。数组的 三个基本特点:

  1.长度确定。数组一旦被创建,它的大小就是不可被改变的 。

  2.其元素必须是相同类型,不允许出现混合类型。

  3.数组类型可以是任何数据,包括基本类型和引用类型。

TIPS:

  数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量,数组本身就是对象,java中对象是在堆中的,因此数组无论保持原始类型还是其它对象类型,数组本身是在堆中存储的。

创建数组和初始化:

  一维数组的声明有两种方法:

type[] arry_name;//推荐使用这种方式
type  arr_name;

1.声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。因此,声明数组时不能指定其长度(数组中元素的个数),例如: int a[5]; //非法

2.声明一个数组的时候并没有数组被真正的创建。

3.构造一个数组,必须指定长度。

 1 public class Test{
 2          public static void main(String args[]){
 3        int[] s = null;   // 1
 4        s = new int[10];  //2 
 5        for ( int i=0; i<10; i++ ) {
 6                       s[i] =2*i+1;
 7          System.out.println(s[i]);
 8        }  //3
 9            }
10     }

               声明数组                                        分配空间                    给数组元素赋值

package cn.sxz.arrays;
/**
 * 测试数组的三种初始化方式
 * @author 施星专
 */

public class Test01 {
    public static void main(String[] args) {
        int[] arr01 = new int[10];
        String[] arr02;

    
        arr01[0]=13;
        arr01[1]=15;
        for(int i=0;i<arr01.length;i++) {
            arr01[i]=10*i;
        }
        for(int i=0;i<arr01.length;i++) {
            System.out.println(arr01[i]);
        }
    
        User[] arr03 = new User[3];
        arr03[0] = new User(1001,"张三");
        arr03[1] = new User(1002,"李四");
        arr03[2] = new User(1003,"王麻子");
        
    }
}

class User{
    private int id;
    private String name;
    
    public User(int id, String name) {
        super();
        this.id = id;
        this.name = name;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    
}
原文地址:https://www.cnblogs.com/xingzhuan/p/10444592.html