成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java教程 Java語(yǔ)言中的數(shù)組

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

本文是Java教程之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)系哪?

我們可能這樣嘗試:

  1. package com.csst.relation;  
  2.  
  3. public class Student {  
  4.  
  5.        private String name;       
  6.  
  7.        //注意此處修改  
  8.  
  9.        private Course course1,course2,course3;  
  10.  
  11.          
  12.  
  13.        public Student(String name) {  
  14.  
  15.               super();  
  16.  
  17.               this.name = name;  
  18.  
  19.        }  
  20.  
  21. //TBD  
  22.  

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

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

  1. int[] x;  
  2.  
  3. int y[]; 

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

  1. Course[] courses1;  
  2.  
  3. Course courses2[]; 

可見,Java語(yǔ)言中聲明數(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)度。

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

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

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

  1. Int[] y ={12,23,45};  
  2. 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ù)組的聲明,和初始化過程:

  1.    double[][] d=new double[3][];  
  2.  
  3. d[0]=new double[4];  
  4.  
  5. d[1]=new double[5];  
  6.  
  7. d[2]=new double[3];  
  8.  
  9.  
  10.  
  11. d[0][0]=10;  
  12.  
  13. d[0][1]=100

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

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

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

如:

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

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

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

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

  1. int[] x=new int[3];  
  2.  
  3. for(int i=0;i<x.length;i++){  
  4.  
  5.                System.out.println(x[0]);  
  6.  
  7.         } 

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

  1. int[] x=new int[3];  
  2.  
  3. for(int a:x){  
  4.  
  5.                System.out.println(a);  
  6.  
  7.         }       

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

  1. package com.csst.relation;   
  2.  
  3. public class Student {  
  4.  
  5.        private String name;  
  6.  
  7.          
  8.  
  9.        //1.關(guān)聯(lián)關(guān)系:Student關(guān)聯(lián)Course(1對(duì)多關(guān)系)  
  10.  
  11.        private Course[] courses=new Course[3];  
  12.  
  13.        private int index;  
  14.  
  15.          
  16.  
  17.        public Student(String name) {  
  18.  
  19.               super();  
  20.  
  21.               this.name = name;  
  22.  
  23.        }         
  24.  
  25.        //2.依賴關(guān)系:Student依賴Course  
  26.  
  27.        public void chooseCourse(Course course){  
  28.  
  29.               if(index<3){  
  30.  
  31.                      this.courses[index]=course;  
  32.  
  33.                      index++;  
  34.  
  35.               }else{  
  36.  
  37.                      System.out.println("最多選3門課程。");  
  38.  
  39.               }  
  40.  
  41.        }  
  42.  
  43.          
  44.  
  45.        public Course[] getCourse(){  
  46.  
  47.               return this.courses;  
  48.  
  49.        }  
  50.  

在處理1對(duì)多關(guān)系時(shí),數(shù)組是常用的解決方案。數(shù)組的優(yōu)點(diǎn)是遍歷比較容易,缺點(diǎn)是長(zhǎng)度一旦確定,就無(wú)法改變。如果對(duì)象間的1:n關(guān)系,n的變化范圍較大,就無(wú)法確定數(shù)組的長(zhǎng)度。與數(shù)組類似,比數(shù)組更為靈活的解決方案,是集合,在以后的文章中會(huì)介紹。

 

 

【編輯推薦】

  1. Java教程 Java類的組成
  2. Java教程 Java類中的包
  3. Java教程 Java語(yǔ)言的訪問權(quán)限修飾符
  4. Java教程 Java類中的各種數(shù)據(jù)
  5. Java教程 Java語(yǔ)言中的數(shù)據(jù)類型及String類
責(zé)任編輯:仲衡 來(lái)源: taomoon719的專欄
相關(guān)推薦

2009-06-12 14:18:20

構(gòu)造方法Java語(yǔ)言Java教程

2009-06-12 14:46:05

static修飾符Java教程

2009-06-12 13:48:13

數(shù)據(jù)類型string類Java教程

2023-12-21 11:46:48

C語(yǔ)言柔性數(shù)組開發(fā)

2021-07-13 06:44:04

Go語(yǔ)言數(shù)組

2011-06-09 11:23:18

JAVAIO

2009-06-16 11:44:00

Java IO系統(tǒng)

2011-06-03 13:15:01

JAVAEJB

2010-03-17 18:38:53

Java編程語(yǔ)言

2021-01-21 09:23:35

Java語(yǔ)言

2011-03-29 10:41:51

Java線程安全

2011-07-10 14:28:49

JAVAIO

2009-06-29 12:58:47

This關(guān)鍵字java

2011-07-21 08:43:38

2009-04-30 15:15:01

Java抽象類接口

2010-03-15 18:25:27

Java編程語(yǔ)言

2015-04-15 14:41:40

c語(yǔ)言數(shù)組名a&a詳細(xì)介紹

2009-06-18 12:37:26

java編程語(yǔ)言

2022-02-21 09:33:31

接口繼承Java語(yǔ)言

2024-05-17 08:47:33

數(shù)組切片元素
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 永久av| 日韩av成人 | 在线一区观看 | 午夜爽爽男女免费观看hd | 一区二区三区四区视频 | 日韩视频1 | 精精国产xxxx视频在线播放 | 福利网站在线观看 | 精品在线一区二区 | 亚洲视频在线免费观看 | 一区二区在线 | 欧美日韩精品影院 | 99热在这里只有精品 | 久草久草久草 | 特一级毛片 | 亚洲日本乱码在线观看 | 欧美在线观看一区 | 亚洲国产成人精品女人久久久 | 婷婷开心激情综合五月天 | 日批免费观看 | 亚洲欧美在线观看视频 | 久久久久久久av | 国产成人福利 | 97超碰人人草 | 欧美天堂 | 久久久久久免费看 | 免费看片国产 | 午夜精品久久久久久久久久久久久 | 成人字幕网zmw | 99热碰 | 黄网站涩免费蜜桃网站 | 久草久草久草 | 九九九视频在线观看 | 国产精品99视频 | 欧美亚洲免费 | 亚洲天堂日韩精品 | 中文字幕在线视频免费观看 | 黄色网毛片 | 日韩精品一区二区三区中文在线 | 二区av| www.精品一区 |