前言
今天java練習的時候,遇到了一道有趣的題目,加深了我對cotinue
的理解,所以我寫個筆記,記錄一下continue
的特殊用法
continue作用說明
這里我使用個例子來簡單說明一下:
for(int i=0;i<5;i++){
if(i==2){
continue;
}
System.out.print(i);
}
上述代碼 最終結果是為0134
我們可以理解為忽略掉了i=2
的這種情況
問題來了,如果我們想使用continue
但不想把那種情況給忽略掉,怎么辦呢?
很簡單,其實,把在continue
語句前加上i--
即可
for(int i=0;i<5;i++){
if(i==2){
i--;
continue;
}
System.out.print(i);
}
習題
下面的題目則是我做的練習題
題目要求:在1-10范圍內,循環生成7個數,並且不重復
Random random = new Random();
int[] a = new int[7];
for (int i = 0; i < a.length; i++) {
int num = random.nextInt(10)+1;
boolean flag = false;//是否重復
//遍歷之前數組,如果有重復就置flag為true
for (int j = 0; j <a.length; j++) {
if (num==a[j]){
flag=true;//存在了重復的數字
break;
}
}
if (flag){
//因為使用continue語句的時候,會忽略當前的i,從而執行i++,
// 所以我們在執行continue語句之前,讓i的值減1,
// 這樣就能使得下次循環還是停留在原本的i
i--;
continue;//存在重復了的數字,重新循環,獲取隨機數
}else{
a[i] =num;//不存在重復,則賦值
}
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}