java引用类型之数组

本文介绍了Java中的引用概念,它相当于对象的别名或指针,可以指向null。接着,展示了三种一维数组的初始化方式,并提到了Arrays类在打印和排序数组上的应用。此外,通过示例解释了如何将数组作为函数参数传递以及如何处理二维数组。最后,强调了理解Java虚拟机栈和堆在内存管理中的重要性。
摘要由CSDN通过智能技术生成

1.引用

什么是引用 ?
引用相当于一个 " 别名 ", 也可以理解成一个指针 .
创建一个引用只是相当于创建了一个很小的变量 , 这个变量保存了一个整数 , 这个整数表示内存中的一个地址 .
当一个引用被赋值为null的时候,代表这个引用不指向任何对象;

 

2.一维数组初始化

数组初始化三种方式;
int[] array = {1, 2,3,4,5,6,7,8,9};
 int[] array1=new int[]{1,2,3,4,5};
 int[] array2=new int[10];

3.类Arrays里的方法;

打印数组;

System.out.println(Arrays.toString(array));

Arrays是操控数组的一个类,toString是里面的方法,它的源码如下,是将数组里的数字转化为字符串;

public static String toString(int[] a) {
        if (a == null)
            return "null";
        int iMax = a.length - 1;
        if (iMax == -1)
            return "[]";

        StringBuilder b = new StringBuilder();
        b.append('[');
        for (int i = 0; ; i++) {
            b.append(a[i]);
            if (i == iMax)
                return b.append(']').toString();
            b.append(", ");
        }
    }

对数组排序;

​
        int[] array = {9,8,7,6,5,4,3,2,1};
        Arrays.sort(array);
        System.out.println(Arrays.toString(array));

​

4.数组作为函数参数传递

public class Main {
    public static void main(String[] args) {
        int[] array = {9, 8, 7, 6, 5, 4, 3, 2, 1};
        int []ret=grow(array);
        System.out.println(Arrays.toString(array));
        System.out.println(Arrays.toString(ret));


    }

    public static int[] grow(int[] array) {
        for (int i = 0; i < array.length; i++) {
            array[i] = array[i] * 2;
        }
        return array;
    }
}

 

5.二维数组;

二维数组是特殊的一维数组;

java中二维数组行不能省略,单列可以省略,和C语言不同。神奇的是可以单独指定列,变成不规则的二维数组,如下图;

     int[][] array =new int[2][];
        array[0]=new int[2];
        array[1]=new int[4];

 

 打印二维数组;

public static void main(String[] args) {
        int[][] array =new int[2][];
        array[0]=new int[]{1,2,3,4};
        array[1]=new int[]{1,2};
        System.out.println(Arrays.deepToString(array));

    }

 6.内存

重点理解java虚拟机栈和堆;

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值