栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java数组

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java数组

Java数组
  • 一.数组的基本用法
    • 1、数组的定义
    • 2、数组的基本使用
      • (1)获取数组的长度
      • (2)访问数组的元素
      • (3)下标越界
      • (4)遍历打印数组
  • 二.数组作为方法的参数
  • 三.二维数组
    • 1、定义方式
    • 2、打印二维数组
    • 3、不规则的二维数组

一.数组的基本用法 1、数组的定义

以下有几种定义数组的方式
(1)数据类型[ ] 数组名称 = {初始化数据};
示例如下:

int[] arr1 = {1,2,3};

(2)数据类型[ ] 数组名称 = new 数据类型[ ]
示例如下:

//初始化一个{0,0,0}的数组
int[] arr2 = new int[3];

(3)数据类型[] 数组名称 = new 数据类型[ ] {初始化数字}
示例如下:

int [] arr3 = new int[]{4,5,6};

其中第一种定义数组的方式是最常用的


2、数组的基本使用

以数组 int arr[] = {1,2,3}; 作为示例

(1)获取数组的长度

语法为: 数组名.length
例如 arr.length
返回的是数组的长度,此处返回为3

(2)访问数组的元素

语法为:数组名[序号] = 值;
例如 arr[0] = 100;
把原来1 的值改成 100

(3)下标越界

下标访问操作的有效范围为[0,length-1],若超出访问的范围就会发生下标越界异常
例如 要打印arr[100],就会发生下标越界的异常

(4)遍历打印数组

①for循环

for (int i = 0; i < arr.length; i++) {
	System.out.print(arr[i] + " ");
}

②for-each遍历数组(增强for循环)

for (int i : arr) {
	System.out.print(arr[i] + " ");
}

第一种和第二种的区别主要是:for循环可以拿到数组的下标,for-each拿不到数组的下标

③借助Java操作数组的工具类Arrays
用之前先导包 import java.util.Arrays;

//将参数的数组以字符串的形式进行输出
String ret = Array.toString(arr);
Ststem.out.println(ret);


二.数组作为方法的参数

Java里面的数组属于对象,当我们定义一个数组的时候,如 int[] arr1 = {1,2,3,4,5,6};
其中它的数组名 arr1 是引用变量(引用 指向 一个对象)存放在“栈”里面,它保存的是指向对象的地址,{1,2,3,4,5,6}是一个对象,它放在“堆”里面

画图理解一下:

而 int[] arr2 = null; 这个引用 不指向 任何的对象,不会为其分配内存


参数传数组类型的实例:

public static void main(String[] args) {
	int arr = {1,2,3,4,5,6};
	print(arr);//按引用传递,也可以叫做按值传递,传递的值是数组的地址
}

public static void print(int[] arr) {
	for(int i = 0; i < arr.length; i++){
		System.out.print(arr[i] + " ");
	}
	System.out.println();
}


三.二维数组 1、定义方式

(1) 数据类型[ ][ ] 数组名称 = {初始化数据};
示例如下:

int[][] arr1 = {{1,2,3},{4,5,6}};

(2)数据类型[ ][ ] 数组名称 = new 数据类型[ ][ ]{初始化数据};
示例如下:

int [][] arr2 = new int[][]{{1,2,3},{4,5,6}};

(3)数据类型[ ][ ] 数组名称 = new 数据类型[行数][列数 ];
示例如下:

int [][] arr3 = new int[2][3];

2、打印二维数组

二维数组实际上是一个特殊的一维数组,在Java里面可以体现得淋漓尽致
例如,int[ ][ ] arr = {{1,2,3},{4,5,6}}; 是以下图的方式保存的

所以其打印的方式为:

import java.util.Arrays;

public class Main{
	public static void main(String[] args){
		int [][] arr = {{1,2,3},{4,5,6}};
		
		//验证
		System.out.println(arr.length);
		System.out.println(arr[0].length);
		
		//(1)for循环打印数组
		for(int i = 0; i < arr.length; i++){
			for(int j = 0; j < arr[i].length; j++){
				System.out.print(arr[i][j] + " ");
			}
			System.out.println();
		}
		System.out.println("===============");

		//(2)for-each打印数组
		for (int[] ret : arr){
			for(int x : ret){
				System.out.println(x + " ");
			}
		}
		System.out.println("===============");

		//(3)引用Arrays包
		System.out.println(Arrays.deepToString(arr));
	}	
}

3、不规则的二维数组

例如:

int[][] arr = new int[2][];//Java可以省略列,不能省略行
arr[0] = new int[3];
arr[1] = new int[2];

图示为:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/358097.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号