Java中的for循環(huán)結(jié)構(gòu)及實例
前言
程序的循環(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)像一個計數(shù)循環(huán):設(shè)定一個計數(shù)器,初始化它,然后在計數(shù)器到達(dá)某值之前,重復(fù)執(zhí)行循環(huán)體,而每執(zhí)行一輪循環(huán),計數(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)維持的條件。這個條件是先驗的,與while循環(huán)一樣,進(jìn)入循環(huá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時,重復(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ù)
輸入一個數(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ù)");
}
}
}進(jìn)階:找到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ù) 。 你可以認(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元");
}
}
}
}
}
}
}運行結(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ù)推送,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03
基于Springboot的高校社團(tuán)管理系統(tǒng)的設(shè)計與實現(xiàn)
本文將基于Springboot+Mybatis開發(fā)實現(xiàn)一個高校社團(tuán)管理系統(tǒng),系統(tǒng)包含三個角色:管理員、團(tuán)長、會員。文中采用的技術(shù)有Springboot、Mybatis、Jquery、AjAX、JSP等,感興趣的可以了解一下2022-07-07
Mybatis之foreach標(biāo)簽內(nèi)傳入list為空的問題
這篇文章主要介紹了Mybatis之foreach標(biāo)簽內(nèi)傳入list為空的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03

