Java中的for循環(huán)結(jié)構(gòu)及實(shí)例
前言
程序的循環(huán)結(jié)構(gòu)是Java編程中的重要內(nèi)容,通過掌握J(rèn)ava中的for循環(huán)結(jié)構(gòu),可以提升我們的代碼水平,更加清晰的體現(xiàn)了我們的編程邏輯以及為我們解題提供更好的方法。
一、for循環(huán)
for循環(huán)像一個計(jì)數(shù)循環(huán):設(shè)定一個計(jì)數(shù)器,初始化它,然后在計(jì)數(shù)器到達(dá)某值之前,重復(fù)執(zhí)行循環(huán)體,而每執(zhí)行一輪循環(huán),計(jì)數(shù)器值以一定步進(jìn)進(jìn)行調(diào)整,比如加1或者減1。
for (初始化數(shù)據(jù); 循環(huán)條件; 單步動作) { // 循環(huán)體內(nèi)的代碼 }
①第一個部分是一個初始化,可以定義一個新的變量: int count=10或者直接賦值:i=10。
②第二個部分是循環(huán)維持的條件。這個條件是先驗(yàn)的,與while循環(huán)一樣,進(jìn)入循環(huán)之前,首先要檢驗(yàn)條件是否滿足,條件滿足才執(zhí)行循環(huán);條件不滿足就結(jié)束循環(huán)。
③第三個部分是步進(jìn),即每輪執(zhí)行了循環(huán)體之后,必須執(zhí)行的表達(dá)式。通常我們在這里改變循環(huán)變量,進(jìn)行加或減的操作。
例:
for (int i = 1; i <= 10; ++i) { System.out.println("Hello World"); }
循環(huán)次數(shù):
for ( i=O; i<n; i=i+l )
循環(huán)的次數(shù)是n,循環(huán)結(jié)束以后,i == n。
循環(huán)的控制變量i,是選擇從0開始還是從1開始,是判斷i<n還是判斷i<=n,對循環(huán)的次數(shù),循環(huán)結(jié)束后變量的值都有影響。
對于for循環(huán)結(jié)構(gòu)的另一理解方式:
for ( count=l0; count>0; count=count-l)
for理解為對于:“對于一開始的count=l0,當(dāng)count>0時(shí),重復(fù)做循環(huán)體,每一輪循環(huán)在做完循環(huán)體內(nèi)語句后,使得count遞減。”
循環(huán)圖示:
二、break和continue對循環(huán)的影響
break:跳出當(dāng)前循環(huán)塊(for、while、do while)或程序塊(switch)。
在循環(huán)塊中的作用是跳出當(dāng)前正在循環(huán)的循環(huán)體。
在程序塊中的作用是中斷和下一個case條件的比較。
continue:用于結(jié)束循環(huán)體中其后語句的執(zhí)行,并跳回循環(huán)程序塊的開頭執(zhí)行下一次循環(huán),而不是立刻循環(huán)體。
圖示:
實(shí)例一:查找素?cái)?shù)
輸入一個數(shù)判斷并返回是否為素?cái)?shù)。
邏輯圖示:
import java.util.Scanner; public class for1 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int n = in.nextInt(); int isPrime = 1; for (int i = 2 ; i< n ; i++) { if (n % i == 0 ) { isPrime = 0; break; } } if (isPrime == 1) { System.out.println(n + "是素?cái)?shù)"); } else { System.out.println(n + "不是素?cái)?shù)"); } } }
進(jìn)階:找到100以內(nèi)的素?cái)?shù) ——雙重循環(huán)
import java.util.Scanner; public class for2 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); for (int n = 2; n < 100; n++) { int isPrime = 1; for (int i = 2 ; i< n ; i++) { if (n % i == 0 ) { isPrime = 0; break; } } if (isPrime == 1) { System.out.print(n + " "); } } } }
實(shí)例二:湊硬幣
描述:你有不同面額的硬幣;以及一個整數(shù) amount ,表示總金額。 計(jì)算并返回可以湊成總金額所需的 最少的硬幣個數(shù) 。 你可以認(rèn)為每種硬幣的數(shù)量是無限的。
代碼:
package class1; import java.util.Scanner; public class for3 { public static void main(String[] args) { // TODO Auto-generated method stub //湊硬幣 Scanner in=new Scanner(System.in); int amout ; amout=in.nextInt(); for(int one =0;one<=amout;one++) { for(int five =0;five<=amout/5;five++) { for(int ten =0;ten<=amout/10;ten++) { for(int twity =0;twity<=amout/20;twity++) { if(one+five*5+ten*10+twity*20==amout) { System.out.println(one+"張1元"+five+"張5元"+ten+"張10元"+twity+"張20元"); } } } } } } }
運(yùn)行結(jié)果:
實(shí)例三:九九乘法表
描述:用Java輸出九九乘法表
public class for4 { public static void main(String[] args) { for(int i=1;i<=9;i++) { for(int j=1;j<=i;j++) { System.out.print(j+"×"+i+"="+i*j+"\t"); } System.out.println(); } } }
運(yùn)行結(jié)果
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java集合之Set接口及其實(shí)現(xiàn)類精解
set接口是繼承自Collection的子接口,特點(diǎn)是元素不重復(fù),存儲無序。在set接口的實(shí)現(xiàn)類中添加重復(fù)元素是不會成功的,判斷兩個元素是否重復(fù)根據(jù)元素類重寫的2021-09-09SpringBoot+SseEmitter和Vue3+EventSource實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)推送
本文主要介紹了SpringBoot+SseEmitter和Vue3+EventSource實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)推送,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03基于Springboot的高校社團(tuán)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
本文將基于Springboot+Mybatis開發(fā)實(shí)現(xiàn)一個高校社團(tuán)管理系統(tǒng),系統(tǒng)包含三個角色:管理員、團(tuán)長、會員。文中采用的技術(shù)有Springboot、Mybatis、Jquery、AjAX、JSP等,感興趣的可以了解一下2022-07-07教你用Java實(shí)現(xiàn)一個簡單的代碼生成器
今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著如何用Java實(shí)現(xiàn)一個簡單的代碼生成器展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06Mybatis之foreach標(biāo)簽內(nèi)傳入list為空的問題
這篇文章主要介紹了Mybatis之foreach標(biāo)簽內(nèi)傳入list為空的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03spring?data?jpa查詢一個實(shí)體類的部分屬性方式
這篇文章主要介紹了spring?data?jpa查詢一個實(shí)體類的部分屬性方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02