您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java關鍵字break和continue如何使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Java關鍵字break和continue如何使用”文章能幫助大家解決問題。
break 循環結構,一旦執行,就結束(或跳出)當前循環結構,此關鍵字的后面,不能聲明語句
continue 循環結構,一旦執行,就結束(或跳出)當次循環結構,此關鍵字的后面,不能聲明語句
此外,很多語言都有goto語句,goto語句可以隨意將控制轉移到程序中的任意一條語句上,然后執行它,但使程序容易出錯。Java中的break和continue是不同于goto的。
break語句用于終止某個語句塊的執行
{ …… break; …… }
break語句出現在多層嵌套的語句塊中時,可以通過標簽指明要終止的是哪一層語句塊
label1: { …… label2: { …… label3: { …… break label2; …… } } }
continue語句出現在多層嵌套的循環語句體中時,也可以通過標簽指明要跳過的是哪一層循環。
標號語句必須緊接在循環的頭部。標號語句不能用在非循環語句的前面。
練習、找出100以內所有的素數(質數)?100000以內的呢?
目的:不同的代碼的實現方式,可以效率差別很大。
分析:素數(質數):只能被1和它本身整除的自然數。 ---> 從2開始,到這個數-1為止,此范圍內沒有這個數的約數。則此數是一個質數。 比如:2、3、5、7、11、13、17、19、23、...
方案1
static void printSushu() { long start = System.currentTimeMillis();//開始時間 int cnt = 0;//個數 for (int i = 2; i <= 100000; i++) { boolean isFlag = true;//是否除盡 for (int j = 2; j <= i - 1; j++) { if (i % j == 0) { isFlag = false; } } if (isFlag) { cnt++; } } long end = System.currentTimeMillis(); System.out.println("質數的個數為:" + cnt); System.out.println("執行此程序花費的毫秒數為:" + (end - start)); /* 質數的個數為:9592 執行此程序花費的毫秒數為:18203*/ }
方案2
static void printSushu1() { long start = System.currentTimeMillis();//開始時間 int cnt = 0;//個數 for (int i = 2; i <= 100000; i++) { boolean isFlag = true;//是否除盡 for (int j = 2; j <= Math.sqrt(i); j++) { if (i % j == 0) { isFlag = false; break; } } if (isFlag) { cnt++; } } long end = System.currentTimeMillis(); System.out.println("質數的個數為:" + cnt); System.out.println("執行此程序花費的毫秒數為:" + (end - start)); /* 質數的個數為:9592 執行此程序花費的毫秒數為:24*/ }
方案3、
static void printSushu2() { long start = System.currentTimeMillis(); //記錄當前時間距離1970-1-1 00:00:00的毫秒數 int count = 0;//記錄質數的個數 label: for (int i = 2; i <= 100000; i++) { //i for (int j = 2; j <= Math.sqrt(i); j++) { //優化2:將循環條件中的i改為Math.sqrt(i) if (i % j == 0) { //表明i有約數 continue label; } } //一旦程序能執行到此位置,說明i就是一個質數 // System.out.println(i); count++; } long end = System.currentTimeMillis(); System.out.println("質數的個數為:" + count); System.out.println("執行此程序花費的毫秒數為:" + (end - start));//1062 }
練習2、生成 1-100 之間的隨機數,直到生成了 97 這個數,看看一共用了幾次?提示:使用 (int)(Math.random() * 100) + 1
static void printNum() { int count = 0;//記錄循環的次數(或生成隨機數進行比較的次數) while (true) { int random = (int) (Math.random() * 100) + 1; count++; if (random == 97) { break; } } System.out.println("直到生成隨機數97,一共比較了 " + count + " 次!!"); }
關于“Java關鍵字break和continue如何使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。