循環和方法
1. 循環結構
1.1 do - while循環
do {
// 循環體
// 循環條件變更
} while (/* 循環判斷條件 true false */);
/*
執行流程:
代碼運行到do - while循環結構,首先執行一次循環體,之後判斷while小括號裏面的條件是否爲true,如果爲true,繼續循環,如果爲false,終止循環!!!
*/
1.2 while和do - while區別
while循環每一次的執行都是在循環條件判斷之下才可以執行的
但是do while第一次執行麼有任何的限制
每一個代碼的執行,都是在可控範圍以內。
程序員生存法則【已知,可控】
1.3 for循環【重點】
for (/* 循環條件初始化 */; /* 循環條件判斷 */; /* 循環條件變更 */) {
// 循環體
}
1.4 break關鍵字
跳出循環結構和switch case結構。
在【滿足條件】的情況下會執行break終止循環,和switch case
class Demo3 {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (5 == i) { // i == 5
System.out.println("終止循環");
break;
}
System.out.println(i);
}
}
}
1.5 continue關鍵字【雞肋】
繼續
終止本次循環,直接進入下一次循環
continue使用建議:
最好不要用於while和do while循環,極有可能導致死循環
但是for循環和continue一起使用是沒有死循環顧慮的。
如果非要使用continue關鍵字最好在for循環中使用。
2. 方法【重點】
2.1 爲什麼使用方法
代碼中存在複用的代碼塊,當然這些代碼塊如果使用循環結構來解決,可以解決一部分問題,但是大量使用for循環還是會導致其他問題
1. 代碼過於臃腫
2. 代碼閱讀性極差
3. 代碼維護性極差
2.2 比葫蘆畫瓢main方法
public static void main(String[] args) {
// 方法體
}
/*
public static
不要問
void
返回值類型 void表示這裏沒有返回值
main
方法名,需要做到見名知意,動賓結構,小駝峯命名法
(String[] args)
形式參數列表 形參
當前方法運行需要外來數據
{
方法體
}
封裝的功能代碼!!!
*/
public static 返回值類型returnType 方法名methodName(形式參數列表arguments) {
方法體 Method Body;
}
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-mDekrp9i-1582116619808)(.\img\QQ圖片20191126212449.jpg)]
2.3 無參數無返回值方法
/*
需求:
打印一個騷磊告訴你不要問
方法分析:
public static 不要問
返回值類型:
void 沒有返回值
方法名:
saoLeiTellYou 騷磊告訴你
形式參數列表:
() 沒有參數
方法聲明:
public static void saoLeiTellYou()
*/
class Method1 {
public static void main(String[] args) {
/*
方法是條狗,哪裏需要哪裏吼
這裏需要調用方法名,方法調用必須有小括號
*/
saoLeiTellYou();
saoLeiTellYou();
saoLeiTellYou();
saoLeiTellYou();
saoLeiTellYou();
}
/*
方法是定義在class大括號以內,其他方法之外
*/
public static void saoLeiTellYou() {
System.out.println("老劉友情提示不要喊我hello world~~~");
}
}
2.4 有參數無返回值方法
/*
需求:
打印展示兩個int類型數據之和
方法分析:
public static 不要問
返回值類型:
void 沒有返回值
方法名:
printSumOfTwoNumber
形式參數列表:
(int num1, int num2)
方法聲明:
public static void printSumOfTwoNumber(int num1, int num2)
*/
class Method2 {
public static void main(String[] args) {
// 形式參數列表參數個數,數據類型必須和實際參數一致!!!
printSumOfTwoNumber(5, 10);
}
public static void printSumOfTwoNumber(int num1, int num2) {
System.out.println(num1 + num2);
}
}
2.5 無參數有返回值方法
/*
需求:
給我一個5
方法分析:
public static 不要問
返回值類型:
int 這裏需要返回一個數字5
方法名:
giveMeFive
形式參數列表:
()
方法聲明:
public static int giveMeFive()
*/
class Method3 {
public static void main(String[] args) {
int num = 0;
num = giveMeFive();
System.out.println(num);
}
public static int giveMeFive() {
/*
這裏需要一個關鍵字 return
1. 返回當前return之後的數據!!!
2. 結束當前方法的運行!!!
*/
return 5;
}
}
2.6 有參數有返回值方法
/*
需求:
獲取兩個float類型數據之和
方法分析:
public static 不要問
返回值類型:
float
方法名:
getSumOfTwoNumber
形式參數列表:
(float num1, float num2)
方法聲明:
public static float getSumOfTwoNumber(float num1, float num2)
*/
class Method4 {
public static void main(String[] args) {
float ret = 0.0F;
ret = getSumOfTwoNumber(5.5F, 4.5F);
System.out.println("ret = " + ret);
}
public static float getSumOfTwoNumber(float num1, float num2) {
return num1 + num2;
}
}