Java之循環(huán)結(jié)構(gòu)、break、continue用法及說明
Java的循環(huán)語句:
- while語句
- for語句
- do while語句
學(xué)習(xí)循環(huán)之前我們先了解一下循環(huán)的作用?
減少代碼的重復(fù)編寫、靈活的控制程序的執(zhí)行。
for循環(huán)結(jié)構(gòu)
- 控制一段代碼反復(fù)執(zhí)行很多次。
for循環(huán)格式
for(初始化語句;循環(huán)條件;迭代語句){
循環(huán)體語句;
}代碼舉例:
//使用for打印三次Hello World
for (int i = 0; i < 3; i++) {
System.out.println("Hello World");
}上面學(xué)習(xí)了for循環(huán)語句的循環(huán)格式下面我們來寫幾個題目練習(xí)一下。
案例1、求和:求1 - n之間的數(shù)據(jù)和,并在控制臺輸出。
- 方法1:使用for循環(huán)語句。
- 方法2:使用求和公式。
代碼方法1:
//方法1:使用循環(huán)
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int sum = 0;
for(int i = 0; i <= n; i++){
sum += i;
}
System.out.println(sum);
}
}
方法2:求和公式
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int sum = 0;
//下面的處理方法是為了防止int 爆掉
if(n % 2 == 0){
sum = n / 2 * (n + 1);
}else{
sum = (n + 1) / 2 * n;
}
System.out.println(sum);
}
}案例2:求1 - n 奇數(shù)的和或者偶數(shù)的和,這里以偶數(shù)為例。
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int sum = 0;
//1 + 3 + 5 + 7 + 9 + ... + n
for(int i = 1; i <= n; i+=2){
sum += i;
}
System.out.println(sum);
}
}while 循環(huán)結(jié)構(gòu)
while循環(huán)格式
初始化語句;
while(循環(huán)條件){
循環(huán)體;
迭代語句;
}注意:上面學(xué)習(xí)了for、while循環(huán)那么什么時候使用for,什么時候使用while循環(huán)語句?
- for循環(huán)語句和while循環(huán)語句功能完全一樣的,for能解決的while也可以解決,反之亦然。
- 使用規(guī)范:知道循環(huán)幾次:使用for;不知道循環(huán)幾次建議使用:while。
do... while循環(huán)結(jié)構(gòu)
do...while循環(huán)格式
初始化語句;
do {
循環(huán)體;
迭代判斷;
} while (條件判斷);do...while循環(huán)特點(diǎn):先執(zhí)行后判斷,至少執(zhí)行一次。
三種循環(huán)的區(qū)別、和使用場景

死循環(huán)
死循環(huán)(Infinite Loop)是指在程序執(zhí)行過程中無法正常退出的循環(huán)結(jié)構(gòu),具有以下特征:
- 無限執(zhí)行:循環(huán)條件始終為真,或者循環(huán)控制變量沒有正確更新,導(dǎo)致循環(huán)體無限次執(zhí)行
- 資源消耗:持續(xù)占用CPU資源,可能導(dǎo)致程序卡死或系統(tǒng)性能下降
- 無正常退出:除非外部干預(yù)(如強(qiáng)制終止程序),否則循環(huán)不會自動結(jié)束
//for實(shí)現(xiàn)死循環(huán)
for(;;){
}
//while實(shí)現(xiàn)死循環(huán)、經(jīng)典寫法
while(true){
}
//do-while實(shí)現(xiàn)死循環(huán)
do{
}while(true);循環(huán)嵌套
特點(diǎn):外部循環(huán)執(zhí)行一次,內(nèi)部循環(huán)會全部執(zhí)行完一輪。
案例9*9乘法表:下面我們打印一個9*9乘法表來理解循環(huán)嵌套
public class test {
public static void main(String[] args) {
print();
}
/**
* 打印九九乘法表
* 該方法無需參數(shù),直接打印出標(biāo)準(zhǔn)的九九乘法表格式
* 無返回值
*/
public static void print() {
// 外層循環(huán)控制行數(shù),從1到9
for(int i = 1; i <= 9; i++){
// 內(nèi)層循環(huán)控制每行的列數(shù),從1到當(dāng)前行數(shù)i
// 打印乘法表的一行,從1*i到i*i
for(int j = 1; j <= i; j++){
System.out.print(j + "*" + i + "=" + i*j + "\t");
}
// 換行,開始下一行的打印
System.out.println();
}
}
}break、continue關(guān)鍵詞

break關(guān)鍵字代碼理解
public class test {
public static void main(String[] args) {
print();
}
public static void print() {
// 外層循環(huán)控制行數(shù),從1到9
for(int i = 1; i <= 9; i++){
if(i == 5){//當(dāng)i == 5的時候直接結(jié)束循環(huán)后面的就不再執(zhí)行了
break; //直接結(jié)束本層循環(huán)
}
System.out.println(i);
}
}
}
//輸出結(jié)構(gòu):
//1
//2
//3
//4continue關(guān)鍵字代碼理解
public class test {
public static void main(String[] args) {
print();
}
public static void print() {
// 外層循環(huán)控制行數(shù),從1到9
for(int i = 1; i <= 9; i++){
if(i == 5){
continue; //跳過本次循環(huán),只跳過i == 5的循環(huán)
}
System.out.println(i);
}
}
}
//輸出結(jié)構(gòu):
//1
//2
//3
//4
//6
//7
//8
//9總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
- Java中的for循環(huán)結(jié)構(gòu)及實(shí)例
- Java中的while無限循環(huán)結(jié)構(gòu)及實(shí)例
- 學(xué)習(xí)Java之如何正確地跳出循環(huán)結(jié)構(gòu)
- Java循環(huán)結(jié)構(gòu)之多重循環(huán)及continue?break
- 深入了解Java中循環(huán)結(jié)構(gòu)的使用
- Java基礎(chǔ)知識精通循環(huán)結(jié)構(gòu)與break及continue
- Java選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)的使用詳解
- Java流程控制之循環(huán)結(jié)構(gòu)for,增強(qiáng)for循環(huán)
- Java流程控制之循環(huán)結(jié)構(gòu)while、do...while
相關(guān)文章
spring框架配置實(shí)體類復(fù)雜屬性注入xml文件過程詳解
這篇文章主要介紹了spring框架配置實(shí)體類復(fù)雜屬性注入xml文件過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09
java使用PDFRenderer實(shí)現(xiàn)預(yù)覽PDF功能
這篇文章主要為大家詳細(xì)介紹了java使用PDFRenderer實(shí)現(xiàn)預(yù)覽PDF功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12
Jvisualvm監(jiān)控遠(yuǎn)程SpringBoot項(xiàng)目的過程詳解
這篇文章主要介紹了Jvisualvm監(jiān)控遠(yuǎn)程SpringBoot項(xiàng)目,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04
使用logstash同步mysql數(shù)據(jù)到elasticsearch實(shí)現(xiàn)
這篇文章主要為大家介紹了使用logstash同步mysql數(shù)據(jù)到elasticsearch實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
詳解Java實(shí)現(xiàn)批量壓縮圖片裁剪壓縮多種尺寸縮略圖一鍵批量上傳圖片
這篇文章主要介紹了Java實(shí)現(xiàn)批量壓縮圖片裁剪壓縮多種尺寸縮略圖一鍵批量上傳圖片,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
使用httpclient實(shí)現(xiàn)免費(fèi)的google翻譯api
這篇文章主要介紹了使用httpclient實(shí)現(xiàn)免費(fèi)的google翻譯api的方法,大家參考使用吧2014-01-01

