Java基础学习:数组03
-
三种初始化及内存分析:
-
Java内存分析:Java内存:
-
堆:
-
存放new的对象和数组;
-
可以被所有的线程共享,不会存放别的对象引用;
-
-
-
存放基本变量类型(会包含这个基本类型的具体数值)
-
引用对象的变量(会存放这个引用在堆里面的具体地址)
-
-
方法区:
-
可以被所有的线程共享
-
包含了所有的class和static变量
-
-
-
-
代码实例:数据下标越界:错误
public class ArrayDemo02 {
public static void main(String[] args) {
//1
int[] nums=new int[3];//创建一个int类型数组
//2,给数组赋值
nums[0]=1;
nums[1]=2;
nums[2]=3;
//3,获取数组元素的值
//ava.lang.ArrayIndexOutOfBoundsException: 数组下标越界
System.out.println(nums[3]);//ava.lang.ArrayIndexOutOfBoundsException: 3
}
} -
三种初始化:
-
静态初始化:
int[] a={1,2,3};
-
动态初始化:
int[] a=new int[2];
a[0]=1;
a[1]=2; -
数组的默认初始化:
//1,数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化;
-
代码例子:
public class ArrayDemo03 {
public static void main(String[] args) {
//三种初始化
//1,静态初始化:创建+赋值
int[] a={1,2,3};//一旦定义,不可改变
//2,动态初始化:包含默认初始化
int[] a1=new int[2];
a1[0]=1;
System.out.println(a1[0]);//
//3,默认初始化
int[] a2=new int[2];
System.out.println(a2[0]);//0
}
}
-
-
笔记:
-
数组声明的时候,并不存在;只有创建的时候才会存在(内存堆中开辟内存空间);
-
实例变量:从属于对象,不加static;
-
类变量:从属于类,加static;
-
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律