Java数组

//java中使用数组
public class Array {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5};//java也支持c语言的这种写法:int arr[5];
        for(int x:arr){//java遍历数组的方法远比c语言方便
            System.out.print(x + "\t");
        }
        System.out.println(arr);//这样打印的就是数组的地址

        //动态初始化,只给定数组长度,由系统给出默认初始化值
        int[] nums;//声明一个数组,在栈中存放一个地址
        nums = new int[3];//创建一个数组,在堆里开辟空间,栈的地址指向堆
        nums[0]=1;
        nums[1]=2;
        nums[2]=3;
        for(int i = 0; i < nums.length; i ++){//数组属于Arrays类,里面有许多方法
            System.out.println(nums[i]);
        }

        //多维数组
        int[][] matrix = {{1,3,4},{2,3,4},{3,4,5},{3,3,4}};
        //打印二维数组
        System.out.println("==================");
        for(int i = 0; i < matrix.length; i ++){
            for(int j = 0; j < matrix[0].length; j ++){
                System.out.print(matrix[i][j] + "\t");
            }
            System.out.println();
        }
        //也可以使用foreach语句打印
        System.out.println("==================");
        for(int[] ints:matrix){
            for(int num:ints) {
                System.out.print(num+"\t");
            }
            System.out.println();
        }
    }
}

运行结果如下:

Java数组

数组除了用于保存基本数据类型的变量,还可以保存引用数据类型的变量,称为对象数组。

public class Person {
    String name;
    
    public Person(String name) {
        this.age = age;
    }
}

public class ClassArray {
    public static void main(String[] args) {
        Person[] persons = new Person[]{new Person("Jack"),new Person("Mary"),new Person("Tom")};//静态初始化
        //动态初始化:Person[] persons = new Person[3];persons[0]= new Person("Jack");
    }
}

Java中的内存分配

区域名称 作用
寄存器 给CPU使用,和我们开发无关。
本地方法栈 JVM在使用操作系统功能的时候使用,和我们开发无关。
方法区 存储可以运行的class文件。
堆内存 存储对象或者数组,new来创建的,都存储在堆内存。
方法栈 方法运行时使用的内存,比如main方法运行,进入方法栈中执行。

Java数组

上一篇:python 上传钉钉图片


下一篇:java小技巧-关于乱码的那些个破事