数组

l          陣列: 

宣告

l           一維陣列宣告:

n           int a1[] = new int[5];

n           int[] a1;  a1 = new int[5];  // 但不可以int[5] a1((宣告陣列大小只能在”=”右邊)

n           int testArray[]; testArray = new int[6]{1, 2, 3, 4 ,5 ,6};  // []內不可有size

l           多維陣列宣告:

n           int[][] a1 = {{1,2},{3,4,5},{6,7,8,9}};

l           需特別注意的宣告:

n           String [] s1 = new String[]{a,b,c}; String [] s1 = new String[]{‘a’,’b’,’c’};

n           char [] c1 = new char[]{'a','b','c'}; char [] c1 = new char[]{“a”,”b”,”c”};

Ø       陣列宣告為char,{}中可為 ‘a’ (~z)’0’(~9)0(~65535)’/u0000’(~’/uFFFF’)

Ø       陣列宣告時若為{‘3’,’a’},無論型態為何,print出來皆為ANSI碼,但需注意合法性(如上)

Ø       陣列宣告為char時若未給初值,則初值為空白{‘ ’}是合法的,但{‘’}為不合法的,至少要有空白(但若為String,則””” ”皆為合法的)

可以

l           宣告時就必須指定資料型態,且同一陣列中的元素其資料型態必須相同。

l           陣列宣告時,[]必須位於type或名稱的後面。

(int[] a1[],a2[] ; int []a5,a6[] ; int[] a7,a8[] ; int []a3,[]a4;)

l           所有的陣列型態都是implement Cloneable interface” Serializable interface”,所以任何一種Array都可被assignCloneable type

不可以

l           Primitive array types不可被相互assigned (Long args = Integer args)

l           宣告大小與給予初始值不可同時出現,否則會compile-time error,但也不可以兩者都沒有。

l           變數不可assign給二維陣列,一維陣列也不可assign給二維陣列。

注意

l           陣列無論是否為class-levellocal都一定會做init,內容值則視type決定。

l           陣列的大小是 myAry.length,不是myAry.length()length不須宣告,也不可更改。

l           陣列的index只限於byteshortintchar四種type

l           存取範圍超過array索引範圍會產生Exception,為runtime exception不是compile exception

l           byte [] ary1, ary2[]; //ary2是二維陣列,小心不要上當。

l           float ary = new float [123]; //不合法,少括號; Object ary = new float[123]; // 合法


来自:【 Garfield 的 SCJP 閱讀筆記 】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值