[java]数组的定义和使用

本文介绍了Java中的数组概念、创建及使用方法,包括获取数组长度、访问元素和打印数组的常见方式。深入探讨了引用类型,展示了如何在函数中修改数组元素的影响。此外,还讲解了null的含义以及JVM内存的五大部分:虚拟机栈、本地方法栈、堆、方法区和程序计数器。
摘要由CSDN通过智能技术生成

基本概念

什么是数组

数组是存放一组相同数据类型的集合

创建数组

//静态初始化
数据类型[ ] 数组名 = { 初始化数据 };
//动态初始化
数据类型[ ] 数组名 = new 数据类型 [ ] { 初始化数据};
例:

int[] array1 = {1,2,4};
int[] array2 = new int[]{1,2,3};//定义一个数组,并且初始化

注意:
[ ]中不可以写具体数字

数组的使用

获取数组长度&访问元素

int[] arr = {1,2,3};
//获取长度
System.out.println("数组的长度为:"+arr.length); //结果:3
//访问元素
System.out.println(arr[1]); //结果:2
arr[2] = 99;
System.out.println(arr[2]);//结果:99

注意:
数组下标从0开始
下标访问操作不能超出有效范围
[0,length-1]
否则会造成下标越界:
java.lang.ArrayIndexOutOfBoundsException异常

打印数组的三种方式

1.for循环打印数组

int[] arr ={1,4,5,3};
for(int i=0;i<arr.length;i++) {
   System.out.println(arr[i]);
 }
for(int x : arr) {
  System.out.println(x+" ");
}

3.使用Arrays.toString()

System.out.println(Arrays.toString(arr));

注意:
1.

理解引用类型

数组也属于引用类型
代码示例:

public class test {
public static int[] func(int[] arr) {
  arr[2]=24;
  System.out.println("arr[2]="+arr[2]);
  }
public static void main(String[] args) {
  int[] array = {1,2,3,4};
  func(array);
  System.out.println("array[2]="+array[2]);
 }
}
//执行结果
arr[2]=24;
array[2]=24;

1.在函数内部中修改数组中的元素,函数外部也发生了改变。
2.数组名存放在栈中,数组元素存放在堆中。
3.引用相当于c语言的指针,创建一个引用相当于创建了一个变量,这个变量里存放的是内存中的一个地址(堆中的一个内存空间的地址)。
3.传参实际上就是将地址传给了方法中的形参,所以在方法修改数组内容,也会改变主函数中的数组内容。

认识null

null在java中表示 “空引用”,也就是一个无效的引用
类似于c语言中的空指针,都表示一个无效的内存空间,因此不能对这个内存进行读写操作。否则会抛出 NullPointException

JVM内存划分

java虚拟机栈、本地方法栈、堆、方法区、程序计数器
java虚拟机栈(JVM Stack):平时所说的栈
本地方法栈(Native Method Stack):用来存储本地方法的变量(本地方法:底层是c/c++代码实现的方法,特征:被Native所修饰,特点:速度快)
:JVM中最大的空间,存储对象,使用new创建的对象都是在堆上进行保存
方法区
程序计数器:存放下一条执行的指令的地址
堆是整个JVM共享一个,栈是每个线程具有一份

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值