日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

一、Java语言基础(4)_方法和数组——数组

發(fā)布時(shí)間:2023/12/10 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一、Java语言基础(4)_方法和数组——数组 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2018-04-25

不悔夢(mèng)歸處,只恨未盡心

?

數(shù)組

?

一、一維數(shù)組

?

  

?

  • 數(shù)組的含義:具有相同類(lèi)型的多個(gè)變量按有序形式組織起來(lái)的數(shù)據(jù)形式。(數(shù)組是用來(lái)存儲(chǔ)固定大小的同類(lèi)型元素。)
  • 數(shù)組的定義:
  •     方式1(推薦使用):數(shù)組元素類(lèi)型[] 數(shù)組名稱(chēng);  如:int[] ages;  (可以把 int[] 看成一個(gè)整體,看成一種數(shù)據(jù)類(lèi)型,int類(lèi)型的數(shù)組)

        方式2:數(shù)組元素類(lèi)型 數(shù)組名稱(chēng)[];  如:int ages[];

        數(shù)組必須初始化才能使用,因?yàn)槌跏蓟硎驹趦?nèi)存存中分配空間。

    ?

      3.數(shù)組的初始化:

        數(shù)組是定長(zhǎng)的:一旦初始化完成,數(shù)組的長(zhǎng)度(數(shù)組元素個(gè)數(shù))就固定了,不能改變。如果需要更改,只能重新初始化。

    ?  

        

    ?

        

      • 靜態(tài)初始化

           由程序員為每一個(gè)數(shù)組元素設(shè)置初始值,而數(shù)組的長(zhǎng)度由系統(tǒng)自動(dòng)分配

           語(yǔ)法:數(shù)組元素類(lèi)型[] 數(shù)組名 = new?數(shù)組元素類(lèi)型[]{元素1,元素2,元素3,...};  new關(guān)鍵字:在堆空間開(kāi)辟一塊內(nèi)存區(qū)域,用來(lái)存儲(chǔ)數(shù)據(jù)。

              舉例:int[] num = new int[]{1,3,5,7,9};  

              簡(jiǎn)單寫(xiě)法(必須申明的同時(shí)并初始化,不能先聲明后初始化):int[] num = {1,3,5,7,9};

      • 動(dòng)態(tài)初始化   

          由程序員設(shè)置數(shù)組元素個(gè)數(shù)(數(shù)組長(zhǎng)度),而每一個(gè)數(shù)組元素的初始值由系統(tǒng)決定。        

           語(yǔ)法:數(shù)組元素類(lèi)型[] 數(shù)組名 =?new?數(shù)組元素類(lèi)型[length];      

           舉例:int[] num = new int[100];

    ?

      4.靜態(tài)初始化內(nèi)存分析

      

    ?

      5.動(dòng)態(tài)初始化內(nèi)存分析

      

    ?

      6.數(shù)組的基本操作

      • 獲取數(shù)組元素

          元素類(lèi)型 變量 = 數(shù)組名[index];  index表示索引

      • 設(shè)置元素

          數(shù)組名[index] = 值;

      • 遍歷數(shù)組

           建議使用for循環(huán)遍歷

      • 數(shù)組長(zhǎng)度

           int num = 數(shù)組名.length; ?(length是屬性,不是方法)

      • 索引范圍  

           [0,length-1]  從0開(kāi)始,逐一遞增

    ?

    數(shù)組基本操作的代碼:

    1 //數(shù)組的基本操作 2 3 class ArrayDemo 4 { 5 public static void main(String[] args){ 6 7 int[] num1 = new int[]{1,3,5,7,9}; 8 9 System.out.println("數(shù)組的長(zhǎng)度=" + num1.length); 10 System.out.println("數(shù)組第一個(gè)元素=" + num1[0]);//獲取數(shù)組元素 11 12 //修改(設(shè)置)num1數(shù)組的第一個(gè)元素 13 num1[0] = 100; 14 System.out.println("數(shù)組第一個(gè)元素=" + num1[0]);//獲取數(shù)組元素 15 16 System.out.println("----------------------------"); 17 18 //遍歷數(shù)組 19 System.out.println("數(shù)組第一個(gè)元素=" + num1[0]); 20 System.out.println("數(shù)組第二個(gè)元素=" + num1[1]); 21 System.out.println("數(shù)組第三個(gè)元素=" + num1[2]); 22 System.out.println("數(shù)組第四個(gè)元素=" + num1[3]); 23 System.out.println("數(shù)組第五個(gè)元素=" + num1[4]); 24 25 System.out.println("----------------------------"); 26 27 //使用for循環(huán)遍歷數(shù)組 28 for(int index = 0; index < num1.length; index++){ 29 System.out.println(num1[index]); 30 } 31 } 32 }

    ?

    輸出結(jié)果:

      

      7.?操作數(shù)組常見(jiàn)異常

      • NullPointerException:空指針異常(空引用異常)  

          當(dāng)數(shù)組沒(méi)有初始化,就直接操作數(shù)組,就會(huì)出現(xiàn)空指針異常  

          如: int[] bs = null;

            System.out.println(bs.length); ?

      • ArrayIndexOutOfBoundsException:數(shù)組的索引越界異常

          如: int[] a?= {100};

             System.out.println(a[-1]);

    ?  

      8.獲取數(shù)組最大和最小元素

        輸出結(jié)果:10

    1 class ArrayDemo2 2 { 3 4 //獲取數(shù)組最大元素 5 public static int getMax(int[] num){ 6 int max = num[0];//假設(shè)第一個(gè)元素是最大值 7 for(int index = 1; index < num.length; index++){ 8 if(num[index] > max){ 9 max = num[index]; //把最大值存儲(chǔ)在max變量里 10 } 11 } 12 return max; 13 14 } 15 16 public static void main(String[] args) 17 { 18 19 int[] num = new int[]{-3,0,2,1,10}; 20 21 int max = ArrayDemo2.getMax(num); 22 System.out.println(max); 23 } 24 }

    ?

      9.按格式打印數(shù)組元素

    ?

    1 class ArrayDemo2 2 { 3 4 5 6 public static void main(String[] args) 7 { 8 9 10 String[] arr = {"A","B","C","D","E"}; 11 ArrayDemo2.printArrary(arr); 12 } 13 static void printArrary(String[] arr){ 14 //如果數(shù)組為空,則輸出null 15 if(arr == null){ 16 System.out.println("null"); 17 return; //結(jié)束方法 18 } 19 20 String ret = "["; 21 //遍歷數(shù)組 22 for(int index = 0; index < arr.length; index++){ 23 ret = ret + arr[index]; 24 //如果當(dāng)前index不是最后一個(gè)索引,則拼接“,” 25 if(index != arr.length-1){ 26 ret = ret + ", "; 27 } 28 } 29 ret = ret + "]"; 30 31 System.out.println(ret); 32 } 33 }

    ?

    ?

    輸出結(jié)果:

    ?

      10.逆序排列數(shù)組元素

    ?

    1 class ArrayDemo2 2 { 3 4 public static void main(String[] args) 5 { 6 String[] arr = {"A","B","C","D","E"}; 7 ArrayDemo2.printArrary(arr); 8 String[] newArr = ArrayDemo2.reverse(arr); 9 ArrayDemo2.printArrary(newArr); 10 } 11 static void printArrary(String[] arr){ 12 //如果數(shù)組為空,則輸出null 13 if(arr == null){ 14 System.out.println("null"); 15 return; //結(jié)束方法 16 } 17 18 String ret = "["; 19 //遍歷數(shù)組 20 for(int index = 0; index < arr.length; index++){ 21 ret = ret + arr[index]; 22 //如果當(dāng)前index不是最后一個(gè)索引,則拼接“,” 23 if(index != arr.length-1){ 24 ret = ret + ", "; 25 } 26 } 27 ret = ret + "]"; 28 29 System.out.println(ret); 30 } 31 32 static String[] reverse(String[] oldArr){ 33 34 //創(chuàng)建一個(gè)新數(shù)組,用來(lái)存放就數(shù)組逆序之后的元素 35 String[] newArr = new String[oldArr.length]; 36 for(int index = oldArr.length-1; index >= 0; index--){ 37 newArr[oldArr.length-1-index] = oldArr[index]; 38 } 39 return newArr; 40 } 41 }

    ?

    ?輸出結(jié)果:

    ?

    ?

    ?  11.元素出現(xiàn)索引(線(xiàn)性搜索)

    ?

    class ArraySearchDemo {public static void main(String[] args) {int[] arr = {10,20,30,10,50,-30,10};int beginIndex = ArraySearchDemo.indexOf(arr,10);System.out.println(beginIndex);int endIndex = ArraySearchDemo.lastIndexOf(arr,10);System.out.println(endIndex);}/*查詢(xún)key元素在arr數(shù)組中第一次出現(xiàn)的位置參數(shù):arr:從哪一個(gè)數(shù)組中去做查詢(xún)key:當(dāng)前去查詢(xún)的元素返回:如果key存在于arr數(shù)組中,則返回第一次出現(xiàn)的索引如果key不存在于arr數(shù)組中,則返回-1*/static int indexOf(int[] arr,int key){for(int index = 0; index < arr.length; index++){if(arr[index] == key){return index;}}return -1;}//獲取key參數(shù)在arr數(shù)組中最后出現(xiàn)的索引位置static int lastIndexOf(int[] arr,int key){for(int index = arr.length-1; index >= 0; index--){if(arr[index] == key){return index;}}return -1;} }

    ?

    ?

    ?

    ?

    輸出結(jié)果:

    ?

    ?

    ?

    ?

        

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/sunNoI/p/8942465.html

    總結(jié)

    以上是生活随笔為你收集整理的一、Java语言基础(4)_方法和数组——数组的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。