天天看點

基礎篇——數組數組的概述:數組的周遊(兩種方式):Arrays類:注意:

寫代碼的四點:      1.明确需求。要做什麼?      2.分析思路。要怎麼做?(1,2,3……)      3.确定步驟。每一個思路要用到哪些語句、方法和對象。      4.代碼實作。用具體的語言代碼将思路實作出來。   學習新技術的四點:      1.該技術是什麼?      2.該技術有什麼特點?(使用需注意的方面)      3.該技術怎麼使用?(寫Demo)      4.該技術什麼時候用?(在Project中的使用場景 )   ----------------------早計劃,早準備,早完成。-------------------------

數組的概述:

        數組是同一種類型資料的集合,是一個容器,用來存儲固定大小的同類元素。它可以自動給數組中的元素從0開始編号,友善操作。         數組的元素是通過索引通路的,數組索引從0開始,是以索引值從0到元素個數 -1;         數組可以作為函數的參數和函數的傳回值使用。         數組可以通過下标來引用。Java對數組元素要進行越界檢查以保證安全性。         數組通過length屬性來指明它的長度。   聲明數組變量:         格式1:元素類型【】 元素名;(推薦) int[] arrayInt ;         格式2:元素類型    元素名【】; int arrayInt[] ;   一維數組的初始化:         格式1:元素類型【】  元素名 = new  元素類型【元素個數或數組長度】;                     動态初始化,可以在聲明以後進行初始化。 int [] arrayInt = new int [ 3 ] ; arrayInt[ 0 ] = 1 ; arrayInt[ 1 ] = 2 ; arrayInt[ 2 ] = 3 ;         格式2:元素類型【】  元素名 = {元素0,元素1,......};                     靜态初始化,在聲明數組的同時進行初始化。 int[] arrayInt = { 9 , 3 , 7} ;   二維數組的初始化:         格式1:元素類型【】【】  元素名  = { { 元素00,元素01 } , { 元素10,元素11,元素12},......}; int[][] arrayTwoInt = {{ 3 , 2} , { 11 , 22} , { 8 , 7 , 4}} ;                     解釋:定義了名稱為arrayTwoInt的二維數組,二維數組中有3個一維數組,                               前兩個一維數組中有2個元素,最後一個一維數組中有3個元素。                               數組空間不是連續配置設定,是以不要求二維數組中的每一維的大小相同。         格式2:元素類型【】【】  元素名  = new  元素類型【一維數組個數】【一維數組的元素個數】; int[][] arrayTwoInt = new int[ 3][ 2] ;                     解釋:定義了名稱為arrayTwoInt的二維數組,二維數組中有3個一維數組,                               每一個一維數組中有2個元素。         格式3:元素類型【】【】  元素名  = new  元素類型【一維數組個數】【】; int[][] arrayTwoInt = new int[ 3][] ; arrayTwoInt[ 0] = new int[ 3] ; arrayTwoInt[ 1] = new int[ 2] ; arrayTwoInt[ 2] = new int[ 1] ;                     解釋:定義了名稱為arrayTwoInt的二維數組,二維數組中有3個一維數組,                               每個一維數組都是預設初始化值null,可以分别對三個一維數組進行初始化,                               arrayTwoInt[0]  =  new int[3];                               arrayTwoInt[1]  =  new int[2];                               arrayTwoInt[2]  =  new int[1];     多元數組:依照二維數組,以此類推。    

數組的周遊(兩種方式):

        1.通過for循環周遊數組,以擷取數組中的每一個元素。 int[] arrayInt = { 9 , 3 , 7} ; for ( int i = 0 ; i < arrayInt. length ; i++) {         LogUtil. e( "輸出數組中的每一個元素" , "第" + i + "個元素:" + arrayInt[i]) ; }                  2.“增強”for循環,專門用來周遊數組。 int[] arrayInt = { 9 , 3 , 7} ; for ( int element : arrayInt) {         LogUtil. e( "輸出數組中的每一個元素" , element + "") ; }    

Arrays類:

        java.util.Arrays類能友善地操作數組,它提供的所有方法都是靜态的。   包含以下功能:         1.數組指派:通過fill方法; int [] ints = new int [ 5 ] ; Arrays. fill (ints , 4 ) ; for ( int i = 0 ; i < ints. length ; i++) {         LogUtil. e ( "填充數組:Arrays.fill(array, 4)" , ints[i] + "" ) ; } Arrays. fill (ints , 2 , 4 , 8 ) ;//數組,腳标起始點,腳标終止點(包含頭不包含尾),填充的值 for ( int i = 0 ; i < ints. length ; i++) {         LogUtil. e ( "将數組的第2和第3個元素指派為8:Arrays.fill(array, 2, 4, 8)" , ints[i] + "" ) ; }                  2.數組排序:通過sort方法(升序); int[] array = { 19 , 5 , 11 , 34 , 23 , 9 , 7} ; Arrays. sort(array , 2 , 7) ; //數組,腳标起始點,腳标終止點(包含頭不包含尾) for ( int i = 0 ; i < array. length ; i++) { LogUtil. e( "對數組的第2個到第6個元素進行升序排序:Arrays.sort(array,2,7)" , array[i] + "") ; } Arrays. sort(array) ; for ( int i = 0 ; i < array. length ; i++) { LogUtil. e( "對整個數組進行升序排序:Arrays.sort(array)" , array[i] + "") ; }                  3.比較數組:通過equals方法比較數組中元素值是否相等; int[] array1 = { 19 , 5 , 11 , 34 , 23 , 9 , 7} ; int[] array2 = { 0 , 5 , 11 , 34 , 23 , 9 , 7} ; Arrays. equals(array1 , array2) ; LogUtil. e( "比較數組元素是否相等:Arrays.equals(array1, array2)" , Arrays. equals(array1 , array2) + "") ; int[] array3 = array2.clone() ; Arrays. equals(array2 , array3) ; LogUtil. e( "克隆後數組元素是否相等:Arrays.equals(array2, array3)" , Arrays. equals(array2 , array3) + "") ;                  4.查找數組元素:通過binarySearch方法對排序好的數組進行二分查找法操作。 int[] array = { 19 , 5 , 11 , 34 , 23 , 9 , 7} ; //使用二分搜尋算法查找指定元素所在的腳标(必須是排序好的,否則結果不正确) Arrays. sort(array) ; Arrays. binarySearch(array , 7) ; LogUtil. e( "元素7在array中的位置:Arrays.binarySearch(array, 7)" , Arrays. binarySearch(array , 7) + "") ; Arrays. binarySearch(array , 100) ; //如果不存在就傳回負數-8(-(數組的長度 + 1)) LogUtil. e( "元素100在array中的位置:Arrays.binarySearch(array, 100)" , Arrays. binarySearch(array , 100) + "") ;                     5.将多種類型的數組轉成String類型字元串: int[] array = { 19 , 5 , 11 , 34 , 23 , 9 , 7} ; boolean[] array1 = { true, false} ; String s = Arrays. toString(array1) ; LogUtil. e( "将多種類型的數組轉成String類型字元串" , s) ;  

注意:

        1.記憶體一旦配置設定不能改變,是以說靜态數組一旦被聲明,它的容量就固定了,不容改變。             是以在聲明數組時,一定要考慮數組的最大容量,防止容量不夠的現象。         2.如果想要在運作程式時改變容量,就需要用到數組清單(ArrayList,也稱為動态數組)或             向量(Vector)。

---------------------------------------------------------------------------------------------------------------------------

早計劃,早準備,早完成。 歡迎關注!交流!Star!

GitHub:https://github.com/wangyang0313

微信公衆号:一個靈活的胖子MrWang

簡書:https://www.jianshu.com/u/e5e733d79b96  

基礎篇——數組數組的概述:數組的周遊(兩種方式):Arrays類:注意: