數組是很重要的數據結構,由同一類型相關的數據結構組成是靜態實體,有鏈表,隊列,堆棧,數等數據結構,java還提出了類數組的類vector. 這些都是java數據結構的組成部分,正如我們學過的c語言版的數據結構,java數據結構也是來描述數據結構的只是描述語言是java一樣而已.
1.數組中最重要的是數組下標,數組下標及數組名是用來給訪問者提供訪問數組的途徑,數據下標從0開始,c[0],就是一個第一個數據第一個元素是c[i-1],數組名的名名規則與變量相同,其訪問格式也很簡單
例:c.lenth就是數組的長度.
c[a+b]+=2 就是個數組a+b的值+2,在此數組也有易混淆的地方,那就是數組的第7個元素和數組元素7是兩個不相同的概念,初學者一定要區分其區別.
2.空間分配:任何數據都要占用空間,數組也不例外,java中用new來給一個新的數組分配空間,
例:int c[ ]=new int[12]; 其格式等同于 int c[]; c=new int[12]; 他們的初始化值都是0
一個數組可以同時聲明多個數組
例:string b[ ]=new String[100],x[ ]=new String[27];
數組可以聲明任何數據類型,double string ..
舉個例子來分析:
// Fig. 7.5: InitArray.java
// initialize array n to the even integers from 2 to 20
import javax.swing.*;
public class InitArray {
public static void main( String args[] )
{
final int ARRAY_SIZE = 10;
int n[]; // reference to int array
String output = "";
n = new int[ ARRAY_SIZE ]; // allocate array
// Set the values in the array
for ( int i = 0; i < n.length; i++ )
n[ i ] = 2 + 2 * i;
output += "Subscr
for ( int i = 0; i < n.length; i++ )
output += i + "/t" + n[ i ] + "/n";
JTextArea outputArea = new JTextArea( 11, 10 );
outputArea.setText( output );
JOptionPane.showMessageDialog( null, outputArea,
"Initializing to Even Numbers from 2 to 20",
JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
}
}
程序中: 1.final int ARRAY_SIZE=10限定詞final聲明常數變量ARRAY_SIZE其值是10.
2. n = new int[ ARRAY_SIZE ]聲明了n數組其長度不能超過10
3.for ( int i = 0; i < n.length; i++ )
n[ i ] = 2 + 2 * i; 指定了程序的方法即輸出10個從2開始的偶數.其下標分別計為0-9的10個數:其運行結果如圖
4.output += "Subscript/tValue/n";
for ( int i = 0; i < n.length; i++ )
output += i + "/t" + n[ i ] + "/n"; 在output后面追加字符串.顯示數組下標即計算結果.
5 JTextArea outputArea = new JTextArea( 11, 10 );
outputArea.setText( output );
創建一個新的文本框,把output放入其中.
JOptionPane.showMessageDialog( null, outputArea,"Initializing to Even Numbers from 2 to 20",
JOptionPane.INFORMATION_MESSAGE );
顯示文本框.
由前3個過程你可以看到了數組是怎樣建立的了.
3.引用及引用參數:許多編程語言都有通過值的調用 callby value傳遞參數,當使用調用值時,將產生數值的一個拷貝并傳遞給被調用的方法.
例如. int hourly Temperatrue[ ]=new int[24];
modify Array(hourlyTemperatrue);
以一個例子說明:// Fig. 7.10: PassArray.java
// Passing arrays and individual array elements to methods
import java.awt.Container;
import javax.swing.*;
新聞熱點
疑難解答