使用Java定义数组

使用Java定义数组一维数组和二维数组的定义及使用

目录

1.数组的创建

1.1语法

 1.2代码举例

1.3数组的使用

2.数组在方法的使用

 2.1基本用法

2.2引用类型

3. 数组作为方法的返回值

3.1传址

 3.2返回一个新的数组

 4.二维数组

4.1基本语法

 4.2遍历二维数组


1.数组的创建

1.1语法

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

 1.2代码举例

public class TestArray { public static void main(String[] args) { int [] array = {1,2,3,4,5}; int [] array2 = new int[3]; int [] array3 = new int[]{1,2,3}; } }

1.3数组的使用

求数组长度

public class TestArray { public static void main(String[] args) { int [] array = {1,2,3,4,5}; System.out.println(array.length);//求数组的长度 System.out.println(array[2]);//打印,下标从零开始 array[2] = 8; System.out.println(array[2]);//给下标为3的数重新赋值 } }

遍历数组

1.for循环,遍历数组 2.for-each 是for循环的另一种使用方式, 能够更方便的完成对数组的遍历,可以避免循环条件和更新语句写错 3.借助Java的操作数组的工具类 Arrays.toString :将参数的数组 以字符串的形式进行输出
public class TestArray { public static void main(String[] args) { int [] array = {1,2,3,4,5}; int[] array = {1,2,3,4,5}; //1、for循环 for (int i = 0; i < array.length; i++) { System.out.print(array[i]+" ");//遍历数组,即打印数组中的数 } System.out.println();//换行 //2、for -each for (int x: array ) { System.out.print(x+" "); } System.out.println(); //3、字符串形式打印 System.out.println(Arrays.toString(array)); } }

2.数组在方法的使用

 2.1基本用法

使用方法来遍历数组

int[] a
是函数的形参
,
int[] array 
是函数实参
.
如果需要获取到数组长度
,
同样可以使用
a.length
public class TestArray { private static void printf(int[] a) { for (int i = 0; i < a.length; i++) { System.out.print(a[i]+" "); } System.out.println(); } public static void main(String[] args) { int [] array = {1,2,3,4,5}; printf(array); } }

2.2引用类型

将函数的实参传到方法中的形参,如果形参中某个元素改变,实参也会跟着改变

如果在方法中new一个新的数组来接收,则地址会改变,如果我们要打印出来的话,是是不会影响到元数组的,即实参不会被影响

public class TestArray { public static void func1(int[] array) { array = new int[]{3,4,5,2,8};//定义了一个新的数组,地址不一样, //所以改变不了原本实参的数组 } public static void func2(int[] array) { array[0]=45;//使用的地址和原本是一样的,所以可以改变实参的数 } public static void main(String[] args) { int[] array = {1,2,3,4,5}; System.out.println("原数组:"+Arrays.toString(array)); func1(array); System.out.println("定义新数组:"+Arrays.toString(array)); func2(array); System.out.println("传形参数组:"+Arrays.toString(array)); } }

 使用Java定义数组

3. 数组作为方法的返回值

3.1传址

写一个数组,将数组的每一个元素加2;因为使用的是传址,在方法中加2时,原来的数组也会改变,这样就破坏了原来的数组。

public class TestArray { public static void add(int[] array) { //每个数组元素加2 for (int i =0; i < array.length; i++) { array[i] = array[i] + 2; } } //遍历数组 public static void printArray(int[] array) { for (int i = 0; i < array.length; i++) { System.out.print(array[i]+" "); } } //主函数 public static void main(String[] args) { int[] array = {1,2,3,4}; add(array); printArray(array); } }

 使用Java定义数组

 3.2返回一个新的数组

 new一个新的数组,是引用了原来数组的元素,不是引用原来数组的地址,所以返回的时候知识将这个数组的首元素返回给函数的调用者,没有拷贝数组的内容,从而更高效。

public class TestArray { //new新的数组,并且返回数组 public static int[] form(int[] array) { int[] arr = new int[array.length]; for (int i = 0; i < array.length; i++) { arr[i] = array[i] + 2; } return arr; } //遍历新的数组 public static void print(int[] array) { for (int i = 0; i < array.length; i++) { System.out.print(array[i]+ " "); } } //主函数 public static void main(String[] args) { int[] array = {1,2,3,4,5}; int[] put = form(array); print(put); } }

 使用Java定义数组

 4.二维数组

二维数组本质上也是一个一维数组,只不过每个元素又是一个一维数组

4.1基本语法

数据类型
[ ][ ]
数组名称
=
new
数据类型
[
行数
][
列数
] {
初始化数据 };

 4.2遍历二维数组

public class TestArray { public static int[][] Array(int[][] array1) { int[][] ret = new int[3][3]; for (int i = 0; i < array1.length; i++) { for (int j = 0; j < array1[i].length; j++) { ret[i][j] = array1[i][j]; } } return ret; } public static void main(String[] args) { int[][] array1 = { 
   {1, 2, 3}, {2, 3, 4}, {3, 4, 5}}; int[][] array2 = Array(array1); for (int i = 0; i < array1.length; i++) { for (int j = 0; j < array1[i].length; j++) { System.out.print(array2[i][j]+" "); } System.out.println(); } } }

  使用Java定义数组

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205352.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午6:13
下一篇 2026年3月19日 下午6:14


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号