1. 程式人生 > >一元陣列與二元陣列

一元陣列與二元陣列

一元陣列

陣列的宣告

1,型別 [] 陣列名 2,型別 陣列名 []

分配空間

陣列名=new 型別 [長度]; 注意:1,2步可以合在一起寫
    char cs[]=new char[5];

陣列賦值

陣列名 [下標]=數值; 例如: cs[0]=1; cs[1]=2; ...... or int[] arr = new int[]{1,1,1,1,1,1};  or 型別 [] 陣列名={值,值,......};   變形:
   Scanner sc=new Scanner(System.in);
   for(int i=0;i<cs.length;i++){
    cs[i]=(char)sc.nextByte();
   }

陣列使用小練習:

package pp; public class p {  public static void main(String[] args) {
  // TODO Auto-generated method stub
  // int[] arr = new int[]{1,1,1,1,1,1};
  int[] arr = new int[5];
  int[] b = new int[5];
  arr[0] = 5;
  b[0] = 6;
  b[3] = 15;   System.out.println("arr[0] = " + arr[0]);
  System.out.println("arr[3] = " + arr[3]);   arr = b;// 更改arr的指向   System.out.println("arr[0] = " + arr[0]);
  System.out.println("arr[3] = " + arr[3]);
  System.out.println("b[3] = " + b[3]);
  System.out.println("b[0] = " + b[0]);   b = null;// b無指向   System.out.println("arr[0] = " + arr[0]);
  System.out.println("arr[3] = " + arr[3]);
//   System.out.println("b[3] = "+b[3]);//以視為垃圾
//   System.out.println("b[0] = "+b[0]);  } }

進位制轉換

  1. import java.awt.print.Printable;  
  2. import java.util.Arrays;  
  3. import java.util.Scanner;  
  4. import javax.swing.text.DefaultEditorKit.InsertBreakAction;  
  5. import org.omg.CosNaming.NamingContextExtPackage.AddressHelper;  
  6. /* 需求:  
  7.  * 獲取一個整數的X進位制的表現形式  
  8.  * */  
  9. public class Main   
  10. {  
  11.     public static void main(String[] args)  
  12.     {  
  13.         Scanner cin = new Scanner(System.in);  
  14.         int num = cin.nextInt();  
  15.         int ary[] = new int[8];  
  16.         getx(num,ary,15,4);//16進位制  
  17.         System.out.println("16進製表現形式如下:");  
  18.         print(ary);  
  19.         int bry[] = new int[12];  
  20.         int num1 = cin.nextInt();  
  21.         getx(num1,bry,7,3);//8進位制  
  22.         System.out.println("8進製表現形式如下:");  
  23.         print8(bry);  
  24.         System.out.println("6的2進製表現形式如下:");  
  25.         System.out.println(Integer.toBinaryString(6));  
  26.         System.out.println("-6的2進製表現形式如下:");  
  27.         System.out.println(Integer.toBinaryString(-6));  
  28.         cin.close();  
  29.     }  
  30.     public static void print(int[] ary)  
  31.     {  
  32.         int i;  
  33.         for(i = 7;i>=0;i--)  
  34.         {  
  35.             if(ary[i]!=0)  
  36.                 break;  
  37.         }  
  38.         for(int j = i;j>=0;j--)  
  39.         {  
  40.             if(ary[j]>9)  
  41.             switch (ary[j])   
  42.             {  
  43.             case 10:System.out.print("A");  
  44.                 break;  
  45.             case 11:System.out.print("B");  
  46.             break;  
  47.             case 12:System.out.print("C");  
  48.             break;  
  49.             case 13:System.out.print("D");  
  50.             break;  
  51.             case 14:System.out.print("E");  
  52.             break;  
  53.             case 15:System.out.print("F");  
  54.             break;  
  55.             default:  
  56.                 break;  
  57.             }  
  58.             else {  
  59.                 System.out.print(ary[j]);;  
  60.             }  
  61.         }  
  62.         System.out.println();  
  63.     }  
  64.     public static void print8(int bry[])  
  65.     {  
  66.         int i;  
  67.         for(i = 10;i>=0;i--)  
  68.         {  
  69.             if(bry[i]!=0)  
  70.                 break;  
  71.         }  
  72.         for(int j = i;j>=0;j--)  
  73.         {  
  74.             System.out.print(bry[j]);  
  75.         }  
  76.         System.out.println();  
  77.     }  
  78.      public static void getx(int num,int ary[],int mod,int wz)  
  79.     {  
  80.         int l = 0;  
  81.         for(int i = 0;i<8;i++)  
  82.         {  
  83.             int t = num & mod;//16進位制的最大值  
  84.             ary[l++] = t;  
  85.             num = num>>> wz;//4個二進位制位表示一個16進位制位  
  86.         }  
  87.     }  
  88. }  
二維陣列:

int arr[][] = new int[3][2];//陣列初始null,元素的初始值都是0  

這個二維陣列,這個二維陣列中有3個一維陣列,每個一維陣列有2個元素

  1. int arr[][] = new int[4][];  
  2. arr[0] = new int[5];  
  3. arr[1] = new int[3];  
  4. arr[2] = new int[8];  
  5. arr[2] = new int[1];  

這個二維陣列,有4個一維陣列,陣列[0] 中有5個元素,陣列[1] 中有3個元素.....


列印二維陣列中的下標為1的一維陣列的下標為1的元素:System.out.print(arr[1][1]);