java語法基礎

1.關鍵字:其實就是某種語言賦予了特殊含義的單詞。

       保留字:其實就是還沒有賦予特殊含義的單詞,但是準備日後要使用過的單詞。

2.標示符:其實就是在程序中自定義的名詞。比如類名、變量名,函數名。包含0-9、a-z、¥、_;

注意:1).數字不可以開頭;2).不可以使用關鍵字;

3.常量:是在程序中不會變化的數據。

4.變量:其實就是內存中的一個存儲空間,用於存儲常量數據。

作用:方便與運算。因爲有些數據不確定,所以確定該數據的名詞和存儲空間。

特點:變量空間可以重複使用。

什麼時候定義變量?只要是數據不確定的時候,就定義變量。

變量空間的開闢需要什麼要素呢?

1.這個空間要存儲什麼數據?數據類型。

2.這個空間叫什麼名字啊?變量名稱。

3.這個空間的第一次的數據是什麼?變量的初始化值。

變量的作用域和生存期

變量的作用域:

         作用域從變量定義的位置開始,到該變量所在的那對大括號結束;

生命週期:

        變量從定義的位置開始就在內存中活了;

         變量到達它所在的作用域的時候就在內存中消失了;

數據類型

       1):基本數據類型:byte、short、int、long、float、double、char、boolean

       2):引用數據類型:數組、類、接口

級別從低到高爲:byte、char、short(這三個平級)--->int---->float---->long---->double

自動類型轉換:從低級別到高級別,系統自動轉的。

強制類型轉換:什麼情況下使用?把一個高級別的數賦給一個比該數級別低的變量;

運算符號:

&和&&區別:&:無論左邊結果是什麼,右邊都參與運算。

                       &&短路與:如果左邊爲false,Name右邊參數不參與運算。

|和||的區別:|:兩邊都元算。||:短路或,如果左邊爲true,Name右邊不參與運算。

語句

if   switch    do while           while          for

這些語句什麼時候用?

1)、當判斷固定個數的值得時候,可以使用if,也可以使用switch,但是建議使用switch,效率相對較高。

             switch(變量){

            case值:要執行的語句;break;

                ...

              default :要執行的語句;

              }

2)、當判斷數據範圍,獲取判斷運算結果boolean類型是,需要使用if

3)、當某些語句需要執行很多次時,就用循環結構。

break:作用於switch,和循環語句,用於跳出,或者稱爲結束。

break語句單獨存在時,下面不要定義其他語句,因爲執行不到,編譯會失敗。當循環嵌套時,break只跳出當前所在的循環。

要跳出嵌套中的外部循環,只要給循環起名字即可,這個名字稱之爲標號。

continue:只作用於循環機構,繼續循環用的。

作用:結束本次循環,繼續下次循環。該語句單獨存在是,下面不可以定義語句,執行不到。

如何定義一個函數?

函數其實就是一個功能,定義函數就是實現功能,通過兩個明確來完成:

1)、明確該功能運算完的結果,其實是在明確這個函數的返回值類型。

2)、在實現該功能的過程中是否有未知內容參與了運算,其實就是在明確這個函數的參數列表(參數類型&參數個數)

函數的作用:1)、用於定義功能。2)、用於封裝代碼提高代碼的複用性。

注意:函數中只能調用函數,不能定義函數。

主函數:1)、保證該類的獨立運行。2)、因爲它是程序的入口。3)、因爲它在被jvm調用。

重載的定義是:在一個類中,如果出現了兩個或兩個以上的同名函數,只要它們的參數的個數或者參數的類型不同,即可稱之爲該函數重載了。

如何區分重載:函數名相同時,只看參數列表,和返回值的類型沒關係。

數組:用於存儲同一類型數據的一個容器。好處:可以對該容器中的數據進行編號,從0開始。數組用於封裝數據,就是一個具體的實體。

如何在java中表現一個數組呢?兩種表現形式。

1)、元素類型[]  變量名=new 元素類型[元素的個數]

2)、元素類型[]  變量名={元素1,元素2......}

//二分查找法。必須有前提:數組中的元素要有序。  
 public static int halfSeach_2(int[] arr,int key){   int min,max,mid;   min = 0; 
  max = arr.length-1; 
  mid = (max+min)>>1; //(max+min)/2;   while(arr[mid]!=key){    if(key>arr[mid]){     min = mid + 1;    } 
   else if(key<arr[mid])     max = mid - 1;    if(max<min)     return -1; 
   mid = (max+min)>>1;    } 
  return mid;  } 

java分了5片內存。

1.寄存器。2:本地方法區。3:方法區。4:棧。5:堆。

棧:存儲的都是局部變量(函數中定義的變量,函數上的參數,語句中的變量)只要數據運算完成所在的區域結束,該數據就會被釋放。

堆:用於存儲數組和對象,也就是實體。啥是實體啊?就是用於封裝多個數據的。

1:每一個實體都有內存首地址值。

2:堆內存中的變量都有默認初始化值。因爲數據類型不同,值也不一樣。

3:垃圾回收機制。

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