方法與數組

                   ------- android培訓java培訓、期待與您交流! ---------- 

 方法:是完成特定功能的代碼塊

方法的結構

以方法爲例

public static void main(String[] args){方法體; }

public static 修飾符

void 方法的返回值類型

main 方法名

(String[] args)方法的參數

 

方法的組成  

[修飾符 n] 方法的返回值類型方法名([參數列表 n]){

                           方法體

                            return;如果有返回值類型必須有return.

                     }

使用方法的注意事項

                     1.方法如果想要被執行,必須調用它

                     2.在類中我們可以有多個方法,方法是沒順序的,所有的執行都是從主方法開始。

                     3.java中方法要存在於類體內。絕對不允許在方法內嵌套方法

                     4.方法執行後回到方法的被調用處。

參數列表:它是用來接收外部數據以完成方法的功能.

      

參數聲明時可以有幾個,都可以是什麼類型?

參數的個數無限制,參數的類型可以是java的任意數據類型。

       如果有多個參數,那麼它們之間使用逗號(,)分開,並且每一個參數都要定義類型。

在調用方法時,如果方法有參數,必須傳參,並且順序要一致,類型要匹配.

 

實參:在調用方法是傳遞的參數.       

形參:在聲明方法是定義的參數

我們在調用方法的過程中,是將實參賦值給形參

             

我們在聲明方法時,什麼時候需要參數?

             當我們的方法完成功能時,是否需要外部數據參與。

             如果需要外部數據就需要定義參數,如果不需要,那麼就可以沒有參數.因爲變量是有作用範圍的,如果想在某個方法內使用其它範圍的數據。

       返回值類型

             如果一個方法沒有返回值,那麼必須聲明成 void

             如果有返回值,可以聲明成相應的類型,可以是java的任意類型

             如果有返回值,在方法體內必須有return關鍵字將值返回。

怎樣使用返回值類型

                     1.在方法聲明時定義返回值類型 類型是什麼,要根據返回的具體的值分析

                     2.知道了返回值類型,我們先在方法體內聲明一個與其類型匹配的變量來接收功能執行後的結果.

                     3.將這個變量返回   return變量名;

                     4.方法使用return返回後,我們可以在調用方法處接收方法的返回值。

什麼時候方法要有返回值

一般情況下,如果一個方法完成功能後,得到一個結果,這個結果,我們需要在外部去使用,

                    這時這個方法就需要有返回值.

return 注意事項

                     return下面不能在有語句

                如果一個方法沒有返回值類型,那麼在方法內可以使用return。這種操作一般情況都是讓方法結束。

 

在定義方法時兩個明確

                     1.明確參數   方法是否需要外部數據

                     2.明確返回值 方法執行後是否有結果,並且這個結果外部是否要使用。

       方法重載

             在一個類內具有相同的方法名,參數的個數,類型,類型排列順序不同可以形成方法重載.

              方法的返回值類型不同不可以做爲判斷重載的條件。

我們在定義名字時一直強調的  "見名知意"

爲什麼要使用重載?提高代碼的閱讀性,優化程序設計

 

數組是什麼?

             數組是容器,它是用來數據。

             使用數組我們是將有關聯的數據進行統一管理,這樣就可以使用數組。

數組的特點

              1.數組中的元素類型一致。2.數組的長度固定。3.數組中的元素是有順序的。

怎樣創建數組

1.動態*在開發中動態創建比靜態創建應用廣泛。

                    

                    元素類型 數組名=new元素類型[長度];

 

                    長度只能是int類型 可以是0

2.靜態

                    格式1

                    元素類型[]數組名={元素1,元素2,.....}

                    格式2

                    元素類型[]數組名=new元素類型[]{元素1,元素2,.....};

 

             創建數組示例

int[] arr=new int[5];

             

              /*

                    上面作用是:聲明一個可以裝入5int類型數據的數組。

                    等號左邊

                     int[]arr

 

                            int----->數組中元素的類型

 

                            []------>代表它是一個數組

 

                            arr----->數組名

 

                    等號右邊

                     newint[5];

 

                            new---->在內存中開闢空間 

 

                            int---->數組中元素的類型

                           

                            [5]----->代表數組的長度爲5,數組最多可以裝入5int類型數據。

 

              */

操作數組(操作數組中的元素)

 

             通過下標來操作數組中的元素。

 

             怎麼使用下標

                    數組名[下標] ------>得到數組中指定位置上的元素.

             數組的下標最大值是數組長度-1 

             數組長度是使用  數組名.length得到,返回的是一個int值。

 

用下標操作數組元素時,不僅可以取值,還可以賦值。

 

        初學者經常錯誤.在對元素進行操作時,就不要在加類型了。 int arr[0]=10;

 

        以後一提到數組,馬上想到  for+下標.

java的內存(棧和堆)的特點?

 1,棧內存中存放局部變量,當不在使用這些變量時,馬上自動清理掉。
        2,堆內存存放的是數組,對象,當這些數組,對象不在使用時,
       變成垃圾,只有執行垃圾回收器纔會被清理掉

數組操作中常見問題

              1.下標越界

                     Exceptionin thread "main" java.lang.ArrayIndexOutOfBoundsException:5

 

             下標的範圍  0-數組長度-1      

             怎樣可以得到數組長度      

                    數組名.length 得到的是一個int類型的值,它代表的是數組的長度

 

              2.空指針

                    引用沒有指向任意堆內的實體。

                     Exceptionin thread "main" java.lang.NullPointerException

 

 

             數組本身是引用類型  null是引用類型的默認值

基本數據類型與引用數據類型內存分配

       示例

class Demo9

{

       publicstatic void main(String[] args)

       {

              inta=10;

              int[]arr=new int[]{10};

 

              change(a);

              change(arr);

 

              System.out.println(a);

              System.out.println(arr[0]);

       }

 

       publicstatic void change(int a){          

              a=100;

       }

 

       publicstatic void change(int[] arr){            

              arr[0]=100;

       }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章