




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 第三章第三章 Java基本語法基本語法 本章導讀本章導讀 n1.數(shù)組n2.數(shù)組的練習n3.數(shù)組二分查找n4.排序算法:快速排序n5.排序算法:冒泡排序n6.二維數(shù)組介紹 1. 數(shù)組數(shù)組n數(shù)組概述n需求:現(xiàn)在需要統(tǒng)計某公司員工的工資情況,例如計算平均工資、找到最高工資等。假設該公司有80名員工,用前面所學的知識,程序首先需要聲明80個變量來分別記住每位員工的工資,然后在進行操作,這樣做會顯得很麻煩。為了解決這種問題,Java就提供了數(shù)組供我們使用。 1. 數(shù)組數(shù)組n數(shù)組概念n數(shù)組是存儲同一種數(shù)據類型多個元素的集合。也可以看成是一個容器。n數(shù)組既可以存儲基本數(shù)據類型,也可以存儲引用數(shù)據類型。n數(shù)
2、組的定義格式n格式1:數(shù)據類型 數(shù)組名;n格式2:數(shù)據類型 數(shù)組名;n注意:這兩種定義做完了,數(shù)組中是沒有元素值的。 如何對數(shù)組的元素進行初始化呢? 1. 數(shù)組初始化數(shù)組初始化n數(shù)組初始化概述:lJava中的數(shù)組必須先初始化,然后才能使用。l初始化:為數(shù)組中的元素分配內存空間,并為每個元素賦值。n數(shù)組的初始化方式l動態(tài)初始化:初始化時只指定數(shù)組元素的個數(shù),由系統(tǒng)為每個元素分配初始值。l靜態(tài)初始化:初始化時指定每個數(shù)組元素的初始值,由系統(tǒng)決定數(shù)組長度。l不能夠既指定長度,又指定元素值 1. 數(shù)組動態(tài)初始化數(shù)組動態(tài)初始化n動態(tài)初始化:初始化時只指定數(shù)組元素的個數(shù),由系統(tǒng)為每個元素分配初始值。n格式
3、:n數(shù)據類型 數(shù)組名 = new 數(shù)據類型數(shù)組長度;n數(shù)組長度其實就是數(shù)組中元素的個數(shù)。n舉例:nint arr = new int3;narr0=1;narr1=2;narr2=3;n解釋:定義了一個int類型的數(shù)組,這個數(shù)組中可以存放3個int類型的值。 1. 數(shù)組靜態(tài)初始化數(shù)組靜態(tài)初始化n靜態(tài)初始化:初始化時指定每個元素的值,數(shù)組長度由系統(tǒng)決定n格式:n數(shù)據類型 數(shù)組名 = new 數(shù)據類型數(shù)組長度;n格式:n數(shù)據類型 數(shù)組名 = new 數(shù)據類型元素1,元素2,;n舉例:nint arr = new int1,2,3;n解釋:定義了一個int類型的數(shù)組,這個數(shù)組中可以存放3個int類型
4、的值,并且值分別是1,2,3。n其實這種寫法還有一個簡化的寫法nint arr = 1,2,3; 1. java中內存分配中內存分配nJava 程序在運行時,需要在內存中的分配空間。為了提高運算效率,就對空間進行了不同區(qū)域的劃分,因為每一片區(qū)域都有特定的處理數(shù)據方式和內存管理方式。n棧 存儲局部變量 Stackn堆 存儲new出來的東西n方法區(qū) (面向對象部分講)n本地方法區(qū) (和操作系統(tǒng)相關)n寄存器 (給CPU使用) 1. 數(shù)組的特點數(shù)組的特點nJava對分配到數(shù)組中的每一個元素都進行了編號,方便用戶操作。這個編號叫做索引(角標、下標)n索引值的范圍從0開始,最大值是數(shù)組的長度-1.n數(shù)組
5、有一個length屬性,可以查看數(shù)組的容量,也就是長度 1. 數(shù)組常見異常數(shù)組常見異常n索引越界異常。數(shù)組索引從0開始public static void main(String args) int x = 1, 2, 3 ;System.out.println(x3);/java.lang.ArrayIndexOutOfBoundsExceptionn空指針異常public static void main(String args) int x = 1, 2, 3 ;x = null;System.out.println(x1);/ java.lang.NullPointerExceptio
6、n 2. 數(shù)組的練習數(shù)組的練習n數(shù)組遍歷(依次輸出數(shù)組中的每一個元素)n數(shù)組獲取最值(獲取數(shù)組中的最大值最小值)n數(shù)組元素逆序 (就是把元素對調)n數(shù)組查表法(根據鍵盤錄入索引,查找對應星期)n數(shù)組元素查找(查找指定元素第一次在數(shù)組中出現(xiàn)的索引) 3. 數(shù)組的二分查找數(shù)組的二分查找n通過二分查找,縮小查找范圍,提高代碼運行效率n二分查找只適用于有序排列的數(shù)組 4. 數(shù)組快速排序數(shù)組快速排序n以一個角標的元素和其他元素進行比較。n在內循環(huán)第一次結束,最值出現(xiàn)的頭角標位置上 5. 數(shù)組冒泡排序數(shù)組冒泡排序n比較方式:相鄰兩個元素進行比較。如果滿足條件就進行位置置換。n原理:內循環(huán)結束一次,最值出現(xiàn)
7、在尾角標位置 6. 二維數(shù)組二維數(shù)組n二維數(shù)組概述n一包煙里面有20根煙,一條煙里面有10包煙,如何存儲這些數(shù)據呢?Java就提供了二維數(shù)組供我們使用。n由此可見:其實二維數(shù)組其實就是一個元素為一維數(shù)組的數(shù)組 6. 二維數(shù)組定義格式二維數(shù)組定義格式n格式1n數(shù)據類型 變量名 = new 數(shù)據類型mn;nm表示這個二維數(shù)組有多少個一維數(shù)組nn表示每一個一維數(shù)組的元素個數(shù)n舉例:nint arr = new int32;n定義了一個二維數(shù)組arrn這個二維數(shù)組有3個一維數(shù)組,名稱是arr0,arr1,arr2n每個一維數(shù)組有2個元素,可以通過arrmn來獲取n表示獲取第m+1個一維數(shù)組的第n+1個元素 6. 二維數(shù)組定義格式二維數(shù)組定義格式n格式2n數(shù)據類型 變量名 = new 數(shù)據類型m;nm表示這個二維數(shù)組有多少個一維數(shù)組n這一次沒有直接給出一維數(shù)組的元素個數(shù),可以動態(tài)的給出。n舉例:nint arr = new int3;narr0 = new int2;narr1 = new int3narr2 = new int1; 6. 二維數(shù)組定義格式二維數(shù)組定義格式n格式3n數(shù)據類型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 債權債務轉讓三方協(xié)議
- 建筑工地施工安全責任與材料供應方免責合同
- 鐵力市工程砌磚清包簡單合同(3篇)
- 終止購銷合作協(xié)議書
- 混凝土工作總結
- 人工智能應用推廣合同
- 專業(yè)馬戲團演出合同
- 建設項目擔保協(xié)議書
- 廠房鋼結構工程承包施工合同
- 機械設備租賃合同書
- 松材線蟲調查培訓
- 方志敏《可愛的中國》全文閱讀
- 2024年廣西區(qū)公務員錄用考試《行測》真題及答案解析
- 《地區(qū)智能電網調度技術支持系統(tǒng)應用功能規(guī)范》
- 框架借款協(xié)議書(2篇)
- 物業(yè)防恐防暴演練課件
- DB12-T 3034-2023 建筑消防設施檢測服務規(guī)范
- 銷售人員崗位職責培訓
- 助理醫(yī)師醫(yī)院協(xié)議書(2篇)
- 短暫性腦缺血發(fā)作
- 2024-2025學年九年級化學人教版上冊檢測試卷(1-4單元)
評論
0/150
提交評論