一元陣列與二元陣列
阿新 • • 發佈:2019-01-24
一元陣列
陣列的宣告
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();
}
陣列使用小練習:
// 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]); } }
進位制轉換
- import java.awt.print.Printable;
- import java.util.Arrays;
- import java.util.Scanner;
- import javax.swing.text.DefaultEditorKit.InsertBreakAction;
- import org.omg.CosNaming.NamingContextExtPackage.AddressHelper;
- /* 需求:
- * 獲取一個整數的X進位制的表現形式
- * */
- public class Main
- {
- public static void main(String[] args)
- {
- Scanner cin = new Scanner(System.in);
- int num = cin.nextInt();
- int ary[] = new int[8];
- getx(num,ary,15,4);//16進位制
- System.out.println("16進製表現形式如下:");
- print(ary);
- int bry[] = new int[12];
- int num1 = cin.nextInt();
- getx(num1,bry,7,3);//8進位制
- System.out.println("8進製表現形式如下:");
- print8(bry);
- System.out.println("6的2進製表現形式如下:");
- System.out.println(Integer.toBinaryString(6));
- System.out.println("-6的2進製表現形式如下:");
- System.out.println(Integer.toBinaryString(-6));
- cin.close();
- }
- public static void print(int[] ary)
- {
- int i;
- for(i = 7;i>=0;i--)
- {
- if(ary[i]!=0)
- break;
- }
- for(int j = i;j>=0;j--)
- {
- if(ary[j]>9)
- switch (ary[j])
- {
- case 10:System.out.print("A");
- break;
- case 11:System.out.print("B");
- break;
- case 12:System.out.print("C");
- break;
- case 13:System.out.print("D");
- break;
- case 14:System.out.print("E");
- break;
- case 15:System.out.print("F");
- break;
- default:
- break;
- }
- else {
- System.out.print(ary[j]);;
- }
- }
- System.out.println();
- }
- public static void print8(int bry[])
- {
- int i;
- for(i = 10;i>=0;i--)
- {
- if(bry[i]!=0)
- break;
- }
- for(int j = i;j>=0;j--)
- {
- System.out.print(bry[j]);
- }
- System.out.println();
- }
- public static void getx(int num,int ary[],int mod,int wz)
- {
- int l = 0;
- for(int i = 0;i<8;i++)
- {
- int t = num & mod;//16進位制的最大值
- ary[l++] = t;
- num = num>>> wz;//4個二進位制位表示一個16進位制位
- }
- }
- }
int arr[][] = new int[3][2];//陣列初始null,元素的初始值都是0
這個二維陣列,這個二維陣列中有3個一維陣列,每個一維陣列有2個元素
- int arr[][] = new int[4][];
- arr[0] = new int[5];
- arr[1] = new int[3];
- arr[2] = new int[8];
- arr[2] = new int[1];