JAVA入门基础--数组

文章目录

  • 前言
  • 一、JVM内存模型(掌握概念)
  • 二、数组定义(重点)
  • 三、数组初始化(重点)
    • 静态初始化
    • 动态初始化
  • 四、数组操作(重点)
  • 五、二维数组(了解)
    • 获取二维数组的元素
  • 总结


前言

提示:记录Java学习历程:
学习方法提醒:
从数组开始,解决问题3步骤
1> 分析问题,把大问题细分为小问题,并映射知识点
2> 书写步骤,用知识点解决小问题,一个一个解决。
3> 总结这个需求你学到的


提示:以下是本篇文章正文内容,下面案例可供参考

一、JVM内存模型(掌握概念)

JAVA入门基础--数组_第1张图片

方法区: 线程共享的内存区域,存储已被虚拟机加载的类信息、常量、静态变量即时编译器编译后
的代码数据等(这个区域的内存回收目标主要是针对常量池的回收和对类型的卸载)。
Java虚拟机栈: 简称栈区(stack),每个方法被执行的时候都会同时创建一个栈帧用于存储该方
法的局部变量、操作栈、动态链接、方法出口等信息。
每当调用一个方法时,创建一个栈帧,存放了当前方法的局部变量,当方法调用完毕,该方法
的栈帧就被销毁了。
一句话:java方法执行时,在栈区执行
Java堆: 简称堆区(heap),被所有线程共享的一块内存区域,在虚拟机启动时创建。所有的对象实例以及 数组 都要在堆上分配
每次使用new关键字,就表示在堆内存中开辟一块新的存储空间。

GC(Garbage Collection),垃圾回收器
Java的自动垃圾回收机制可以简单理解为,不需要程序员手动的去控制内存的释放。当JVM内存资源不够用的时候,就会自动地去清理堆中无用对象(没有被引用到的对象)所占用的内存空间。

二、数组定义(重点)

数组(Array),把具有 相同类型 的多个常量值 有序组织 起来的一种数据形式。这些按一定顺序排列的多个数据称为数组。

数组中的每一个常量值称之为数组元素(item),数组中使用索引/下标(index)来表示元素存放的位置,索引从0开始,步长是1。

数组元素类型[ ] 数组名;
例如: int[ ] ages;

数组在内存中是一段连续的内存空间。
JAVA入门基础--数组_第2张图片
理解:

  1. 可以把int[ ]看成是一种数据类型——int类型的数组类型。
  2. int[ ] 数组可以看出,该数组中的元素类型是int类型的。
  3. String[ ] 数组可以看出,该数组中的元素是String类型的。

三、数组初始化(重点)

数组在定义后,必须初始化才能使用。所谓初始化,就是在堆内存中给数组分配存储空间,并为每一个元素赋上初始值,有两种方式:
静态初始化;
动态初始化;

数组的长度是固定的,无论以哪种,一旦初始化完成,数组的长度(元素的个数)就固定了,不能改变,除非重新对该初始化。
如果我们事先知道元素是多少,选用静态初始化;
事先不知道元素是多少(但知道需要多少个的空间),选用动态初始化。
JAVA入门基础--数组_第3张图片

静态初始化

程序员直接为每一个数组元素设置初始化值,而数组的长度由系统(JVM)决定。

数组元素类型[] 数组名 = new 数组元素类型[]{元素1,元素2,元素3,…};
int[] nums = new int[]{1,3,5,7,9};
简单写法: int[] nums = {1,3,5,7,9};

public class ArrayDemo1{
    public static void main(String[] args) {
   
 //定义并初始化数组 
 	int[] nums = new int[] {
    1, 3, 5, 7 };
 	 System.out.println("数组长度=" + nums.length);
 	  //重新初始化数组 
 	  nums 

你可能感兴趣的:(java学习,java)