java——数组

  • 数组的定义

数组是一个含有多个值的列表,每个值存在于数组中特定的,具有编号的位置。

数组可以用来管理多个相同类型的数据。

  • 数组的声明

java中数组本身就是对象,可以使用new运算符进行实例化

  • 数组的声明方式

(1)第一种方式为仅给定数组的长度的声明

元素类型[ ] 数组名 = new 元素类型[ 数组长度]

示例: int[ ] date = new int[5];

(2)第二种方式是直接声明同时直接给出了初始数据

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

示例:int[ ] data = {1,2,3....}

(3)第三种方式其实是第二种方式的完整版编写

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

int[ ] date = new int[ ] {1,2,3....}

等价声明(推荐使用第一种格式,其更具有可读性)

doublie[ ] data;

doublie data[ ];

  •  数组的引用

数组中储存的值称为数组元素,数组元素类型可以是基本类型或者对象引用。

可以创建整型数组,字符数组,字符串数组,某对象数组等。

通过数组名和括号中的索引值可以引用数组中的某个值,如date[2],就表示引用了date数组中的第3个值 68.

  • 边界检查

一旦数组被建立,数组就具有固定大小,每个数组对象都有一个公有的常量length,用于存储数组大小。

可以通过数组名来引用date.length.

数组在建立的时候要求固定大小,索引范围是0到length-1,所以数组有一个功能那就是自动边界检查。

例如:数组date存储8个值,那么其索引范围是0-7,那么下面的引用将抛出一个数组索引越界异常。

  • 对象数组

如果有某类oneClass,则可以声明数组的示例方式如下:

oneClass[ ] mc = new oneClass[100];

oneClass[0] = new oneClass();

第一行:数组元素可以声明对象引用,即对象引用,即对象数组

                (声明对象数组时,对象数组存储的是空引用,存储在数组中的每个对象必须被单独实例化)

第二行:是对其中一个对象进行实例化

不做实例化的示例:

String[ ] remark = new String[4];

System.out.println(remark[0]);

该代码抛出空指针异常(NullPointerException),因为第一行语句仅声明4个String对象引用分配空间,但是并不创建String对象本身。

明显看到了其实remark指示的地方是null

解决该异常就是需要将存储在数组中的每个对象单独实例化

remark[0] ="诚实比聪明更要紧";

remark[1] =".....";

remark[2] =".....";

remark[3] =".....";

remark指示的地方是一个地址引用了,而不是null数据。

  • 数组参数
import java.util.Arrays;

public class Main {
	public static void main(String[] args) {
		int[ ] array = {10,20,30,40};
		System.out.println("数组实参地址是:"+array);
		System.out.println(Arrays.toString(array));
		printArray(array);
		System.out.println(Arrays.toString(array));
	}

	public static int[] printArray(int[] array) {
		// TODO Auto-generated method stub
		System.out.println("数组形参地址是:"+array);
		for (int i = 0; i < array.length; i++) {
			array[i]++;
		}
		return array;
	}
}

将array 作为数组传入到printArray()中,展示了数组作为参数进行传值时,传递的是数组地址,方法内部改变了数组元素,则原数组同时会发生变化。

Java中,数组是一种用于存储多个相同类型的数据的数据结构。数组的用法包括声明、初始化、访问和遍历。 1. 声明数组:可以使用以下方式声明数组: - `int[] arr;`:声明一个整型数组 - `String[] names;`:声明一个字符串数组 - `double[] scores;`:声明一个双精度浮点数数组 2. 初始化数组:可以使用以下方式初始化数组: - `arr = new int;`:初始化一个长度为5的整型数组 - `names = new String[]{"Alice", "Bob", "Charlie"};`:初始化一个包含指定元素的字符串数组 - `scores = {98.5, 87.0, 92.5};`:简化形式的初始化数组 3. 访问数组:可以使用索引来访问数组中的元素,索引从0开始计数。例如,`arr`表示数组中的第一个元素,`names`表示数组中的第三个元素。 4. 遍历数组:可以使用循环结构来遍历数组中的所有元素。例如,可以使用for循环来遍历整型数组: ``` for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } ``` 5. 数组拷贝:可以使用`System.arraycopy()`方法或`Arrays.copyOf()`方法来进行数组的拷贝操作。 6. 数组排序:可以使用`Arrays.sort()`方法对数组进行排序。 7. 不规则数组Java中也支持不规则数组,即数组中的元素可以是数组。例如,可以创建一个二维数组`int[][] array`,其中每个元素都是一个一维数组。可以通过循环嵌套来遍历和访问不规则数组中的元素。 以上是Java数组的基本用法。可以根据具体的需求和情况使用数组来存储和处理数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Java——数组的使用](https://blog.csdn.net/qq_59599094/article/details/127728786)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值