Java語言中的數(shù)組是怎樣的

Java語言中的數(shù)組是怎樣的,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

創(chuàng)新互聯(lián)公司提供成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁設(shè)計(jì),高端網(wǎng)站設(shè)計(jì)廣告投放平臺(tái)等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,十余年的網(wǎng)站開發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破成百上千,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.

Java數(shù)組部分。

Java類之間常見的兩種關(guān)系,即關(guān)聯(lián)和依賴。如果A關(guān)聯(lián)或依賴B,如果僅從A到B這個(gè)方向看,從數(shù)量上,可能有1對(duì)1和1對(duì)多兩種可能。面向?qū)ο蟮膽?yīng)用,都是映射現(xiàn)實(shí)世界的對(duì)象以及對(duì)象之間的關(guān)系的,仔細(xì)考察一下我們身邊的情況,對(duì)象與對(duì)象之間如果存在關(guān)聯(lián)或依賴,其實(shí)1對(duì)多的關(guān)系更為常見。如,一個(gè)部門有多個(gè)員工,一個(gè)學(xué)員有多個(gè)院系,一個(gè)人有多張畢業(yè)證書……

比如這樣一個(gè)例子,學(xué)生只能選擇一門免費(fèi)課程學(xué)習(xí),如果培訓(xùn)中心加大優(yōu)惠力度,每個(gè)學(xué)生最多可以選擇3門課程學(xué)習(xí),應(yīng)該如何維護(hù)這種關(guān)系哪?

我們可能這樣嘗試:

package com.csst.relation;   public class Student {          private String name;               //注意此處修改          private Course course1,course2,course3;                    public Student(String name) {                 super();                 this.name = name;          }   //TBD   }

但是,接下來,完善chooseCourse,getCourse方法,我們將面臨困難。如何得知目前已經(jīng)選擇了幾門課程?如何能一次性將學(xué)員已經(jīng)選擇的課程查詢出來?

也就是說,當(dāng)關(guān)聯(lián)或依賴關(guān)系中,出現(xiàn)了1對(duì)多的數(shù)量關(guān)系時(shí),我們必須找一種特殊的對(duì)象來幫忙,這種對(duì)象能夠?qū)⑽覀冃枰芾淼膶?duì)象包裝起來,作為一種數(shù)據(jù)容器使用,讓我們能很容易的把一些對(duì)象裝進(jìn)去,很容易的再取出來。數(shù)組就是一種解決辦法。在本文中,將介紹Java語言中數(shù)組的使用。

1、Java數(shù)組的定義和類型

數(shù)組是類型相同的元素的集合。也就是說,一個(gè)數(shù)組中所保存的數(shù)據(jù)都是一個(gè)類型的。首先,記住一句話:Java中的數(shù)組是引用類型。也就是說,即使一個(gè)數(shù)組中存的都是int數(shù)據(jù),這個(gè)數(shù)組的類型也是引用類型。

2、Java數(shù)組的聲明:

假設(shè)要聲明一個(gè)int型數(shù)組,可以有兩種聲明方式:

int[] x;   int y[];

假設(shè)要聲明一個(gè)Course類型數(shù)組,可以有兩種聲明方式:

Course[] courses1;   Course courses2[];

可見,Java語言中聲明數(shù)組有兩種方式,一種是[]放在數(shù)組元素類型后,一種是[]放到數(shù)組引用名字后。建議使用***種方式,即int[],Course[]。因?yàn)閿?shù)組本身是一種數(shù)據(jù)類型,也就是說,從現(xiàn)在開始,看待int[],Course[],就應(yīng)該當(dāng)作一個(gè)類型看待,如同看待String一樣。

3、Java數(shù)組的初始化:

數(shù)組可以使用new關(guān)鍵字初始化,使用new初始化時(shí),必須在[]內(nèi)指定數(shù)組的長(zhǎng)度。

int[] x=new int[3];   Course[] courses1=new Course[2];

使用new初始化數(shù)組后,數(shù)組內(nèi)元素會(huì)被賦予默認(rèn)值,如x中的元素均為0,courses1中的元素均為null。

如果在聲明的同時(shí),即賦予初值,可以有如下兩種方式:

Int[] y ={12,23,45};  Course courses2=new Course[]{new Course(),new Course()};

賦值后,數(shù)組y是一個(gè)長(zhǎng)度為3的數(shù)組,courses2是一個(gè)長(zhǎng)度為2的數(shù)組。

4、Java多維數(shù)組

例如二維數(shù)組的聲明,和初始化過程:

   double[][] d=new double[3][];   d[0]=new double[4];   d[1]=new double[5];   d[2]=new double[3];     d[0][0]=10;   d[0][1]=100;

以上代碼,創(chuàng)建了一個(gè)二維數(shù)組,該數(shù)組包含3個(gè)一維數(shù)組,這3個(gè)一維數(shù)組長(zhǎng)度分別為4,5,3。按照這樣的語法和邏輯,還可以聲明三維,四維等多維數(shù)組。

5、Java數(shù)組的長(zhǎng)度

數(shù)組的長(zhǎng)度都在初始化時(shí)被指定,一旦指定,再也不能改變,也就是說,數(shù)組的長(zhǎng)度是不可變的。

如:

int[] x=new int[3];   System.out.println(x.length);//輸出3

注意,數(shù)組的長(zhǎng)度使用length屬性取出,而不是length()方法。

6、對(duì)數(shù)組的遍歷方法

方法一:使用長(zhǎng)度控制循環(huán)

int[] x=new int[3];   for(int i=0;i<x.length;i++){                  System.out.println(x[0]);           }

方法二:增強(qiáng)for循環(huán)

int[] x=new int[3];   for(int a:x){                  System.out.println(a);           }

接下來,對(duì)于上面學(xué)員選擇免費(fèi)課程的程序進(jìn)行修改。

package com.csst.relation;    public class Student {          private String name;                    //1.關(guān)聯(lián)關(guān)系:Student關(guān)聯(lián)Course(1對(duì)多關(guān)系)          private Course[] courses=new Course[3];          private int index;                    public Student(String name) {                 super();                 this.name = name;          }                 //2.依賴關(guān)系:Student依賴Course          public void chooseCourse(Course course){                 if(index<3){                        this.courses[index]=course;                        index++;                 }else{                        System.out.println("最多選3門課程。");                 }          }                    public Course[] getCourse(){                 return this.courses;          }   }

在處理1對(duì)多關(guān)系時(shí),數(shù)組是常用的解決方案。數(shù)組的優(yōu)點(diǎn)是遍歷比較容易,缺點(diǎn)是長(zhǎng)度一旦確定,就無法改變。如果對(duì)象間的1:n關(guān)系,n的變化范圍較大,就無法確定數(shù)組的長(zhǎng)度。

關(guān)于Java語言中的數(shù)組是怎樣的問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

標(biāo)題名稱:Java語言中的數(shù)組是怎樣的
URL分享:http://muchs.cn/article42/ijoehc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、外貿(mào)建站搜索引擎優(yōu)化、微信公眾號(hào)、軟件開發(fā)、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作