认识数组(1)

目录

1、什么是数组

1.1什么是数组

1.2数组的三种定义:

2、for循环和for each循环的区别

3、按引用传递(按值传递)

3.1如何理解

3.2引用是否一定是在栈上

3.3一个引用可以指向多个对象

 3.4深入理解


1、什么是数组

1.1什么是数组

简单的说就是储存一组相同数据的集合。

1.2数组的三种定义:


格式一:数据类型[ ] 数组名 = {元素1,元素2,元素3…};

示例:定义存储1,2,3,4,5整数的数组容器

int[] array = {1,2,3,4,5};

格式二:数据类型[ ] 数组名 = new 数据类型[ ]{元素1,元素2,元素3…};

示例:定义存储1,2,3,4,5整数的数组容器。

int[] array = new int[]{1,2,3,4,5};

格式三:数据类型[ ] 数组名 = new 数据类型[ ]{元素数量};

示例:定义可以存储5个整数的数组容器:

int[] array = new int[5];

注意:定义数组的时候不能写具体的数字。例如:int[10]array={1,2,3};

          new是关键字,实例化一个对象,也就意味着Java当中的数组也是一个对象。

2、for循环和for each循环的区别

 运行结果:

区别:for循环可以拿到下标,for each循环不能拿到下标

3、按引用传递(按值传递)

 public static void printf(int[] array) {
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i]+" ");
        }
        System.out.println();
    }

    public static void main(String[] args) {
        int[] array = {1,2,3,4,5,6};
        printf(array);
    }

3.1如何理解


3.2引用是否一定是在栈上

答:不一定,一个变量是否在栈上是由变量的性质决定的,如果是局部变量,就在栈上。如果是实例成员变量,就不一定在栈上。


3.3一个引用可以指向多个对象

而最终指向的对象是最后所指向的对象。(一个引用只能保存一个对象)

int[]arr=new int[]{1,2,3};
arr[]=new int[2];
arr[]=new int[4];
arr[]=new int[5];
/*最终arr[]=new int[5];*/
int[]arr=null//这个引用不指向任何对象
 

 3.4深入理解

 public static void func1(int[] array) {
        array = new int[]{11,22,33,44,55,66};
    }
    public static void func2(int[] array) {
        array[0] = 999;
    }
    public static void main7(String[] args) {
        int[] array = {1,2,3,4,5,6};
        System.out.println(Arrays.toString(array));
        //func1(array);分别运行func1,func2对比分析
        func2(array);
        System.out.println(Arrays.toString(array));
    }

 


to be continued 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值