java中内存的划分,数组使用

/*1栈(stack)存放的都是方法中的变量,方法的运行一定在栈中
* 局部变量:方法的参数,或者是方法{}内部的变量
* 作用域:一但超处作用域,立刻从栈中消失
* 2堆(Heap)凡是new出来的东西都在堆中
* 堆里面的数据都有默认值
* 如果是整数类型 默认为0 如果是浮点数 默认为0.0 如果为字符默认为u/0000 如果是布尔类型 默认为false 如果是引用类型 默认为null
* 堆内存里面的东西都有一个地址值
* 3方法区(Method Area):存储class相关信息包含方法的信息
* 4.本地方法栈(Native Method Stack)与操作系统有关

*5.寄存器与cpu有关

*/

public class for1 {
public static void main(String[] args) {
int[] array=new int[5];
System.out.println(array);
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
System.out.println(array[4]);
System.out.println(array[5]);//ArrayIndexOutOfBoundsException索引越界异常
int num=array.length;//获取数组长度
//数组遍历输出
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);

}
int[] arrayA;
arrayA=null;
System.out.println(arrayA[0]);//空指针异常NullPointerException

}
}

猜你喜欢

转载自www.cnblogs.com/xzwx668/p/11992700.html