CJB Java程序員 Day5
作用
重復執(zhí)行一段代碼
分類
whiledo whilefor
while
語法: while(條件表達式){
當條件表達式為true時,執(zhí)行此處代碼 此處代碼執(zhí)行完畢后,在此判斷條件表達式 如果表達式依然為true,繼續(xù)執(zhí)行此處代碼 如果表達式值為false,結(jié)束循環(huán)
}
案例: 將打印4遍練習: 打印100以內(nèi)的所有正整數(shù)
do while
語法:
do {
先執(zhí)行此處代碼,再判斷條件表達式
如果表達式值為true,再次執(zhí)行此處代碼
否則循環(huán)結(jié)束
}while(條件表達式);
特點:循環(huán)體至少執(zhí)行一次
與while的區(qū)別:
1,do while 先執(zhí)行循環(huán)體,再判斷條件表達式
2,while先判斷條件表達式,再執(zhí)行循環(huán)體
for
語法:
for(表達式1;條件表達式2;表達式3){
循環(huán)體4
}
表達式1:初始化變量,只執(zhí)行一次
條件表達式2:循環(huán)條件
表達式3:修改表達式1的變量的值
循環(huán)體:要重復執(zhí)行的代碼
執(zhí)行流程:
1,2,4,3,2,4,3,2,4...2
練習
1,計算1~100的所有數(shù)之和
思路:
1,定義變量記錄已經(jīng)計算的和 int sum = 0;
2,循環(huán)獲取1~100之間的數(shù) for(int num = 1; num < 101; num++){
3,使用該數(shù)字與已經(jīng)計算的和相加 sum = sum + num;
}
System.out.println("1~100的和為:"+sum);
2,計算1~100的偶數(shù)和
int sum = 0;
for(int i = 0; i < 101; i++){
if(i%2==0){ sum += i; }
}
System.out.println(sum);
System.out.println("------------------")
int sum = 0;
for(int i = 0; i < 101; i=i+2){
sum += i;?
}
System.out.println(sum);
3,計算1~100的奇數(shù)和
4,計算10的階乘
5,打印正方形
6,打印空心正方形
7,打印三角形
8,打印空心三角形
9,打印九九乘法表
隨機數(shù)
作用:隨機生成一個數(shù)字使用:
1,創(chuàng)建Random對象
2,獲取隨機數(shù)
方式1:隨機獲取一個int范圍內(nèi)的整數(shù) int 變量名 = random對象.nextInt();
方式2:隨機獲取一個0~x范圍內(nèi)的整數(shù) int 變量名 = random對象.nextInt(x+1);
練習:生成6位驗證碼
六位驗證碼包含: 數(shù)字 小寫字母 大寫字母
思路:
1,定義一個變量記錄已經(jīng)生成的驗證碼 String
2,開啟循環(huán),循環(huán)次數(shù)為6.因為每次只能生成一位驗證碼
3,獲取一位驗證碼
3.1:隨機生成一個數(shù)字,用這個數(shù)字判斷本次到底生成的是小寫字母,大寫字母還是數(shù)字
3.2:判斷3.1生成的數(shù)字對應的到底是小寫字母還是大寫字母,或者是數(shù)字
3.2.1:生成小寫字母
3.2.1.1隨機生成一個0~25的數(shù)字+97
3.2.1.2:將3.2.1.1的數(shù)字強轉(zhuǎn)為字符
3.2.1.3:將3.2.1.2生成的字符與步驟1的變量拼接
3.2.2:生成大寫字母
3.2.2.1隨機生成一個0~25的數(shù)字+65
3.2.2.2:將3.2.2.1的數(shù)字強轉(zhuǎn)為字符
3.2.2.3:將3.2.2.2生成的字符與步驟1的變量拼接
3.2.3:生成數(shù)字
3.2.3.1隨機生成一個0~9的數(shù)字
3.2.3.1將3.2.3.1生成的數(shù)字與步驟1的變量拼接
4,當循環(huán)結(jié)束后打印生成的驗證碼
break和continue
流程控制語句
break:
break在循環(huán)中,表示跳出當前循環(huán)
break與標記結(jié)合使用,表示跳出指定代碼塊
continue:
continue單獨使用,表示跳過本次循環(huán)
continue與標記結(jié)合使用,表示跳過標記所在的的本次循環(huán)