




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、班級: 學號: 姓名: 第五章 數(shù)組與字符串知識點一:java的內(nèi)存分配機制內(nèi)存分配:棧內(nèi)存、堆內(nèi)存。棧內(nèi)存:基本數(shù)據(jù)類型的變量和對象的引用變量。超出變量的作用域,會自動釋放掉為該變量所分配的內(nèi)存空間。堆內(nèi)存:存放由new運算符創(chuàng)建的對象和數(shù)組,在堆中分配的內(nèi)存,由java虛擬機的自動垃圾回收器來管理。舉例:int x; x=new int10; 第一句:引用變量x,在棧內(nèi)存中分配空間 第二句:數(shù)組初始化,在堆內(nèi)存中分配空間棧中的變量x的取值= 數(shù)組在堆內(nèi)存中的首地址,所以棧中的這個變量就成了數(shù)組的引用變量。舉例string s1; string s2;s1=“a string”; s2=s1
2、;s1s210001a string10001棧內(nèi)存堆內(nèi)存引用變量實際上保存的是數(shù)組或?qū)ο笤诙褍?nèi)存中的地址(也稱為對象的句柄),所以可以通過使用棧的引用變量來訪問堆中的數(shù)組或?qū)ο?。引用變量相當于是為?shù)組或?qū)ο笃鸬囊粋€別名。引用變量是普通變量,定義時在棧中分配,在程序運行到其作用域之外被釋放。數(shù)組或?qū)ο螅涸诙阎蟹峙鋬?nèi)存,在沒有引用變量指向它時,也不會釋放,但會變?yōu)槔?,不能再被使用。在隨后一個不確定的時間被垃圾回收器收走(釋放)。null:引用常量,如果某個引用變量值為null,表示不指向任何對象或數(shù)組。知識點二:一維數(shù)組數(shù)組:相同數(shù)據(jù)類型的元素按一定順序排列的集合,實現(xiàn)對這些數(shù)據(jù)的統(tǒng)一管理。聲
3、明方式type var 或 type var;type指定數(shù)組的類型,可以是基本數(shù)據(jù)類型,也可以是一個類類型(即類名),如 int a; int a1; double b; 注意:java語言中聲明數(shù)組時不能指定其長度(數(shù)組中元素的個數(shù))。例如:int a5; /非法所有的數(shù)組下標從零開始a 、動態(tài)初始化數(shù)組定義與為數(shù)組元素分配空間并賦值的操作分開進行使用運算符new來為數(shù)組所要存儲的數(shù)據(jù)分配內(nèi)存,并將它們分配給數(shù)組變量int a;a = new int3;a0 = 3;a1 = 9;a2 = 8;b、靜態(tài)初始化 在定義數(shù)組的同時為數(shù)組元素分配空間并賦值int a = 3, 9, 8;myda
4、te dates = new mydate(22, 7, 1964), new mydate(1, 1, 2000), new mydate(22, 12, 1964);c、數(shù)組元素的默認初始化數(shù)組是引用類型,它的元素相當于類的成員變量數(shù)組一經(jīng)分配空間,其中的每個元素也被按照成員變量同樣的方式被隱式初始化,比如在下例中,整型數(shù)組a中的元素并未顯示的初始化,此時所有元素系統(tǒng)默認賦值為0。public class test public static void main(string argv)int a= new int5;system.out.println(a3); (1) 數(shù)組元素的引用定
5、義并用運算符new為之分配空間后,才可以引用數(shù)組中的每個元素數(shù)組元素的引用方式:arraynameindexindex為數(shù)組元素下標,可以是整型常量或整型表達式,如a3 , bi , c6*i數(shù)組元素下標從0開始;長度為n的數(shù)組合法下標取值范圍:0 n-1每個數(shù)組都有一個屬性length指明它的長度,例如a.length 指明數(shù)組a的長度(元素個數(shù))知識點三:多維數(shù)組定義多維數(shù)組變量時,將每維數(shù)放在各自的方括號中,例:下面語句聲明了一個名為twod的二維數(shù)組變量 int twod = new int45;該語句分配一個4行5列數(shù)組并把它分配給數(shù)組twod當給多維數(shù)組分配內(nèi)存時,只需指定第一個(
6、即最左邊)維數(shù)的內(nèi)存即可,可單獨地對余下的維數(shù)進行內(nèi)存分配(2)多維數(shù)組舉例例如,int twod = new int4;在數(shù)組twod被定義時給它的第一個維數(shù)分配內(nèi)存,對第二維則是手工分配內(nèi)存 int t1 = new int 4; /非法twod0 = new int5; twod1 = new int5; twod2 = new int5; twod3 = new int5; (3)java中多維數(shù)組的特殊情況不必須是規(guī)則矩陣形式int tt = new int4; tt0 = new int2; tt1 = new int4;tt2 = new int6; tt3 = new int8
7、;知識點四:字符串string類字符串:字符串是由字符組成的序列,用雙引號括起來的一個字符序列構(gòu)成了字符串java的字符串常量通常是作為string類的對象存在,有專門的屬性來規(guī)定它的長度。string 類的定義和實例的生成(三種方式) string str; str=“this is a string” 或者 str=new string(“this is a string”);或 string str1=new string(“hello”);或 string str2=“aaaa”;對字符串的操作,兩個字符串str1, str2str1 = str2; 指兩個引用指向同一個地址str1.
8、equals(str2); 判斷兩個字符串內(nèi)容是否相等string astr=helloworld!;string bstr=helloworld!;if(astr.equals(bstr) / 取值為真if(astr=bstr) / 取值為真,練習題:1、 若已有數(shù)組說明“char s;”,則創(chuàng)建20個字符的數(shù)組的語句是 。2、在java中定義一個字符串類型的變量str的語句是: ,定義一個具有10個元素的整型數(shù)組a的語句是: 。3、下列程序的輸出結(jié)果是 。 public class test public static void main(string args) int a=1,2,3,
9、4; for(int i=a.length-1;i=0;i-) system.out.print(ai+ ); 4、 當聲明一個數(shù)組int arr = new int5; 時,這代表這個數(shù)組所保存的變量類型是 ,數(shù)組名是 ,數(shù)組的大小為 ,數(shù)組元素下標的使用范圍是 。5、 下列關(guān)于數(shù)組的定義形式,哪個是正確的?( )aint c=new char10; bint 3=new int2 ;cint a; a=new int; dchar b ; b=new char80;6、 執(zhí)行string s=new string10;語句后,哪些結(jié)論是正確的?( )as0 為 未定義 bs.length
10、為10cs9 為 null ds10 為 7、 給出下面代碼,關(guān)于該程序以下哪個說法是正確的?( )public class person static int arr = new int5;public static void main(string a) system.out.println(arr0); a、編譯時將產(chǎn)生錯誤b、編譯時正確,運行時將產(chǎn)生錯誤c、輸出零 d、輸出空8、 以下程序的輸出結(jié)果是 。class stringtest public static void main(string args) string str1 = java; string str2 = java
11、; string str3 = new string(java); boolean result1 = str1.equals(str2); boolean result2 = str2.equals(str3); boolean result3 = str1=str2; boolean result4 = str2=str3; system.out.println(result1+,+result2+,+result3+,+result4); 9、 下列程序段執(zhí)行后的結(jié)果是( )。 string s = new string(abcdefg);for (int i=0; is.length(
12、); i+=2) system.out.print(s.charat(i); a) aceg b) aceg c) abcdefg d) abcd 10、 已知如下定義:string s = story; 下面哪個語句不是合法的( )a、s += books;b、s = s + 100;c、int len = s.length;d、string t = s + “abc”;11、下列數(shù)組定義及賦值,錯誤的是( )a. int intarray=new int2;b. int intarray=new int3;intarray1=1;intarray2=2;intarray3=3;c. float b=1.2, 2.1, 3.5, 4.3, 5.6;d. int a =new int2;a0=new int4;a1=new int23;12、若string s = hello; string t =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DBJ04-T488-2025 《綠道建設標準》
- 人教版(2019) 必修第一冊 Unit 5 Languages Around the World Reading and thinking 課件
- Brand KPIs for neobanking Aspiration in the United States-英文培訓課件2025.4
- 汽車傳感器與檢測技術(shù)電子教案:萬用表檢測傳感器故障的方法
- 兩大主流資本結(jié)構(gòu)理論概述
- 梅州市房地產(chǎn)市場專題調(diào)研報告
- 單位人員怎樣管理制度
- 培訓學校規(guī)則管理制度
- 中考地理復習教案專題三 自然地理要素之間的相互聯(lián)系-綜合思維
- 從化夏天拓展活動方案
- (2024年)發(fā)生輸液反應時應急預案及處理流程
- SA8000:2014社會責任-中文
- 化工企業(yè)安全管理評估手冊 依據(jù)化工過程安全管理導則AQ3034-2022
- 四年級如何進行有效期末復習課件
- 北京開放大學《集裝箱班輪運輸業(yè)務與法律》終結(jié)性考試復習題庫(附答案)
- DB32/T 4700-2024 蓄熱式焚燒爐系統(tǒng)安全技術(shù)要求
- 腫瘤醫(yī)院推廣方案
- 公路混凝土橋梁火災后安全性能評定技術(shù)規(guī)程
- 公路工程安全風險辨識與防控手冊
- 藥品共線生產(chǎn)質(zhì)量風險管理指南
- 海南大學本科畢業(yè)論文正文范文
評論
0/150
提交評論