?? java入門(6).htm
字號:
<TABLE cellSpacing=0 cellPadding=5 width="100%"
bgColor=#cccccc border=1>
<TBODY>
<TR>
<TD><PRE><CODE>
c:javastudy> notepad arrayTest.java
</CODE></PRE></TD></TR></TBODY></TABLE>
<P> 在寫字板中,輸入下面的程序代碼,然后存盤退出。</P>
<P> 源程序:arrayTest.java</P>
<TABLE cellSpacing=0 cellPadding=5 width="100%"
bgColor=#cccccc border=1>
<TBODY>
<TR>
<TD><PRE><CODE>
public class arrayTest
{
public static void main(String args[])
{
int intArray[ ]={30,20,10,-10};
String stringArray[ ]={“first”,”second”,”third”};
System.out.println(intArray[0]);
System.out.println(intArray[1]);
System.out.println(intArray[2]);
System.out.println(intArray[3]);
System.out.println(stringArray.length);
}
}
</CODE></PRE></TD></TR></TBODY></TABLE>
<P> 2.編譯程序,輸入命令:</P>
<TABLE cellSpacing=0 cellPadding=5 width="100%"
bgColor=#cccccc border=1>
<TBODY>
<TR>
<TD><PRE><CODE>
c:javastudy> javac arrayTest.java
</CODE></PRE></TD></TR></TBODY></TABLE>
<P> 3.編譯完成后,執行這個程序了。輸入命令:</P>
<TABLE cellSpacing=0 cellPadding=5 width="100%"
bgColor=#cccccc border=1>
<TBODY>
<TR>
<TD><PRE><CODE>
c:javastudy> java arrayTest
</CODE></PRE></TD></TR></TBODY></TABLE>
<P><B> 這個程序的輸出如下圖所示:</B></P><A
href="Java入門(6).files/6-11.jpg"><IMG alt=6-11
src="Java入門(6).files/6-11.jpg" width=450 border=0></A>
<P><B> 圖6-11 arrayTest.java程序輸出</B></P>
<P><B> 傳授新知</B></P>
<P> 在arrayTest.java程序,我們發現了兩個與前面的例子都不相同的變量聲明:</P>
<TABLE cellSpacing=0 cellPadding=5 width="100%"
bgColor=#cccccc border=1>
<TBODY>
<TR>
<TD><PRE><CODE>
int intArray[ ]={30,20,10,-10};
String stringArray[ ]={“first”,”second”,”third”};
</CODE></PRE></TD></TR></TBODY></TABLE>
<P> 這兩個變量的類型與前面講過的有點不同,它就是本小節的主角----數組。正如我們看到的一樣,數組intArray是由四個int型常量:30、20、10、-10組成的;而數組stringArray則是由三個String型常量“first”、“second”、“third”組成的。</P>
<P> 數組,是相似元素的有序集合。在一個數組中的所有元素必須是相同類型的。</P>
<P><B> 6.3.1 定義數組</B></P>
<P> 下面,我們就來仔細地觀察一下數組的定義:</P><A
href="Java入門(6).files/6-12.jpg"><IMG alt=6-12
src="Java入門(6).files/6-12.jpg" width=450 border=0></A>
<P><B> 圖6-12 定義數組格式圖解</B></P>
<P> 正如上圖所示,數組變量的命名同其他任何變量一樣,但是我們利用方括號([
])表明該變量是一個數組。定義數組的方式有三種:</P>
<P> 1)零數組:表明數組存在,但沒有值。</P>
<TABLE cellSpacing=0 cellPadding=5 width="100%"
bgColor=#cccccc border=1>
<TBODY>
<TR>
<TD><PRE><CODE>
int firstArray[ ];
</CODE></PRE></TD></TR></TBODY></TABLE>
<P> 2)預留空間:為數組預留一些存儲空間,但并未馬上賦值。</P>
<TABLE cellSpacing=0 cellPadding=5 width="100%"
bgColor=#cccccc border=1>
<TBODY>
<TR>
<TD><PRE><CODE>
int secondArray[ ]=new int[5];
</CODE></PRE></TD></TR></TBODY></TABLE>
<P> 在這里,我們定義了一個數組secondArray,并為其預留了夠存放5個int型數的空間。</P>
<P> 3) 一次性完成定義與賦值:</P>
<TABLE cellSpacing=0 cellPadding=5 width="100%"
bgColor=#cccccc border=1>
<TBODY>
<TR>
<TD><PRE><CODE>
int intArray[ ]={30,20,10,-10};
</CODE></PRE></TD></TR></TBODY></TABLE>
<P><B> 注意:</B></P>
<P> 在Java語言中,數組一經定義之后就不能夠改變其大小,這與其它程序設計語言中不同,在編程時一定要注意這點。
</P>
<P><B> 6.3.2 訪問數組</B></P>
<P> 由于數組中包含了多個變量,所以訪問起來就一定與變量不相同。在程序arrayTest.java中是這樣訪問數組中的內容的:</P>
<TABLE cellSpacing=0 cellPadding=5 width="100%"
bgColor=#cccccc border=1>
<TBODY>
<TR>
<TD><PRE><CODE>
System.out.println(intArray[0]);
System.out.println(intArray[1]);
System.out.println(intArray[2]);
System.out.println(intArray[3]);
</CODE></PRE></TD></TR></TBODY></TABLE>
<P> 通過對這個程序運行結果的觀察,我們發現intArray[0]就是數組intArray中的第1個值:30,intArray[1]則是數組intArray的第2個值……,以此類推。</P>
<P> 從中,我們可以總結出,訪問數組內容可以使用:</P>
<P> 數組名[下標] </P>
<P> 下標從0開始。</P>
<P><B> 6.3.3 求數組長度</B></P>
<P> 在arrayTest.java程序中還有一個語句,我們沒有提到,那就是:</P>
<TABLE cellSpacing=0 cellPadding=5 width="100%"
bgColor=#cccccc border=1>
<TBODY>
<TR>
<TD><PRE><CODE>
System.out.println(stringArray.length);
</CODE></PRE></TD></TR></TBODY></TABLE>
<P> 而從這個程序的輸出,可以知道這一句輸出的值是3。這句程序的目的是打印出字符串數組stringArray的長度。</P>
<P> 數組的長度是指數組中元素的個數。</P>
<P> 有的讀者閱讀到這里,可能會覺得奇怪,字符串數組stringArray的值是:“first”、”second”、”third”,那么為什么長度會是3,而不是5+6+5=16個呢?請讀者一定要記住,數組長度衡量的是元素,它并不管元素是什么。你看,字符串數組stringArray不正是包含3個字符串嗎!</P>
<P><B> 自測練習</B></P>
<P> 1) 下面中哪個變量是數組?___________。</P>
<P> a. intArray b. test () c. IamArray{} d.notArray[]</P>
<P> 2) 下面表達式中,用來訪問數組中第一個值的是____________。</P>
<P> a. intArray[1] b.intArray.1 c.intArray[0]
d.intArray.0</P>
<P> 3) 使用System.out.println(數組名)就可以打印出數組的內容?_______</P>
<P> a.對 b.錯</P>
<P> 4) 定義完數組后,我們______根據實際需要,再動態調整數組大小。</P>
<P> a.不能 b.可以</P>
<P> 5) 數組中可以包含什么類型的元素?_____________。</P>
<P> a.int型 b.string型 c.數組 d.以上都可以</P>
<P> 6) 根據要求,寫出程序段:</P>
<P> 要求:創建一個字符串數組weeks,使其包含周一至周日的英文名稱。</P>
<P> 程序段:</P>
<P> ___________________________________________________________________</P>
<P> ____________________________________________________________________</P>
<P> 7) 閱讀以下程序代碼,回答問題:</P>
<P> 程序代碼:</P>
<TABLE cellSpacing=0 cellPadding=5 width="100%"
bgColor=#cccccc border=1>
<TBODY>
<TR>
<TD><PRE><CODE>
String lesson[ ] = {“chiness”, “math”, “English”, “physical”};
String class[ ] ;
class = lesson;
</CODE></PRE></TD></TR></TBODY></TABLE>
<P> 其中lesson[1]的值是什么?____________________________________</P>
<P> 那么class[3]的值呢?____________________________________</P>
<P> 如果要將math改成maths的話,應該如何做。</P>
<P> ____________________________________________________________________</P>
<P> 8) 試著運行以下程序,看看得到什么結果:</P>
<TABLE cellSpacing=0 cellPadding=5 width="100%"
bgColor=#cccccc border=1>
<TBODY>
<TR>
<TD><PRE><CODE>
public class lianxi603
{
public static void main(String args[])
{
String stringArray[ ]={“first”,”second”,”third”};
System.out.println(stringArray);
}
}
</CODE></PRE></TD></TR></TBODY></TABLE>
<P><B> 練習答案</B></P>
<P> 1)d 盡管叫notArray,但的確是數組,做為數組必須在后面加上“[]”。</P>
<P> 2)c 訪問第1個值應該是使用下標0,也就是intArray[0]。</P>
<P> 3)a 這樣不能夠打印出數組的內容。</P>
<P> 4)a 在Java語言中,不允許動態修改數組的大小。</P>
<P> 5)d 數組中可以包含任何一種數據類型,但必須每一個都是相同的數據類型。</P>
<P> 6)完成這個要求的程序是:</P>
<TABLE cellSpacing=0 cellPadding=5 width="100%"
bgColor=#cccccc border=1>
<TBODY>
<TR>
<TD><PRE><CODE>
String weeks[ ] = {“Monday”,”Tuesday”,”Wednesday”,
”Thursday”,”Friday”,”Saturday”,”Sunday”};
</CODE></PRE></TD></TR></TBODY></TABLE>
<P> 7) lesson[1]的值為“math”;</P>
<P> class[3]的值為“physical”;</P>
<P> 我們可以使用語句將math改為maths:</P>
<TABLE cellSpacing=0 cellPadding=5 width="100%"
bgColor=#cccccc border=1>
<TBODY>
<TR>
<TD><PRE><CODE>
String lesson[1]=”maths”
</CODE></PRE></TD></TR></TBODY></TABLE>
<P> 8) 本程序的輸出是:</P><A href="Java入門(6).files/6-13.jpg"><IMG
alt=6-13 src="Java入門(6).files/6-13.jpg" width=450
border=0></A>
<P><B> 圖6-13 lianxi603的輸入</B></P>
<P> 在你的機器,產生的輸出可能與它不同,但是格式是類似的。這是因為,如何我們這樣地調用,將打印出這個數組在內存中的地址。</P></SPAN><BR>
<DIV class=contentblk align=right>【責任編輯:<A
href="mailto:fjxufeng@linuxaid.com.cn">風過留楓</A>】<BR>【<A
href="javascript:window.close();">關閉窗口</A>】</DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!----><IMG
height=2 alt=smallline src="Java入門(6).files/smallline.gif" width=600
border=0>
<TABLE cellSpacing=0 cellPadding=0 width=605 border=0>
<TBODY>
<TR>
<TD height=2></TD></TR>
<TR>
<TD class=blackblk>
<TABLE cellSpacing=1 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD class=blackblk align=middle>相關內容</TD>
<TD class=brightblk
width="80%"> </TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD height=2></TD></TR>
<TR>
<TD class=blackblk>
<TABLE cellSpacing=1 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD class=brightblk>
<TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD></TD></TR>
<TR>
<TD>·
無</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!----><IMG
height=2 alt=smalll
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -