1.switch: 接受類型有byte short int char(適合具體數值,但數值不多的情況。) 當條件成立之後,執行case之後的語句,如果執行完沒有遇到break;或者‘}’,則會繼續往下執行能執行的語句,此時不會判斷case的條件,直到 再次遇到break;或者‘}’。2.迴圈語句: ...
1.switch: 接受類型有byte short int char(適合具體數值,但數值不多的情況。)
當條件成立之後,執行case之後的語句,如果執行完沒有遇到break;或者‘}’,則會繼續往下執行能執行的語句,此時不會判斷case的條件,直到 再次遇到break;或者‘}’。
2.迴圈語句:
① while(條件表達式)
{
迴圈體(執行語句);
} ②do
{
迴圈體(執行語句);
} while(條件表達式);
③ for(初始化表達式;迴圈條件表達式;迴圈後的操作表達式)
{
執行語句;
}
2.1.while與for關於變數的區別:
變數有自己的作用域。對於for來講:如果將用於控制迴圈的增量定義在for語句中,那麼該變數只在for語句內有效。for語句執行完畢,該變數在記憶體中被釋放。
2.2 for和while可以進行互換。如果需要定義迴圈增量,用for更為合適。
3.函數:定義在類中的具有特定功能的一段獨立小程式,也稱為方法。
3.1函數的格式:
修飾符 返回值類型 函數名(參數類型 形式參數1, 參數類型 形式參數2,...)
{
執行語句;
return 返回值;
}
返回值類型:函數運行後的結果的數據類型。
參數類型:是形式參數的數據類型。
形式參數:是一個變數,用於存儲調用函數時傳遞給函數的實際參數。
實際參數:傳遞給形式參數的具體數值。
return:用於結束函數。
返回值:該值會返回給調用者。(當函數沒有具體值返回時用關鍵字void標識。)
3.2. 函數的重載:在同一個類中,允許存在一個以上的同名函數,只要它們的參數個數或者參數類型不一樣即可。
重載的特定:與返回值類型無關,只看參數列表(也跟參數順序有關)。
重載的好處:方便閱讀,優化了程式設計。
重載示例:
//返回兩個整數和
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; }
4.記憶體結構:
Java程式在運行時,需要在記憶體中分配空間。為了提高運算效率,有對空間進行了不同的區域劃分,因為每一片區域都有特定的處理數據方式和記憶體管理方式。
棧記憶體:用於存儲局部變數,當數據使用完,所占空間會自動釋放。
堆記憶體:
1>.數組和對象,通過new建立的實例都存放在堆記憶體中。
2>.每一個實體都有記憶體地址值。
3>.實體中的變數都有預設初始值。
4>.實體不在被使用,會在不確定的時間內被垃圾回收器回收。
5.數組(引用數據類型):同一種類型數據的集合。其實數組就是一個容器。
數組的好處:可以自動的給數組中的元素從0開始編號,方便操作這些元素。
格式1:
元素類型 [] 數組名 = new 元素類型 [元素個數或者數組長度];
eg: int [] arr = new int[5];
格式2:
元素類型 [] 數組名 = new 元素類型[] {元素,元素,....};
eg: int [] arr = new int[]{1,2,5,3};//在堆記憶體空間創建一個實體,併為每一個元素賦一個具體值。
int [] arr = {1,2,5,3};//數據明確的情況下可以簡寫
new的作用:用來在堆記憶體中產生一個容器實體。
int [] arr :int 表示元素的類型;[]表式數組;arr表示數組類型。arr是一個在棧記憶體的數組變數,被賦值的實際是數組在堆記憶體中的地址,另外arr是存在棧記憶體中的,然後得到new在堆記憶體中創建的容器實體地址,指向了堆記憶體中的數組。