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();
          }
      }
  }
}

 

posted @ 2022-04-16 21:32  zjw_rp  阅读(77)  评论(0)    收藏  举报