Java中的for循环结构及实例
作者:Algorithm-007
前言
程序的循环结构是Java编程中的重要内容,通过掌握Java中的for循环结构,可以提升我们的代码水平,更加清晰的体现了我们的编程逻辑以及为我们解题提供更好的方法。

一、for循环
for循环像一个计数循环:设定一个计数器,初始化它,然后在计数器到达某值之前,重复执行循环体,而每执行一轮循环,计数器值以一定步进进行调整,比如加1或者减1。
for (初始化数据; 循环条件; 单步动作)
{
// 循环体内的代码
}①第一个部分是一个初始化,可以定义一个新的变量: int count=10或者直接赋值:i=10。
②第二个部分是循环维持的条件。这个条件是先验的,与while循环一样,进入循环之前,首先要检验条件是否满足,条件满足才执行循环;条件不满足就结束循环。
③第三个部分是步进,即每轮执行了循环体之后,必须执行的表达式。通常我们在这里改变循环变量,进行加或减的操作。
例:
for (int i = 1; i <= 10; ++i)
{
System.out.println("Hello World");
}循环次数:
for ( i=O; i<n; i=i+l )
循环的次数是n,循环结束以后,i == n。
循环的控制变量i,是选择从0开始还是从1开始,是判断i<n还是判断i<=n,对循环的次数,循环结束后变量的值都有影响。
对于for循环结构的另一理解方式:
for ( count=l0; count>0; count=count-l)
for理解为对于:“对于一开始的count=l0,当count>0时,重复做循环体,每一轮循环在做完循环体内语句后,使得count递减。”
循环图示:

二、break和continue对循环的影响
break:跳出当前循环块(for、while、do while)或程序块(switch)。
在循环块中的作用是跳出当前正在循环的循环体。
在程序块中的作用是中断和下一个case条件的比较。
continue:用于结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环,而不是立刻循环体。
图示:

实例一:查找素数
输入一个数判断并返回是否为素数。
逻辑图示:

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 + "是素数");
}
else
{
System.out.println(n + "不是素数");
}
}
}进阶:找到100以内的素数 ——双重循环
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 + " ");
}
}
}
}实例二:凑硬币
描述:你有不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。 你可以认为每种硬币的数量是无限的。
代码:
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元");
}
}
}
}
}
}
}运行结果:

实例三:九九乘法表
描述:用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();
}
}
}运行结果

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
