Java中的数组动态、静态初始化、元素访问及内存分配

简介: 数组动态、静态初始化、元素访问及内存分配的简单示例

 一、数组

数组是存储数据长度固定的容器,存储多个数据的数据类型要一致。

数组定义格式:

数据类型[] 数组名  或

数据类型 数组名[]

示例:

int[] arr;        
double[] arr;      
char[] arr;
---------------
int arr[];
double arr[];
char arr[];

image.gif

二、数组动态初始化

数组动态初始化就是只给定数组的长度,由系统给出默认初始化值

动态初始化格式:

数据类型[] 数组名 = new 数据类型[数组长度];
示例:
int[] arr = new int[3];

image.gif

等号左边:

int:数组的数据类型

[]:代表这是一个数组

arr:代表数组的名称

等号右边:

new:为数组开辟内存空间

int:数组的数据类型

[]:代表这是一个数组

3:代表数组的长度

三、数组元素访问

每一个存储数组的元素,都会自动拥有一个编号,从0开始。

这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素

访问数组元素格式;

数组名[索引];

示例代码:

public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr = new int[3];
        //输出数组名
        System.out.println(arr); //[I@880ec60
        //输出数组中的元素
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
    }
}

image.gif

四、内存分配

内存是计算机中的重要原件,临时存储区域,作用是运行程序。我们编写的程序时存放在硬盘中的,在硬盘中的程序是不会运行的,必须放进内存中才能运行,运行完毕后会清空内存。

Java虚拟机要运行程序,必须对内存进行空间的分配和管理

java中的内存分配:

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

五、数组静态初始化

在创建数组时,直接将元素确定

静态初始化格式:

数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};    或

数据类型[] 数组名 = {元素1,元素2,...};

示例代码:

public class ArrayDemo {
    public static void main(String[] args) {
        //定义数组
        int[] arr = {1, 2, 3};
        //输出数组名
        System.out.println(arr);
        //输出数组中的元素
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
    }
}

image.gif


目录
相关文章
|
7天前
|
存储 Java 编译器
Java内存区域详解
Java内存区域详解
21 0
Java内存区域详解
|
17天前
|
缓存 算法 Java
Java内存管理与调优:释放应用潜能的关键
【4月更文挑战第2天】Java内存管理关乎性能与稳定性。理解JVM内存结构,如堆和栈,是优化基础。内存泄漏是常见问题,需谨慎管理对象生命周期,并使用工具如VisualVM检测。有效字符串处理、选择合适数据结构和算法能提升效率。垃圾回收自动回收内存,但策略调整影响性能,如选择不同类型的垃圾回收器。其他优化包括调整堆大小、使用对象池和缓存。掌握这些技巧,开发者能优化应用,提升系统性能。
|
12天前
|
人工智能 Java
Java练习题-输出二维数组对角线元素和
Java练习题-输出二维数组对角线元素和
19 1
|
13天前
|
缓存 安全 Java
Java并发编程进阶:深入理解Java内存模型
【4月更文挑战第6天】Java内存模型(JMM)是多线程编程的关键,定义了线程间共享变量读写的规则,确保数据一致性和可见性。主要包括原子性、可见性和有序性三大特性。Happens-Before原则规定操作顺序,内存屏障和锁则保障这些原则的实施。理解JMM和相关机制对于编写线程安全、高性能的Java并发程序至关重要。
|
21天前
|
缓存 Java C#
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍(一)
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍
60 0
|
3天前
|
存储 缓存 监控
Java内存管理:垃圾回收与内存泄漏
【4月更文挑战第16天】本文探讨了Java的内存管理机制,重点在于垃圾回收和内存泄漏。垃圾回收通过标记-清除过程回收无用对象,Java提供了多种GC类型,如Serial、Parallel、CMS和G1。内存泄漏导致内存无法释放,常见原因包括静态集合、监听器、内部类、未关闭资源和缓存。内存泄漏影响性能,可能导致应用崩溃。避免内存泄漏的策略包括代码审查、使用分析工具、合理设计和及时释放资源。理解这些原理对开发高性能Java应用至关重要。
|
11天前
|
存储 缓存 安全
【企业级理解】高效并发之Java内存模型
【企业级理解】高效并发之Java内存模型
|
18天前
|
Java
java中jar启动设置内存大小java -jar 设置堆栈内存大小
java中jar启动设置内存大小java -jar 设置堆栈内存大小
11 1
|
18天前
|
缓存 算法 Java
Java内存管理:优化性能和避免内存泄漏的关键技巧
综上所述,通过合适的数据结构选择、资源释放、对象复用、引用管理等技巧,可以优化Java程序的性能并避免内存泄漏问题。
25 5
|
21天前
|
Java
java 8 数组转字符串并以逗号分隔
java 8 数组转字符串并以逗号分隔
11 0