官术网_书友最值得收藏!

5.3 由實例引出不同數(shù)組種類及其使用

本節(jié)主要使用實例讓讀者能更加熟悉數(shù)組的使用。通過本節(jié)的學(xué)習(xí),總結(jié)一些編程中所使用的編程思路。編程最重要的不是如何編寫代碼,使用哪種控制流程,最主要的是編程的思路,編程思路決定著這個程序代碼的好與壞。

5.3.1 由實例引出一維數(shù)組及其使用

【實例5.2】先來看一個很簡單的實例。有兩個數(shù)組a[]、b[],輸出它們中的各個數(shù)據(jù),并且輸出它們的長度。

01   ///初始化兩個數(shù)組a、b
02   ///使用循環(huán)語句將兩個數(shù)組內(nèi)元素輸出
03   ///并且使用length屬性輸出數(shù)組的長度
04   public class arrary2
05   {
06       public static void main(String[] args)
07       {
08           int[] a=new int[]{1,2,3,4,5};
09           int[] b=new int[]{2,3,4,5,6,7,8};
10           for(int i=0;i<a.length;i++)
11           {
12               System.out.println("a["+i+"]="+a[i]);
13           }
14           for(int j=0;j<b.length;j++)
15           {
16               System.out.println("b["+j+"]="+b[j]);
17           }
18           System.out.println("a數(shù)組的長度是:"+a.length);
19           System.out.println("b數(shù)組的長度是:"+b.length);
20       }
21   }

【代碼說明】第8~9行初始化兩個數(shù)組a和b。第10~13行 for循環(huán)的次數(shù)取決于數(shù)組a的長度。第14~17行的循環(huán)次數(shù)同樣取決于數(shù)組b的長度。

【運行效果】

a[0]=1
a[1]=2
a[2]=3
a[3]=4
a[4]=5
b[0]=2
b[1]=3
b[2]=4
b[3]=5
b[4]=6
b[5]=7
b[6]=8
a數(shù)組的長度是:5
b數(shù)組的長度是:7

這個程序段主要是將兩個數(shù)組中的每個數(shù)據(jù)和整個數(shù)組的長度輸出,而這個例子也是數(shù)組最簡單的實例,下面再看一個稍微復(fù)雜的實例。

【實例5.3】有兩個數(shù)組a[]、b[]。將兩個數(shù)組中數(shù)據(jù)一一對應(yīng)相乘,得出數(shù)組c,輸出數(shù)組c的元素和3個數(shù)組的長度。

01   ///初始化兩個數(shù)組a、b
02   ///將兩個數(shù)組中對應(yīng)的元素相乘得出第三個數(shù)組的元素
03   ///輸出三個數(shù)組的長度
04   public class arrary3
05   {
06       public static void main(String[] args)
07       {
08           int[] a=new int[]{1,2,3,4,5};
09           int[] b=new int[]{2,3,4,5,6};
10           int[] c=new int[5];
11           for(int i=0;i<a.length;i++)
12           {
13               c[i]=a[i]*b[i];
14           }
15           for(int j=0;j<a.length;j++)
16           {
17               System.out.println("c["+j+"]="+(a[j]*b[j]));
18           }
19           System.out.println("a數(shù)組的長度是:"+a.length);
20           System.out.println("b數(shù)組的長度是:"+b.length);
21           System.out.println("c數(shù)組的長度是:"+c.length);
22      }
23   }

【代碼說明】第10行首先聲明一個沒有初始數(shù)值的數(shù)組c,第11~14行通過循環(huán)為數(shù)組c賦值,然后第15~18行通過循環(huán)輸出數(shù)組c中的元素,第19~21行輸出3個數(shù)組的長度。

【運行效果】

c[0]=2
c[1]=6
c[2]=12
c[3]=20
c[4]=30
a數(shù)組的長度是:5
b數(shù)組的長度是:5
c數(shù)組的長度是:5

通過這段程序可以學(xué)習(xí)如何操作數(shù)組內(nèi)各個元素,下面再看看更加復(fù)雜的程序段。

【實例5.4】創(chuàng)建一個整數(shù)型數(shù)組f,它擁有20個元素,并將它的各個元素賦值如下,然后輸出它們。其函數(shù)關(guān)系如下所示:

f[0]=1;f[1]=2;f[i]=f[i-1]+f[i-2];

實例的詳細代碼如下所示。

01   ///條件中的是一個遞歸函數(shù)
02   ///通過一個循環(huán)語句將數(shù)組中所有的元素輸出
03   public class arrary4
04   {
05         public static void main(String[] args)
06         {
07              int[] f=new int[20];
08              f[0]=0;
09              f[1]=2;
10              for(int i=2;i<f.length;i++)
11              {
12                   f[i]=f[i-1]+f[i-2];
13                   System.out.println("f["+i+"]="+f[i]);
14              }
15         }
16   }

【代碼說明】這個程序段是數(shù)學(xué)中的一個遞歸函數(shù),其中的運算過程交給了第10~14行的循環(huán)語句去處理。

【運行效果】

f[2]=2
f[3]=4
f[4]=6
f[5]=10
f[6]=16
f[7]=26
f[8]=42
f[9]=68
f[10]=110
f[11]=178
f[12]=288
f[13]=466
f[14]=754
f[15]=1220
f[16]=1974
f[17]=3194
f[18]=5168
f[19]=8362

上面所有的程序段,都是圍繞著如何操作一維數(shù)組內(nèi)的元素,其實一維數(shù)組在實際程序中的一些應(yīng)用,不過是操作數(shù)組內(nèi)部元素而已。

5.3.2 由實例引出二維數(shù)組及其使用

【實例5.5】針對二維數(shù)組,先看看下面的有關(guān)二維數(shù)組的例子:創(chuàng)建一個字符型二維數(shù)組,并根據(jù)執(zhí)行結(jié)果為各元素賦值,然后輸出各元素。

01   ///使用兩個數(shù)組分別代表空間中的x和y軸
02   ///通過循環(huán)語句將對應(yīng)的每一個坐標上的元素輸出
03   public class arrary5
04   {
05         public static void main(String[] args)
06         {
07              char[][] a;
08              a=new char[4][10];
09              a[0]=new char[10];
10              a[1]=new char[10];
11              a[2]=new char[10];
12              a[3]=new char[10];
13              a[0][0]=65;
14              a[1][0]=67;
15              a[2][0]=69;
16              a[3][0]=71;
17              for(int i=0;i<a.length;i++)
18              {
19                   for(int j=1;j<a[i].length;j++)
20                   {
21                        a[i][j]=(char)(a[i][j-1]+1);
22                        System.out.print(a[i][j-1]);
23                   }
24              System.out.println();
25              }
26         }
27   }

【代碼說明】第13~16行首先為二維中第一列的數(shù)據(jù)賦值,這樣就可以通過第19~23行的循環(huán),通過一次加1的方式,輸出9個字母。第24行的代碼非常關(guān)鍵,起到輸出結(jié)果換行的作用。

注意

讀者從程序中可以看出二維數(shù)據(jù)其實每行有10個數(shù)據(jù),但我們只輸出了9個,讀者可通過更改第19~23行的代碼來實現(xiàn)10個數(shù)據(jù)的輸出。

【運行效果】

ABCDEFGHI
CDEFGHIJK
EFGHIJKLM
GHIJKLMNO

上面的程序段只是操作二維數(shù)組中的元素而已,所以只要牢牢地記住數(shù)組的基本概念,其他的問題就可以迎刃而解。

主站蜘蛛池模板: 长子县| 陆良县| 车致| 同仁县| 广水市| 滦平县| 拜泉县| 驻马店市| 宁陵县| 巴楚县| 都兰县| 石景山区| 财经| 三穗县| 六枝特区| 皋兰县| 中卫市| 浦县| 呼伦贝尔市| 宣恩县| 芜湖市| 孙吴县| 龙胜| 清镇市| 黄骅市| 盐源县| 汕头市| 连云港市| 天门市| 凉山| 耒阳市| 浑源县| 泰和县| 灌阳县| 民勤县| 通城县| 和田县| 集贤县| 五指山市| 淮南市| 乐陵市|