java中的数组基础

java中的数组

数组的定义

java中数据又两种定义格式。

  • 第一种 数据类型[] 变量名 (推荐使用)
    int[] arr;
    byte[] arr;
    double[] arr;
  • 第二种 数据类型 变量名[]
    int arr[];
    byte arr[];
    double[] arr;

数组的初始化

java中的数组初始化分为两种, 一种是动态初始化, 另一种是静态初始化

索引

数组中元素的编号, 从0开始, 可以用来访问数组中的元素格式:arr[0], arr[1];

动态初始化

java数组的动态初始化,在初始化时给定数组长度, 由系统为元素默认赋值。
java的动态初始化格式 数据类型[] 变量名 = new 数据类型[长度];

public class ArrayInit01 {
	public static void main(String[] args) {
		int[] arr = new int[3];
		// int: 说明数组中的元素是int类型的
		// []: 说明这是一个数组
		// arr: 数组的名称
		// new: 为数组申请内存空间
		// int: 说明数组元素是int类型
		// [3]: 说明数组的长度是3
		System.out.println(arr); // 指针
		System.out.println(arr[0]); // 0
		System.out.println(arr[1]); // 0
		System.out.println(arr[2]); // 0
	}
}

动态初始化,各数据类型系统默认赋值

  • 整数型(byte, short, int): 0
  • 浮点型(float, double): 0.0
  • 字符型(char): 空串
  • 布尔型(boolean): false
  • 引用类型: null
静态初始化

在创建数组时, 直接将数组中的元素确定。
java中数组静态初始化的格式: int[] arr = {1,2,3,4};

public class ArrayInit02 {
	public static void main(String[] args) {
		int[] arr = {1, 2, 3, 4};
		System.out.println(arr[0]); // 1
		System.out.println(arr[1]); // 2
		System.out.println(arr[2]); // 3
		System.out.println(arr[3]); // 4
	}
}

内存分配

程序编写好之后是放在硬盘中, 如果程序要执行,必须放进内存中, 运行完之后会清空内存。JVM(java虚拟机)要运行程序, 必须对内存进行空间管理和分配。

目前只需要掌握栈内存和堆内存的概念。

1.栈内存
方法运行时使用的内存,比如main方法运行,进入方法栈中执行。基本数据类型都直接存储在栈内存中。

2.堆内存
存储对象或者数组,new来创建的,都存储在堆内存。

数组内存的结构

public class ArrayStorage {
	public static void main(String[] args) {
		// new 申请堆内存空间。分配指针,赋值到arr变量
		int[] arr = new int[3] 
		// arr 变量在栈内存空间只存储了指针
		System.out.println(arr);  // 指针
		/* 
			访问数组中的元素步骤:
			1. 通过arr变量的指针访问到堆内存空间
			2. 同过索引访问到元素
		*/
		System.out.println(arr[0]);
		
		/*
			将arr赋值给arr2, 是将arr的指针赋值给arr2
			此时arr和arr2指向同一个堆内存空间。
			改变arr2中元素的内容会同时改变arr的元素
		*/
		int[] arr2 = arr;
		arr2[0] = 999;
		arr2[3] = [999]
		System.out.println(arr[0]); // 999
		System.out.println(arr[3]); // 999
	}
}

解释不够清楚, 可以百度找点图来辅助理解。

数组常见的小问题

  1. 索引越界: 使用了数组中不存在的索引。ArrayIndexOutOfBoundsException
  2. 空指针异常: 数组为null ,指针在堆中找不到空间。NullPointerException
public class ArrayQuestion {
	public static void main(String[] args) {
		int[] arr = {1,2,3,4};
		// System.out.println(arr[5]); 报错
		arr = null;
		System.out.println(arr[0]); // 报错
	}
}

数组的常见操作

  1. 遍历数组: 访问数组中所有的元素, 通常使用循环来完成。 数组名.length: 数组中元素的个数。
  2. 求最大值: 获取数组中最大的数。
public class ArrayTest {
	public static void main(String[] args) {
		int[] arr = {23,43,77,11};
		// 使用for循环遍历数组, 输出所有数组元素
		for(int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
		// 判断出数组中最大的数
		int max = 0;
		for (int j = 0; j < arr.length; j++) {
			if (arr[j] > max) {
				max = arr[j];
			}
		}
		System.out.println("数组中最大的数是: " + max);
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java数组是一种存储多个相同数据类型的变量的容器。它可以用来存储基本数据类型,例如int、float等,也可以用来存储对象。在Java数组是对象,因此它有一些特殊的属性和方法。 创建数组的语法格式如下: ``` 数据类型[] 数组名; 或 数据类型 数组名[]; ``` 例如: ``` int[] arr; 或 int arr[]; ``` 初始化数组 ``` 数据类型[] 数组名 = new 数据类型[数组长度]; ``` 例如: ``` int[] arr = new int[5]; ``` 访问数组元素 ``` 数组名[下标]; ``` 例如: ``` arr[0] = 1; ``` 请注意,在Java数组的下标是从0开始的。 我希望这对你有帮助。 ### 回答2: Java是一门非常流行的编程语言,它以其良好的跨平台性和强大的面向对象特性被广泛使用。在Java编程数组是一个非常基础的概念。在educoder的Java入门课程,也着重讲解了数组的相关知识。以下是我对Java入门数组基础的一些理解和总结: 1. 数组是一组相同类型的数据元素的集合,它们在存储空间上是连续的。 2. 声明数组需要指定数组类型和数组名,例如:int[] numArray; 3. 数组元素的下标从0开始,例如numArray[0]表示数组的第一个元素。 4. 可以通过循环结构遍历数组的所有元素,例如: for(int i=0;i<numArray.length;i++){ System.out.println(numArray[i]); } 5. 数组也可以作为方法的参数传递,例如: public static void printArray(int[] arr){ for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } } 6. Java提供了一些方便的数组操作方法,例如: Arrays.sort(numArray); //对数组进行升序排序 Arrays.fill(numArray,0); //将数组所有元素赋值为0 7. 多维数组是由一维数组作为元素的数组,可以看做数组数组。例如: int[][] matrix = new int[2][3]; matrix[0][0] = 1; matrix[1][2] = 2; 在使用数组时,我们需要注意数组越界等问题,同时要注意数组的初始化和赋值。掌握数组基础知识,可以为我们后续的Java编程打下良好的基础。 ### 回答3: Java是一种高级编程语言,可以用于多种应用程序的开发。其数组Java最常用的数据结构之一,也是Java编程比较基础的概念之一。 数组是一组相同类型的数据的集合,这个集合的每个数据项都有自己的索引(下标),可以通过索引来访问和修改数组的元素。通过使用数组,可以快速地将一组数据存储在内存,并对它们进行操作和管理。 Java数组是由一个固定长度的有序元素序列组成。在Java数组的长度是固定不变的,一旦初始化后,就不能再改变数组的长度。 在Java数组的声明和初始化很简单。例如,可以创建一个整形数组,它的长度是10,用以下代码表示: int[] arr = new int[10]; 这个数组被声明为一个整数数组,它的长度是10。其,int[]是数组类型的声明,arr是数组的名称,new int[10]是数组元素的类型和数量。 此外,Java还提供了许多有用的数组操作方法,如数组拷贝,数组排序,数组查找等等。使用这些方法可以使得对数组的操作更加方便和高效。 总之,掌握数组的基本概念和使用方法是Java编程的重要基础之一,对于想要学习Java编程的初学者来说,建议先从简单的数组基础开始学习,逐步深入掌握Java编程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值