黑馬程序員——Java基礎知識——語句、函數

------Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流!

 一、語句

        Java語法結構中有順序結構、判斷結構、選擇結構、循環結構。

       1.判斷結構:

            判斷結構中有三種常用的格式,如下:

     (1)if(條件表達式){執行語句}  

            當小括號內的條件表達式的結果爲true時,執行大括號內的執行語句。例如:            

         int x=2;
         if(x>1)
         {
            System.out.println("hello");
         }
          如果大括號內要執行的只有一行語句,可以省略大括號。

         (2)if(條件表達式){執行語句}
             else{執行語句}。當if的條件表達式爲true時,執行if的語句,不再執行else的語句;當小括號內的結果爲false時,不執行if 下的語句,執行else下的語句。例如:
            

	       int x=2;
        if(x<1)
          System.out.println("hello");
         else
	          System.out.println("byebye");
         
          執行結果爲在控制檯打印“byebye”。注意有時這種格式也可以用三元運算符實現,但使用三元運算符時必須有一個返回的結果,像上面的代碼就無    法用三元運算符實現,具有侷限性。但有時可以實現代碼的簡化。

           (3)if(條件表達式){執行語句}

              else if(條件表達式){執行語句}

                 .....................(此處可以定義多條else if語句 )

                  else{執行語句}

                當if中的條件表達式爲true,執行if的語句,不再執行下面的else if語句和else語句;當if的條件表達式爲false,在else if 中從上向下尋找爲true的表    達式,找到後執行其下的執行語句,不再判斷和執行下面的else if語句和else語句;當if語句和else if語句中都沒有爲true條件表達式時,執行else下的語  句。例如:

int x=4;
if(x<0)
System.out.println("haha");
else if(x>2)
System.out.println("duangduang");
else if(x>3)
System.out.println("gogo");
else
System.out.println("byebye");
    

            執行結果爲在控制檯上打印“duang”。

           注意:有時在操作時,會同時定義上面的兩、三種格式,例如:

	       int x=4;
	       if(x<0)
	          System.out.println("haha");
	       if(x>1)
	          System.out.println("hehe");
	       if(x>2)
	          System.out.println("duangduang");
        else if(x>3)
	          System.out.println("gogo");
	       else
             System.out.println("byebye");
    
   執行結果爲在控制檯先打印出“hehe”,再打印出“duangduang”。因爲每出現一個if(條件表達式)就代表一個語句,代碼中一共有    三條語句,會自上向下執行三條語句中符合執行條件的執行語句。

    2.選擇結構

        選擇結構主要是switch語句。

        格式:

               switch(表達式)

                 {

                      case 取值 1:

                                     執行語句;

                                     break;

                      case 取值 2:

                                     執行語句;

                                     break;

                      ..........................

                       default:

  執行語句;

                                break; //最後一行的break可以不寫。

               }

         用法舉例:           

<pre name="code" class="java">/**
需求:根據用於指定月份,打印該月份所屬的季節。
3,4,5 春季 6,7,8 夏季  9,10,11 秋季 12, 1, 2 冬季
*/

class  SwitchDemo
{
	public static void main(String[] args) 
	{

	   int x = 8;

		switch(x)
		{
			case 3:
			case 4:
			case 5:
				System.out.println(x+"春季");
				break;
			
			case 6:
			case 7:
			case 8:
				System.out.println(x+"夏季");
				break;
			case 9:
			case 10:
			case 11:
				System.out.println(x+"秋季");
				break;
			case 12:
			case 1:
			case 2:
				System.out.println(x+"冬季");
				break;
			default:
				System.out.println("輸入的值有誤");

		}
      
        }

 }
	


       執行結果爲在控制檯打印出“8夏季”。

            switch語句的特點:

               1.switch語句選擇的類型只有4種:byte,short,int,char。

               2.case之間與default沒有順序,先執行第一個case,沒有匹配的case執行default。

               3.結束switch語句的兩種情況:遇到break;執行到switch語句結束。

               4.如果匹配的case或者default沒有對應的break,那麼程序會繼續向下執行,運行可以運行的語句,直到遇到break或者switch語句結束。

            使用if或者switch語句的情況:

                1.如果判斷的具體數值不多,而且符合四種類型,建議使用switch語句,效率稍高。

                2.其他情況:如對區間判斷,對結果爲Boolean類型的判斷,使用if語句,if語句的使用範圍更廣。

       

      3.循環結構

                當對一條或多條語句要執行很多次時,就需要定義循環結構。循環結構主要爲while語句,do while語句,for語句。

                while語句格式:                                 do  while語句格式:                   while(條件表達式)                                         do                                                       {                                                                      {

                      執行語句;                                                      執行語句;                  }                                                                       }while(條件表達式)             while和do while語句的區別:

                    while:先判斷條件,只有條件滿足才執行循環體。

                    do while:先執行循環體一次,在判斷條件,如果條件,再繼續執行循環體。

                                      do while中無論條件是否滿足,循環至少執行一次。

            for語句格式:

            for(初始化表達式;循環條件表達式(必須是boolean型結果);循環後的操作表達式)

            {

                 執行語句;

            }

           例如:

for(int x = 0; x<3 ; x++)
{
  System.out.println("x="+x);

}
         執行結果爲在控制檯上分行打印出x=0,x=1,x=2.

         for循環的內部執行順序:先讀一次並且只讀一次初始化表達式,判斷循環條件爲真,就執行循環體,然後再執行循環後的操作表達式,接着判斷循環條件,重複   整個過程,知道條件不滿足爲止。

          while和for對比:while和for可以互換。區別在於for爲了循環而定義的變量在for循環結束後,就在內存中釋放了,而while循環使用的變量在循環結束後海可以繼   續使用。在定義循環語句時一定要明確哪些語句需要參與循環,哪些不需要參與循環。在需要定義循環增量時,使用for循環更合適,會節省內存空間。

          在循環結構中常用的兩種語句:累加和計數器。

          累加思想:即求和,通過變量記錄住循環操作的結果。通過循環的形式,進行累加操作。

           例如:

/*
1,獲取1~10的和,並打印。

*/

class  ForDemo
{
	public static void main(String[] args) 
	{
        
		//定義變量用於存儲不斷變化的和。
		int sum = 0;
               //定義變量,記錄住不斷變化的被加的數。
		int x = 1;
		//定義循環,重複加法的過程。
		while(x<=10)
		{
			sum = sum + x;
			x++;
                }
		System.out.println("sum="+sum);
         }
}
 執行結果爲在控制檯上打印出“sum=55”;
      計數器思想:通過變量記錄住數據的變化狀態,也需要通過循環完成。

      例如:

/*
需求:獲得1~100之間6的倍數的個數。並打印。
*/
class  ForDemo2
{
	public static void main(String[] args) 
	{
		//定義變量,記錄滿足條件的數的出現次數
		int count = 0;
		//在指定範圍內進行循環
		for(int x=1; x<=100; x++)
		{			
			 //判斷是否滿足條件,滿足條件,計數的變量自增。
		     if(x%6==0)
				 count++;
	        }
		System.out.println("count="+count);
	}
}
執行結果爲在控制檯上打印出“count=16”;
       循環嵌套:就是循環中還有循環。

       例如:    

/**
 需求:打印九九乘法表.
*/
class  ForForDemo
{
	public static void main(String[] args) 
	{
		//限定行數
		for (int x=1; x<=9 ; x++)
		{
			//限定列數
			for (int y=1; y<=x; y++)
			{
				//打印每次循環的兩個數及它們的積
				System.out.print(y+"*"+x+"="+y*x+"\t");
			}
			//換行
			System.out.println();
		}

	}
}
執行結果爲在控制檯打印出九九乘法表。

   break與continue:

        break:結束、跳出,用於選擇結構或循環結構。

        continue:結束本次循環,繼續進行下一次循環。用於循環結構。

    break和continue使用時應注意:

         1.這兩個語句離開應用範圍,存在都沒有意義。

         2.這兩個語句單獨存在,下面不可以再有語句,因爲執行不到。

         3.標號的出現可以讓這兩個語句應用於指定範圍(標號只能用於循環結構);

       

   二、函數 

           定義在類中的具有特定功能的一段獨立程序,也稱爲方法。    

          格式:

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

          {

                     執行語句;

                     return返回值;//返回值類型爲void時,不寫return語句。

          }

    其中:

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

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

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

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

          return:用於結束函數。

         返回值:該值會返回給調用者。

    函數的特點:

        1.定義函數可以將功能代碼進行封裝,便於對該功能進行復用,提高了代碼的複用性

        2. 函數只有被調用纔會被執行,函數中只能調用函數,不可以在函數內部定義函數。主函數是靜態的,只能調用靜態函數。

        3.  對於函數沒有具體返回值的情況,返回值類型用關鍵字void表示。此

      定義函數:

          1.明確要定義的功能的結果:即返回值類型。

           2.明確在定義該功能的過程中,是否需要未知內容參與運算:即參數列表。

     重載

            重載是函數的特性,在同一個類中,允許存在一個以上的同名函數,前提是它們的參數列表的個數或參數類型不同即可。重載只看參數列表,與返       回值類型無關。重載的優化了程序設計,提高了閱讀性。

      舉例:判斷下面哪些函數與void show(int a,char b,double c){}可以實現重載。

                 a.void show(int x,char y,double z){}//沒有,因爲和原函數一樣。
                 b.int show(int a,double c,char b){}//重載,因爲參數類型不同。注意:重載和返回值類型沒關係。
                 c.void show(int a,double c,char b){}//重載,因爲參數類型不同。注意:重載和返回值類型沒關係。
                 d.boolean show(int c,char b){}//重載,因爲參數個數不同。

                 e.void show(double c){}//重載,因爲參數個數不同。

                 f.double show(int x,char y,double z){}//沒有,這個函數不可以和給定函數同時存在與一個類中。
   重載的使用:

          當定義的功能相同,但參與運算的未知內容不同。那麼,這時就定義一個函數名稱以表示起功能,方便閱讀,而通過參數列表的不同來區分多個同名    函數。

           返回兩個整數的最大值  int  getMax(int x,int y);

           返回兩個小數的最大值 double getMax(double a,double b);

            返回三個整數的最大值  int getMax(int x,int y,int z);


  -------------Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流! -------

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