Java中的for循環(huán)結(jié)構(gòu)及實例
前言
程序的循環(huán)結(jié)構(gòu)是Java編程中的重要內(nèi)容,通過掌握Java中的for循環(huán)結(jié)構(gòu),可以提升我們的代碼水平,更加清晰的體現(xiàn)了我們的編程邏輯以及為我們解題提供更好的方法。
一、for循環(huán)
for循環(huán)像一個計數(shù)循環(huán):設(shè)定一個計數(shù)器,初始化它,然后在計數(shù)器到達某值之前,重復執(zhí)行循環(huán)體,而每執(zhí)行一輪循環(huán),計數(shù)器值以一定步進進行調(diào)整,比如加1或者減1。
for (初始化數(shù)據(jù); 循環(huán)條件; 單步動作) { // 循環(huán)體內(nèi)的代碼 }
①第一個部分是一個初始化,可以定義一個新的變量: int count=10或者直接賦值:i=10。
②第二個部分是循環(huán)維持的條件。這個條件是先驗的,與while循環(huán)一樣,進入循環(huán)之前,首先要檢驗條件是否滿足,條件滿足才執(zhí)行循環(huán);條件不滿足就結(jié)束循環(huán)。
③第三個部分是步進,即每輪執(zhí)行了循環(huán)體之后,必須執(zhí)行的表達式。通常我們在這里改變循環(huá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,當count>0時,重復做循環(huán)體,每一輪循環(huán)在做完循環(huán)體內(nèi)語句后,使得count遞減。”
循環(huán)圖示:
二、break和continue對循環(huán)的影響
break:跳出當前循環(huán)塊(for、while、do while)或程序塊(switch)。
在循環(huán)塊中的作用是跳出當前正在循環(huán)的循環(huán)體。
在程序塊中的作用是中斷和下一個case條件的比較。
continue:用于結(jié)束循環(huán)體中其后語句的執(zhí)行,并跳回循環(huán)程序塊的開頭執(zhí)行下一次循環(huán),而不是立刻循環(huán)體。
圖示:
實例一:查找素數(shù)
輸入一個數(shù)判斷并返回是否為素數(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 + "是素數(shù)"); } else { System.out.println(n + "不是素數(shù)"); } } }
進階:找到100以內(nè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ù) amount ,表示總金額。 計算并返回可以湊成總金額所需的 最少的硬幣個數(shù) 。 你可以認為每種硬幣的數(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元"); } } } } } } }
運行結(jié)果:
實例三:九九乘法表
描述:用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(); } } }
運行結(jié)果
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot+SseEmitter和Vue3+EventSource實現(xiàn)實時數(shù)據(jù)推送
本文主要介紹了SpringBoot+SseEmitter和Vue3+EventSource實現(xiàn)實時數(shù)據(jù)推送,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-03-03基于Springboot的高校社團管理系統(tǒng)的設(shè)計與實現(xiàn)
本文將基于Springboot+Mybatis開發(fā)實現(xiàn)一個高校社團管理系統(tǒng),系統(tǒng)包含三個角色:管理員、團長、會員。文中采用的技術(shù)有Springboot、Mybatis、Jquery、AjAX、JSP等,感興趣的可以了解一下2022-07-07Mybatis之foreach標簽內(nèi)傳入list為空的問題
這篇文章主要介紹了Mybatis之foreach標簽內(nèi)傳入list為空的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03