黑馬程序員-Java語言基礎 第3天

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

 

轉義字符:通過\來轉變後面字母或者符號的含義。

              \n:換行符。只轉變它後面的字符。

              \b:退格;

              \r:按下回車鍵;windows系統中,回車符由兩個字符來表示\r\n

              \t;製表符。相當於tab鍵。

 

1、函數的定義

       函數就是定義在類中的具有特定功能的一段獨立小程序。

函數也稱爲方法。

函數的格式:

修飾符 返回值類型 函數名(參數類型 形式參數1,參數類型 形式參數2,...)

       {

                     執行語句;

                     return 返回值;

       }

       返回值類型:函數運行後的結果的數據類型。

       參數類型:是形式參數的數據類型。

       形式參數:是一個變量,用於存儲調用函數時傳遞給函數的實際參數。

       實際參數:傳遞給形式參數的具體數值。

       return:用於結束函數。return語句只有在文檔末時可以省略

       返回值:該函數運算後的結果,該結果會返回給調用者。

public static void getResult(int num)

{

      System.out.println(num*3 + 5);

      return;//沒有具體的值,可以省略

}

//當函數運行後,沒有具體的返回值時,這時返回值類型用一個特殊的關鍵字來標識。

//該關鍵字就是void。void代表的是函數沒有具體返回值的情況。

//當函數的返回值類型是void時,函數中的return語句可以省略不寫。

函數中可以調用函數,不能在函數中定義函數。保證在類中即可。

 

2、函數的特點:

定義函數可以將功能代碼進行封裝

便於對該功能進行復用

函數只有被調用纔會被執行

函數的出現提高了代碼的複用性

對於函數沒有具體返回值的情況,返回值類型用關鍵字void表示,那麼該函數中的return語句如果在最後一行可以省略不寫。      

class FunctionDemo

{

       public static void main(String[] args)

       {

              int x = getResult(4);

              //System.out.println(x*3+6);

              int y = getResult(10000000);

              System.out.println("x="+x);

              System.out.println("y="+y);

       }}

       //發現以上的運算,因爲獲取不同數據的運算結果,代碼出現了重複。

       //爲了提高代碼的複用性,對代碼進行抽取。

       //將這個部分定義成一個獨立的功能,方便於日後使用。

       //Java中對功能的定義是通過函數的形式來體現的,

public static int getResult(int x)

    {

              return x*3+6;

}

3、函數的應用-----主函數的功能就是調用編寫的函數

l  兩個明確

•    明確要定義的功能最後的結果是什麼?(返回值類型

•    明確在定義該功能的過程中,是否需要未知內容參與運算(參數列表:參數類型及個數

l  示例:

•    需求:定義一個功能,可以實現兩個整數的加法運算。

•    分析:

•    該功能的運算結果是什麼?兩個數的和,也是一個整數(int)

•    在實現該功能的過程中是否有未知內容參與運算?加數和被加數是不確定的。(兩個參數int,int)

•    代碼:

              int  getSum(int x,int y)

              {

                     return x+y;

              }

 

4、函數的重載(overload)

重載的概念:

在同一個類中,允許存在一個以上的同名函數,只要它們的參數個數或者參數類型不同即可。

重載的特點:

與返回值類型無關,只看參數列表。

(重載示例)

//返回兩個整數的和

  int add(int x,int y){return x+y;}

//返回三個整數的和

  int add(int x,int y,int z){return x+y+z;}

//返回兩個小數的和

  double add(double x,double y){return x+y;}

什麼時候用重載?

當定義的功能相同,但參與運算的未知內容不同,

那麼,這時就定義一個函數名稱以表示其功能,方便閱讀,而通過參數列表來區分多個同名函數。

 

5、數組

數組的概念:

同一種類型數據的集合。其實數組就是一個容器。可以自動給數組中的元素從0開始編號,方便操作這些元素。

格式:

格式1、元素類型[ ] 數組名 = new 元素類型[元素個數或數組長度];

示例:int[ ] arr = new int[5];

new用來在內存中開闢一個容器實體。

格式2、元素類型[ ] 數組名 = new 元素類型[]{元素,元素,……};

int[] arr = new int[]{3,5,1,7};

int[] arr = {3,5,1,7};

 

內存結構

Java程序在運行時,需要在內存中的分配空間。爲了提高運算效率,有對空間進行了不同區域的劃分,因爲每一片區域都有特定的處理數據方式和內存管理方式。

->棧內存:用於存儲局部變量,當數據使用完,所佔空間會自動釋放

 

->堆內存:

數組和對象通過new建立的實例都存放在堆內存中。

l  每一個實體都有內存地址值

堆內存中實體的變量都有默認初始化值

int  0;double  0.0;float  0.0f;boolean flase ;

l  實體不再被使用,會在不確定的時間內被垃圾回收器回收

->方法區,本地方法區,寄存器

int[ ] arr = new int[4];

                                                                     0x0012

棧內存

                        

堆內存

 

new int[4]

arr

0x0012

arr[0]

arr[1]

 

arr[2]

arr[3]

 

 

 

垃圾回收機制:不定時的清除不再使用的實體

1、內存地址值

2、默認初始化值

3、垃圾回收機制


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

詳細請查看:http://edu.csdn.net/heima



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