java 基础 18 多维数组
格式:数组类型
1. 将第一个括号称为“行维”。
2. 第二个称为数组的“列维”。
3. 访问二维数组的元素时提供行下标和列下标。
注意:对于非等长数组,由于各列元素不一样,所以只能采取各列分列创建的方式。
-
二维数组的访问:1. 提供行和列下标,通过双重循环结构来遍历。
2. 从键盘录入数组元素赋初值: 格式:数组名[i] [j]=键盘类获取值 ;
-
数组与方法:利用传递数组的首地址来间接达到传递一批值的目的,数组名是一个地址常量,
也代表整个数组的首地址。
首地址:1. 地址传递是参数在内存的额地址传递。
2. 在内存中,形参和实参同时指向同一个的存储单元。
3. 方法调用结束时,形参被释放,但实参还指向这个存储单元,因此在方法中对相应形参数
import java.util.Scanner;
public class array
{
public static int [] inarr()
{
int i;
Scanner input=new Scanner(System.in);
System.out.print("请输入数组的长度:");
int n=input.nextInt();
int y[]=new int[n];
System.out.println("请输入"+y.length+"个数组元素:");
for (i=0;i<y.length;i++)
y[i]=input.nextInt();
return y;
}
public static void outarr(int y[])
{
for(int i=0;i<y.length;i++)
System.out.print(y[i]+" ");
}
public static void sortarr(int y[])
{
int temp; //临时变量
for(int i=1;i<y.length;i++) //比较趟次
{
for (int j=0;j<y.length-i;j++) //在某趟中逐对比较
{
if (y[j]<y[j+1])
{ //交换位置
temp=y[j];
y[j]=y[j+1];
y[j+1]=temp;
}
}
}
}
public static void main (String[] args)
{
int x[]=inarr();
sortarr(x);
outarr(x);
}
}
public class array
{
public static void main(String[] args)
{
/*
* 1,2 array[0]
* 2,3 array[1]
* 3,4 array[2]
* 4,5 array[3]
*/
int [] [] array= {{1,2},{2,3},{3,4},{4,5}};
printArray(array);
System.out.println(array[0][1]);//2
System.out.println(array[2][1]);//4
reuse(array);
}
public static void printArray(int [] [] arrays)
{
for (int i = 0; i < arrays.length; i++)
{
System.err.println(arrays [2] [0]);//3 3 3
}
}
public static void reuse(int [] [] array)
{
for (int i = 0; i < array.length; i++)
{
for (int j = 0; j < array[i].length; j++)
{
System.out.print(array[i][j]); //1 2 2 3 3 4 4 5
System.out.println();
}
}
}
}

浙公网安备 33010602011771号