java程序设计_Java程序设计:学习笔记(4-5)(未完工)
生活随笔
收集整理的這篇文章主要介紹了
java程序设计_Java程序设计:学习笔记(4-5)(未完工)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
聲明:
本文內(nèi)容基于“吉首大學(xué)軟件學(xué)院-Java程序設(shè)計(jì)(Java面向?qū)ο蟪绦蛟O(shè)計(jì))”網(wǎng)課與個(gè)人實(shí)踐經(jīng)驗(yàn)修改編寫而成。本文屬于Arcadia項(xiàng)目組成部分。若有錯(cuò)誤或不足之處存在請(qǐng)聯(lián)系專欄作者指出,謝謝。本文禁止轉(zhuǎn)載。
更新:
目前暫無(wú)更新內(nèi)容。
4.1 一維數(shù)組
- 數(shù)組的概念
數(shù)組是用一個(gè)標(biāo)識(shí)符(變量名)和一組下標(biāo)來(lái)代表一組具有相同數(shù)據(jù)類型的數(shù)據(jù)元素的集合,使用數(shù)組可以大規(guī)模存儲(chǔ)臨時(shí)需要處理的數(shù)據(jù),并可以采用循環(huán)結(jié)構(gòu)簡(jiǎn)化對(duì)大量變量的操作。
- 數(shù)組的特點(diǎn)
1.唯一性
在一個(gè)數(shù)組中,數(shù)組元素的類型是唯一的。即在一個(gè)數(shù)組里只能存儲(chǔ)一種數(shù)據(jù)類型的數(shù)據(jù),而不能存儲(chǔ)多種數(shù)據(jù)類型的數(shù)據(jù)。2.固定長(zhǎng)度
完成初始化數(shù)組之后,為數(shù)組在內(nèi)存中分配的存儲(chǔ)空間已經(jīng)確定,因而不能改變數(shù)組的長(zhǎng)度。3.能存儲(chǔ)多種數(shù)據(jù)
數(shù)組中不但能存儲(chǔ)基本類型的數(shù)據(jù),而且能存儲(chǔ)引用類型的數(shù)據(jù)。4.引用數(shù)據(jù)類型
數(shù)組本身也屬于引用數(shù)據(jù)類型。
- 數(shù)組的使用步驟
1.聲明數(shù)組
聲明數(shù)組之后,在棧內(nèi)存開辟了存儲(chǔ)空間,用來(lái)保存初始化之后的首要地址,初始化之前為null。此時(shí)還沒有為數(shù)組分配空間,所以數(shù)組內(nèi)容未知,無(wú)法直接使用。2.為該數(shù)組分配數(shù)據(jù)空間(初始化)
聲明數(shù)組僅僅為這個(gè)數(shù)組指定了數(shù)組名和數(shù)組元素的類型,并沒有為數(shù)組元素分配實(shí)際存儲(chǔ)空間。Java利用初始化為數(shù)組分配存儲(chǔ)空間。
- 一維數(shù)組的概念
當(dāng)數(shù)組中每個(gè)元素都只帶有一個(gè)下標(biāo)時(shí),稱這樣的數(shù)組為一維數(shù)組。聲明并初始化一維數(shù)組之后,可以把一維數(shù)組的每個(gè)元素當(dāng)作一個(gè)變量來(lái)使用。
- 一維數(shù)組的聲明
一維數(shù)組聲明語(yǔ)法格式如下:
類型標(biāo)識(shí)符 - 一維數(shù)組的初始化方式類型
1.靜態(tài)初始化
即在聲明數(shù)組的同時(shí)給這個(gè)數(shù)組的每個(gè)元素賦一個(gè)初始值。語(yǔ)法格式如下:
類型標(biāo)識(shí)符2.利用new關(guān)鍵字初始化
用new關(guān)鍵字初始化數(shù)組,不僅可以為數(shù)組分配所需要的存儲(chǔ)空間,還要按照J(rèn)ava語(yǔ)言提供的默認(rèn)初始化原則對(duì)數(shù)組元素賦值。一般有兩種初始化方式。第一種語(yǔ)法格式如下:
類型標(biāo)識(shí)符利用new關(guān)鍵字初始化一維數(shù)組的第二種方式是聲明數(shù)組的同時(shí)利用new分配存儲(chǔ)空間。語(yǔ)法格式如下:
類型標(biāo)識(shí)符- 一維數(shù)組元素的引用格式
由于聲明并初始化一維數(shù)組之后,可以把一維數(shù)組的每個(gè)元素當(dāng)作一個(gè)變量來(lái)使用。一維數(shù)組元素引用語(yǔ)法格式如下:
數(shù)組名- 一維數(shù)組的簡(jiǎn)單應(yīng)用案例
下面給出一個(gè)案例程序演示。定義6個(gè)整數(shù)元素的數(shù)組,統(tǒng)計(jì)元素值小于60的元素個(gè)數(shù)。
public 同一個(gè)案例,給出另一種形式的代碼。注意在第一行用import語(yǔ)句導(dǎo)入了數(shù)組工具類Arrays,否則無(wú)法在下文使用Arrays.toString()語(yǔ)句。
import 4.2 二維數(shù)組
- 二維數(shù)組的概念
日常生活中的許多問(wèn)題從邏輯上看是由若干行和列組成的,例如下表所示的學(xué)生成績(jī)單。如果把一堆數(shù)組看作幾何中的線性圖形,那么二維數(shù)組相當(dāng)于一個(gè)二維表格。這個(gè)二維表格分解為3個(gè)一維數(shù)組,每個(gè)一維數(shù)組有5個(gè)元素(5列)。如下圖所示:
- 二維數(shù)組的聲明
二維數(shù)組聲明語(yǔ)法格式如下:
數(shù)據(jù)類型- 二維數(shù)組的初始化方式類型
1.靜態(tài)初始化
二維數(shù)組的靜態(tài)初始化方式與一維數(shù)組不同。二維數(shù)組的靜態(tài)初始化,在大括號(hào)內(nèi)有幾組大括號(hào),每組大括號(hào)內(nèi)的初值會(huì)依序指定給數(shù)組的0、1、... 、n行元素。語(yǔ)法格式如下:
數(shù)據(jù)類型2.利用new關(guān)鍵字初始化
與一維數(shù)組不同的是,利用new關(guān)鍵字為二維數(shù)組分配存儲(chǔ)空間時(shí),必須明確指出二維數(shù)組行與列的數(shù)目。“行數(shù)”說(shuō)明與所聲明的數(shù)組有多少行,“列數(shù)”則說(shuō)明該數(shù)組有多少列。例如:
int[][] list; //聲明二維整型數(shù)組list
list = new int[3][3]; //分配存儲(chǔ)空間與一維數(shù)組類似,也可以在聲明數(shù)組的同時(shí)分配存儲(chǔ)空間。
數(shù)據(jù)類型[][]數(shù)組名 = new 數(shù)據(jù)類型[行數(shù)][列數(shù)];例如:int[][] list = new int[3][3];*上面語(yǔ)句中,list數(shù)組有3*3=9個(gè)元素。而在Java語(yǔ)言中,每個(gè)int類型占4個(gè)字節(jié)存儲(chǔ)空間。因此,數(shù)組list占用的內(nèi)存空間共4*9=36個(gè)字節(jié)。注意,在利用new關(guān)鍵字進(jìn)行初始化時(shí),可以保持行指定有元素而列不指定元素,但是不能指定行元素為空。先指定行元素可視為先建立一維數(shù)組。
- 一維數(shù)組元素的引用格式
引用二維數(shù)組某個(gè)元素的語(yǔ)法格式如下:
二維數(shù)組名引用二維數(shù)組行數(shù)目的語(yǔ)法格式如下:
二維數(shù)組名引用二維數(shù)組第i行列的數(shù)目:
二維數(shù)組名[i].length- 二維數(shù)組的簡(jiǎn)單應(yīng)用案例
下面給出一個(gè)案例程序演示。靜態(tài)初始化二維數(shù)組list,并遍歷該二維數(shù)組。
public 下面給出一個(gè)程序案例演示。下表顯示了3個(gè)學(xué)生三門課程的成績(jī),計(jì)算每個(gè)學(xué)生的平均分并輸出。
public 下面給出一個(gè)程序演示案例。初始化一個(gè)二維數(shù)組,把這些數(shù)據(jù)保存在一個(gè)一維數(shù)組中,隨后輸出二維數(shù)組和這個(gè)一維數(shù)組。
import - Java的不規(guī)則二維數(shù)組
例如:某中學(xué)第4學(xué)期開設(shè)了6門課,分別是語(yǔ)文,數(shù)學(xué),英語(yǔ),科學(xué),體育,藝術(shù),其中前3門是必修課,后3門可以選修,也可以不選修。現(xiàn)在有4個(gè)學(xué)生,第一個(gè)學(xué)生選修了前面的3門課,第二個(gè)學(xué)生選修了前面的4門課,第三個(gè)學(xué)生選修了5門課,第四個(gè)學(xué)生選修了6門課。選課情況如下表所示:
如果定義4(行)x6(列)的二維數(shù)組,因?yàn)槟承┩瑢W(xué)沒有選課導(dǎo)致浪費(fèi)了存儲(chǔ)空間,并且也給處理帶來(lái)了一些困難。這種情況可以采用Java語(yǔ)言的不規(guī)則二維數(shù)組進(jìn)行處理。語(yǔ)法格式如下:
public 4.3 操作數(shù)組
- foreach語(yǔ)句
foreach語(yǔ)句是Java 1.5的新特性之一,為開發(fā)人員遍歷數(shù)組和集合提供了極大方便之處。但foreach語(yǔ)句不能應(yīng)用于更改集合內(nèi)容,這可能會(huì)導(dǎo)致產(chǎn)生不可預(yù)知的副作用。foreach語(yǔ)句是for語(yǔ)句的特殊簡(jiǎn)化版本,但是foreach語(yǔ)句ngbing不能完全取代for語(yǔ)句,在需要更改集合或者數(shù)組內(nèi)容時(shí)采用for語(yǔ)句。任何的foreach語(yǔ)句都可以改寫為for語(yǔ)句。語(yǔ)法格式如下:
for(元素類型 元素變量x:遍歷的集合或者數(shù)組對(duì)象){
//循環(huán)體語(yǔ)句,操作元素變量x
下面給出一個(gè)程序案例演示。利用foreach語(yǔ)句遍歷一維數(shù)組。
/*
下面給出一個(gè)程序案例演示。利用foreach語(yǔ)句遍歷二維數(shù)組。
import 下面給出一個(gè)程序案例演示。利用foreach語(yǔ)句初始化一個(gè)整型的一維數(shù)組,從小到大排序后輸出所有元素。
import - 利用java.util.Arrays類提供的方法操作數(shù)組
java.util.Arrays類是JDK中的一個(gè)工具類,提供了處理數(shù)組的各種方法。例如排序、查找、復(fù)制和比較等。而且這些方法都是靜態(tài)方法,能直接通過(guò)類名Arrays進(jìn)行調(diào)用。1. 排序方法sort()
用二分查找算法在給定數(shù)組中搜索給定值的對(duì)象(Byte,Int,double等)。數(shù)組在調(diào)用前必須排序好的。如果查找值包含在數(shù)組中,則返回搜索鍵的索引;否則返回 (-(插入點(diǎn)) - 1)。
public 2. 查找方法binarySearch()
對(duì)指定對(duì)象數(shù)組根據(jù)其元素的自然順序進(jìn)行升序排列。
public 3.復(fù)制數(shù)組copyOfRange()
original為原始數(shù)組,from為復(fù)制的起始位置,to為復(fù)制的結(jié)束位置。
public 4.比較方法equals()
該方法比較對(duì)應(yīng)位置的元素內(nèi)容。兩個(gè)參數(shù)對(duì)應(yīng)進(jìn)行比較的兩個(gè)數(shù)組。
public 下面給出一個(gè)程序案例演示。初始化數(shù)組list,int[ ] list = {4,6,1,2,9},對(duì)該數(shù)組進(jìn)行排序sort,查找元素binarySearch。
import 下面給出一個(gè)程序案例演示。復(fù)制該數(shù)組copyofRange。
import 下面給出一個(gè)程序案例演示。用equals方法比較數(shù)組是否相同。
import - 數(shù)值對(duì)象賦值
數(shù)組屬于引用類型,數(shù)組名保存的是數(shù)組對(duì)象的首地址。數(shù)組對(duì)象之間的賦值僅僅復(fù)制地址,并不會(huì)復(fù)制數(shù)組的元素。
下面給出一個(gè)程序案例演示。
import 總結(jié)
以上是生活随笔為你收集整理的java程序设计_Java程序设计:学习笔记(4-5)(未完工)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 请问考B2驾驶证要多少钱啊
- 下一篇: 华为手机连电脑_手机装进电脑里 华为Ma