怎么在Java中定义与使用数组

发布时间:2021-01-15 15:02:54 作者:Leah
来源:亿速云 阅读:140

这期内容当中小编将会给大家带来有关怎么在Java中定义与使用数组,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

数组与方法调用

数组是一个引用数据类型,那么所有的引用数据类型都可以为其设置多个栈内存指向。所以在进行数组操作的时候,也可以将其通过方法进行处理。

范例: 方法接受数组

public class ArrayDemo {
	public static void main(String args[]) {
			int data[] = new int[] {1, 2, 3};
			printArray(data);

	}
	//定义一个专门进行数组输出的方法
	public static void printArray(int temp[]) {
		for (int i = 0; i < temp.length; i++) {
			System.out.print(temp[i] + "、");
		}		
	}
}

在方法的参数上由于需要接受一个整型数组,所以就实现了一个最为基础的引用传递操作。

范例: 方法返回数组

public class ArrayDemo {
	public static void main(String args[]) {
			int data[] = init(); //接受数组
			printArray(data);
	}
	
	//此时的方法希望可以返回一个数组类型,所以返回值类型定义为整形数组
	public static int[] init() {
		return new int[] {1, 2, 3, 4, 6};
	}

	//定义一个专门进行数组输出的方法
	public static void printArray(int temp[]) {
		for (int i = 0; i < temp.length; i++) {
			System.out.print(temp[i] + "、");
		}		
	}
}

那么现在的数组上发生了引用传递,那么也就意味着方法接受数组之后也可以对数组进行内容修改。

范例: 定义一个方法,该方法可以实现数组的内容的乘2

public class ArrayDemo {
	public static void main(String args[]) {
			int data[] = init();
			inc(data);
			printArray(data);
	}
	
	public static void inc(int arr[]) {
		for(int x = 0; x < arr.length; x++)
			arr[x] *= 2;
	}

	//此时的方法希望可以返回一个数组类型,所以返回值类型定义为整形数组
	public static int[] init() {
		return new int[] {1, 2, 3, 4, 6};
	}

	//定义一个专门进行数组输出的方法
	public static void printArray(int temp[]) {
		for (int i = 0; i < temp.length; i++) {
			System.out.print(temp[i] + "、");
		}		
	}
}

怎么在Java中定义与使用数组

Java对数组的支持

在Java本身给出的类库之中也提供有对于数组的操作的相关支持方法。

1、数组排序:java.util.Arrays.sort(数组名称);

范例: 实现数组排序操作

public class ArrayDemo {
	public static void main(String args[]) {
		int data[] = new int[] {5, 13, 1, 55, 77};
		char arr[] = new char[] {'D', 'C', 'F'};
		java.util.Arrays.sort(data);
		java.util.Arrays.sort(arr);
		printArray(data);
		printArray(arr);
	}

	//定义一个专门进行数组输出的方法
	public static void printArray(int temp[]) {
		for (int i = 0; i < temp.length; i++) {
			System.out.print(temp[i] + "、");
		}
		System.out.println();
	}
	public static void printArray(char temp[]) {
		for (int i = 0; i < temp.length; i++) {
			System.out.print(temp[i] + "、");
		}
		System.out.println();
	}
}

只要是基本数据类型的数组,Arrays.sort()都可以轻松地实现排序处理。

2、数组拷贝:指的是将一个数组的部分内容替换掉另外一个数组的内容

方法(加工):System.arraycopy(原数组名称, 原数组开始点, 目标数组名称, 目标数组开始点, 拷贝长度)
范例: 实现数组拷贝

原数组A:1、2、3、4、5、6、7、8、9;

原数组B:11、22、33、44、55、66、77、88、99;

替换后的数组A:1、55、66、77、5、6、7、8、9;

 public class ArrayDemo {
	public static void main(String args[]) {
		int dataA[] = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9};
		int dataB[] = new int[] {11, 22, 33, 44, 55, 66, 77, 88, 99};
		System.arraycopy(dataB, 4, dataA, 1, 3);
		printArray(dataA);
	}
	//定义一个专门进行数组输出的方法
	public static void printArray(int temp[]) {
		for (int i = 0; i < temp.length; i++) {
			System.out.print(temp[i] + "、");
		}
		System.out.println();
	}
}

这些基本的数组操作只能够作为逻辑玩玩,开发用不上。

数组数据统计

现在假设给你一个数组,要求可以统计该数组的最大值、最小值、平均值、总和。这种操作肯定是要通过循环的操作形式完成。

范例: 基本实现

public class ArrayDemo {
	public static void main(String args[]) {
		int data[] = new int[] {1, 2, 3, 4, 66, 5, 6, 7, 8, 9};
		int max = data[0];
		int min = data[0];
		int sum = 0;
		for(int x = 0; x < data.length; x++) {
			sum += data[x];
			if(data[x] > max) 
				max = data[x];
			if(data[x] < min)
				min = data[x];
		}
		System.out.println("最大值:" + max);
		System.out.println("最小值:" + min);
		System.out.println("数据总和:" + sum);
		System.out.println("平均值:" + (double)sum/data.length);
	}
}

此时确实实现了所需要的功能,但是随之会发现主方法中的代码有些多。主方法实际上就相当于一个客户端调用,那么既然是客户端调用,里面的代码应该也越简单越好。

范例: 改进代码

public class ArrayDemo {
	public static void main(String args[]) {
		int data[] = new int[] {1, 2, 3, 4, 66, 5, 6, 7, 8, 9};
		double result[] = stat(data);
		System.out.println("最大值:" + result[0]);
		System.out.println("最小值:" + result[1]);
		System.out.println("数据总和:" + result[2]);
		System.out.println("平均值:" + result[3]);
	}

	//此时需要返回的数据一共有四个,那么一个方法只能够返回一种数据类型,所以应该使用数组返回
	//数组[0]为最大值、数组[1]为最小值、数组[2]为数据总和、数组[3]为平均值
	public static double[] stat(int data[]) {
		double reData[] = new double[4];
		reData[0] = data[0];
		reData[1] = data[0];
		reData[2] = data[0];
		for(int x = 1; x < data.length; x++) {
			reData[2] += data[x];
		if(data[x] > reData[0]) 
			reData[0] = data[x];
		if(data[x] < reData[1])
			reData[1] = data[x];
		}
		reData[3] = reData[2] / data.length;
		return reData;
	}
}

在整个进行程序开发的时候,主方法不要涉及到过于复杂的逻辑程序,只需要关注结果。

上述就是小编为大家分享的怎么在Java中定义与使用数组了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. java怎样定义数组
  2. java中怎么定义数组

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java 数组

上一篇:利用C#怎么实现一个颜色渐变窗体控件

下一篇:怎么在c#中利用ELMAH日志组件对异常进行处理

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》