news 2026/5/30 7:19:58

Java数组、方法与内存

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java数组、方法与内存

一、数组

数组,用来存储同种数据类型的多个值。

1.数组的静态初始化

(1)初始化

初始化是指在定义变量、数组、对象的时候进行赋值。

(2)静态

静态是指在定义变量、数组、对象的时候,数据是静止的、确定的。

(3)静态初始化

在创建数组时,直接给数组赋值。

//格式

数据类型 数组名[] = new 数据类型[]{数据值,数据值...};

//简写格式

数据类型 数组名[] = {数据值,数据值...};

(4)特点

①数组在内存中是连续的空间;

②数组一旦定义完毕,长度是不可以改变的。

2.数组的元素访问

(1)索引

索引就是数组的一个编号,也叫做:角标、下标、编号;从0开始,不间断。

(2)元素的获取和修改

//获取格式

变量 = 数组名[索引];

//修改格式

数组名[索引] = 数据值;

3.数组的遍历

数组的遍历常使用for循环。

*在Java中,可以用数组名.length来获取数组长度。

*遍历数组的快速生成方式:数组名.fori+回车。

4.数组的动态初始化

(1)动态

动态是指在定义变量、数组、对象时,数据时不确定的。

(2)初始化

创建数组的时候,直接给数组赋值。

(3)动态初始化

在Java中,动态初始化指在创建数组时指定长度,由系统分配默认的初始值。

数据类型默认值
整型0
浮点数0.0
字符\u0000(空格)
布尔false
引用null

//格式

数据类型 数组名[] = new 数据类型[长度];

5.数组的常见问题

(1)数组索引越界

数组索引最小为0,最大为数组长度-1,若超出数组索引范围,则会报错。

二、方法

程序中的独立功能,也是最小的执行单元。

1.应用场景及好处

(1)使用场景

将经常使用的代码包装起来放在方法中。

(2)好处

提高代码的复用性和可维护性。

2.方法的格式

//定义格式 public static 返回值类型 方法名(参数1,参数2...){ 方法体; return 返回值; } //调用格式 方法名(参数1,参数2...);

3.方法的重载

同一个类中定义了多个重名的方法,这些方法具有类似的功能,每个方法具有不同的参数类型和参数个数,这些重名的方法就构成了重载关系。

理解:同一个类,方法名相同,参数不同(个数、类型、顺序),无需看返回值。

4.注意事项

(1)实参和形参

方法调用时的参数是实参,方法定义中的参数为形参。实参要和形参一一对应。

(2)return

结束方法运行,并将结果返回方法的调用处。

(3)定义方法

①将反复使用的独立功能包装成方法;

②参数是实现方法所需的数据;

③返回值由方法调用处是否需要返回值,需要什么返回值决定。

(4)方法调用

①方法不调用就不执行;

②方法与方法之间是平级关系,不能嵌套定义;

③调用方法会优先调用实参和形参一一对应的方法,如果没有会进行隐式转换;如果存在多种方法的隐式转换的次数一样,程序则会报错。

(5)void

如果没有返回值,可以省略return不写;如果不省略,return后面不能写具体数据,仅表示结束方法。

二、Java原理

1.Java的运行机制

.java后缀文件通过编译生成.class为后缀的字节码文件再运行。Java运行是在Java虚拟机里面完成的。借助不同的虚拟机可以实现跨平台。

(1)内存

软件在运行时,用来临时存储数据。

(2)内存地址

①在32位的操作系统,内存地址以32位的二进制表示;

②在64位的操作系统,内存地址以64位的二进制表示,系统显示为十六进制。

③方便快速管理内存空间。

2.Java内存分配规则

(1)栈内存

每个线程都有自己独立的栈,目前只要考虑一个即可,方法被调用进栈执行,执行完毕出栈。

(2)堆内存

所有线程共享,存储对象、数组、字符串常量池。用new关键字创建的。

(3)方法区

存储字节码信息。

(4)本地方法栈

调用本地Native方法。

(5)程序计数器

每个线程独立、记录当前线程执行的字节码指令地址(行号)。

(6)基本数据类型

变量里面记录的是真实的数据,传递的也是真实的数据。

(7)引用数据类型

变量里面记录的是地址,通过地址在堆里找到对应的数据。传递的也是内存的地址。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 7:14:05

MATLAB交通视频车辆计数+实时折线图生成(含测试视频和GUI界面)

本文还有配套的精品资源,点击获取 简介:直接运行matlab.m就能处理AVI格式的交通监控视频,自动检测运动车辆、逐帧识别并累计车流量,标定车辆位置区域,输出精确计数结果;程序内置图形界面(mat…

作者头像 李华
网站建设 2026/5/30 7:13:57

倍速链与滚筒线如何选型?核心区别与适用场景解析

做自动化输送设备选型和落地调试这么多年,我发现一个很普遍的现象。很多工厂负责人分不清倍速链和滚筒线的实际差异,只看外观都是长条式输送设备,要么图省钱统一选用滚筒线,到了精密装配环节频频出问题;要么盲目跟风装…

作者头像 李华
网站建设 2026/5/30 7:11:56

告别手动rpm!用Ansible在银河麒麟V10集群里批量部署MySQL 8.0

告别手动rpm!用Ansible在银河麒麟V10集群里批量部署MySQL 8.0在国产化操作系统浪潮中,银河麒麟V10凭借其安全稳定的特性,正逐步成为企业级基础设施的新选择。当面对数十台甚至上百台服务器需要部署MySQL数据库时,传统的手动安装方…

作者头像 李华
网站建设 2026/5/30 7:03:06

住宅IP与机房IP的区别及技术选型指南

在跨境网络访问、数据采集、账号安全等业务中,选择合适的IP类型至关重要。本文从技术原理、来源、特征、适用场景等角度,系统梳理住宅IP与机房IP的核心差异,并提供选型思路,帮助开发者做出合理决策。一、两类IP的本质区别维度住宅…

作者头像 李华