数组的定义和初始化

本篇将介绍数组的定义、初始化、使用以及数组的存储形式

  1. 数组的定义

/*定义数组(声明数组):声明了数组元素的类型;在栈内存为数组变量(引用)来分配空间;
  建议示例:int[] n;
*/
int[] no;
int n[];//这种定义方式也可以,但是不建议使用
float[] sal;
boolean[] b;
char[] c;
  1. 初始化数组

初始化数组:将数据存放到数组里面;在堆内存里为数组对象分配空间。

动态初始化:程序员指明数组的长度,系统负责初始化:(整数:0;浮点数:0.0;布尔型:false;字符型:\u0000,引用:null)

静态初始化:程序员初始化数组元素,系统来确定数组的长度。

no = new int[6];//动态初始化数组
sal = new float[3];
b = new boolean[4];
 n = new int[]{3,4,5,6,7};//静态初始化数组
 float[] f = new float[]{1.0f,3.6f,3.4f}; 
 float[] ff = {1.0f,3.6f,3.4f}; //更简单的静态数组初始化方法
int n[6];//这是错的,虽然定义可以int n[],但是初始化不能这样
  1. 数组的使用

//使用数组:使用下标(索引)取数组元素:no[2];数组提供1个length属性,指明数组的长度。
//数组输出用for循环遍历输出就可以,输入也是一样
for(int i = 0; i < no.length; i++){
            System.out.print(no[i] + "\t");
        }
  1. 数组的存储形式

  • 什么是引用

引用相当于一个一个指向对象的指针是一个地址,并不是存储对象的容器

  • 数组没有初始化前引用变量没有值

public class textArray {
    public static void main(String[] args) {
        int[] no;

       // no = new int[6];
        System.out.println(no);      
}
  • 引用变量初始化后存储数组的地址

public class test01 {
    public static void main(String[] args) {
        int[] no;
        no = new int[6];
        System.out.println(no);
    }
}

此时初始化之后引用变量输出的就是一个地址

  • 动态初始化后数组的值

public class test01{
    public static void main(String[] args) {
        int[] no;
        float[] sal;
        boolean[] b;
        int n[]; //不建议,个人感觉不易理解
        no = new int[6];//动态初始化数组
        //int n[6]; //错误:
        sal = new float[3];
        n = new int[]{3,4,5,6,7};//静态初始化数组
        b = new boolean[4];

        for(int i = 0; i < no.length; i++){
            System.out.print(no[i] + "\t");
        }

        System.out.println();

        for(int i = 0; i < sal.length; i++){
            System.out.print(sal[i] + "\t");
        }


        System.out.println();

        for(int i = 0; i < b.length; i++){
            System.out.print(b[i] + "\t");
        }
        /*System.out.println();
        for(int i=0;i<n.length;i++){
            System.out.print(n[i]+"\t");
        }*/
    }
}
  • 静态初始化的输出

此为课堂老师画的数组的栈和堆的存储

如有错误麻烦指出,欢迎探讨

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值