数组
声明
暂时不会分配空间
int[] nums;//(首选)
int numss[];//方法2
创建
这个时候会分配空间
nums =new int [10];
//这里可以存放10个int类数字,创建一个数组,分配空间
获取数组长度
数组名.length
注意:数组长度固定,一旦确认不能再改变
内存分析
java内存:
- 堆 :存放new的对象和数组
可以被所有的线程共享,不会存放别的对象引
- 栈 :存放基本变量类型(包含具体数值)
引用对象的变量(包括在堆里的具体地址)
- 方法区:可以被所有线程共享想
包含了所有class和static变量
我们由以下例子说明
package com.Base.array;
public class ArrayDemo1 {
//变量类型 名字=值
public static void main(String[] args) {
int[] nums;//声明(首选)
int numss[];//声明方法2
nums =new int [10];
//这里可以存放10个int类数字,创建一个数组,分配空间
nums[0]=1;
nums[1]=1;
nums[2]=1;
nums[3]=1;
System.out.println(nums[0]);
}
}
内存图示如下:
静态初始化和动态初始化
package com.Base.array;
public class ArrayDemo2 {
public static void main(String[] args) {
//静态初始化:创建+赋值
int[] a={1};
//动态初始:包含默认初始化(默认有值0,可以随时赋值)
int[] b=new int[10] ;
b[0]=1;
}
}
Arrays类
具体可以参见使用手册
下边列举一些常用的
//数组排序
Arrays.sort(a);
//打印数组
System.out.println(Arrays.toString(a));
//填充数组
Arrays.fill(a,0);