java数组
1.数组的使用
- 数组使用通常用于以下几种
- 普通的for循环:普通的for循环是使用最多的,从数组取出数据或者下标操作。
- for-Each循环:增强型的for循环,前一个参数代表数组中的每一个元素,后一个参数代表数组名可遍历输出所有数组元素,但是无法取得下标,一般用来打印一些结果。
- 数组作方法入参 :数组作参数,可对数组进行操作
- 数组作返回值 :一般用于反转数组,对数组修改一下,返回一个新的数组。
1.1 数组基本使用演示:
package array;
// 数组的简单使用
public class ArrayDemo04 {
public static void main(String[] args) {
int[] a={3,4,5,8,6};
//打印数组中的元素
for (int i = 0; i <a.length ; i++) {
System.out.println(a[i]);
}
//计算数据的和
int sum=0;
for (int i = 0; i <a.length ; i++) {
sum=a[i]+sum;
//sum+=a[i]; //精简写法
}
System.out.println("sum = " + sum);
//查找数组最大值
int max=a[0];
for (int i = 1; i <a.length ; i++) {
if (a[i]>max){
max=a[i];
}
}
System.out.println("最大的数:"+max);
}
}
运行结果
3
4
5
8
6
sum = 26
最大的数:8
———————————————————————————————————————————————————————————
1.2数组进阶使用演示:
package array;
//数组的进阶使用
public class ArrayDemo05 {
public static void main(String[] args) {
int[] a={1,2,3,4,5,6};
//for-Each 循环
//JDk 1.5 没有下标
for (int i : a) {
System.out.println(i);
}
System.out.println("========================");
print(a);//使用数组作参数,打印数组中元素
int[] results= resver(a);
System.out.println(results);//打印的是results中的地址
print(results);
}
//数组调用中传参
public static void print(int[] B){
for (int i = 0; i <B.length ; i++) {
System.out.println(B[i]);
}
System.out.println("=============");
}
// 反向数组
public static int[] resver(int[] a){
int[] result=new int[a.length];//需要定义一个新数组来接收原数组中的元素
//反转的操作过程
// 初始化 布尔表达式 更新语句
for (int i = 0 ,j=result.length-1; i <a.length; i++,j--) {
result [j]=a[i];
}
return result;//反转数组元素:数组作为返回值,即返回的是一个数组类型的变量名
}
}
运行结果
1
2
3
4
5
6
========================
1
2
3
4
5
6
=============
[I@1b6d3586
6
5
4
3
2
1
=============
2.多维数组
- 多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。
- 二维数组定义
int[][] a=new int[2][5];
int[][] b={{1,2},{2,4},{4,6},{6,9,7,8}};
- 解析:以上二维数组 a 可以看成一个两行五列的数组。
- 获取数组长度
- a.length
- a[i].length
2.1 多维数组使用演示:
package array;
public class ArrayDemo06 {
public static void main(String[] args) {
int[][] a=new int[2][5];
int[][] b={{1,2},{2,4},{4,6},{6,9,7,8}};
System.out.println(b[2][1]); // 结果为6
//[4][2] //一维数组的每个元素是一个数组,且每个数组中包含两个元素
/*
* 1,2 b[0]
* 2,4 b[1]
* 4,6 b[2]
* 6,9 b[3]
*
*
* */
//获取数组长度
// a.length
// a[i].length
//二维数组的遍历
for (int i = 0; i <b.length ; i++) {
for (int j = 0; j < b[i].length; j++) {
System.out.print(b[i][j]+"\t");
}
System.out.println();
}
prinarray(b[0]);
}
public static void prinarray(int[] arry){
for (int i = 0; i <arry.length ; i++) {
System.out.print(arry[i]+" ");
}
}
}
运行结果
6
1 2
2 4
4 6
6 9 7 8
1 2
———————————————————————————————————————————————————————————