Java中的for循环结构及实例

 更新时间:2024年01月16日 09:50:51   作者:Algorithm-007  
这篇文章主要介绍了Java中的for循环结构及实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

前言

程序的循环结构是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();
        }
    }
}

运行结果 

总结

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

相关文章

  • SSH原理及两种登录方法图文详解

    SSH原理及两种登录方法图文详解

    SSH(Secure Shell)是一套协议标准,可以用来实现两台机器之间的安全登录以及安全的数据传送,其保证数据安全的原理是非对称加密。本文通过图文并茂的形式给大家介绍了SSH原理及两种登录方法,一起看看吧
    2018-08-08
  • 一文搞明白Java Spring Boot分布式事务解决方案

    一文搞明白Java Spring Boot分布式事务解决方案

    这篇文章主要介绍了一文搞明白Java Spring Boot分布式事务解决方案,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • 解决SpringCloud Feign传对象参数调用失败的问题

    解决SpringCloud Feign传对象参数调用失败的问题

    这篇文章主要介绍了解决SpringCloud Feign传对象参数调用失败的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Java之Swagger配置扫描接口以及开关案例讲解

    Java之Swagger配置扫描接口以及开关案例讲解

    这篇文章主要介绍了Java之Swagger配置扫描接口以及开关案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 详解Spring注解--@Autowired、@Resource和@Service

    详解Spring注解--@Autowired、@Resource和@Service

    本篇文章主要介绍最重要的三个Spring注解,也就是@Autowired、@Resource和@Service,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-05-05
  • 关于IDEA创建spark maven项目并连接远程spark集群问题

    关于IDEA创建spark maven项目并连接远程spark集群问题

    这篇文章主要介绍了IDEA创建spark maven项目并连接远程spark集群,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Java 1,2,3,4能组成多少个互不相同且无重复数字的实现代码

    Java 1,2,3,4能组成多少个互不相同且无重复数字的实现代码

    这篇文章主要介绍了Java 1,2,3,4能组成多少个互不相同且无重复数字的实现代码,需要的朋友可以参考下
    2017-02-02
  • mybatis的selectKey作用详解

    mybatis的selectKey作用详解

    这篇文章主要介绍了mybatis的selectKey作用详解,具有很好的参考价值,希望对大家有所帮助。以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。</P><P>
    2022-01-01
  • SpringBoot使用布隆过滤器解决缓存穿透问题

    SpringBoot使用布隆过滤器解决缓存穿透问题

    缓存穿透是指当缓存系统中无法命中需要的数据时,会直接请求底层存储系统(如数据库),但是如果请求的数据根本不存在,那么大量的请求就会直接穿透缓存层,本文将给大家介绍一下SpringBoot使用布隆过滤器解决缓存穿透问题,需要的朋友可以参考下
    2023-10-10
  • java词法分析器DDL递归应用详解

    java词法分析器DDL递归应用详解

    这篇文章主要介绍了java词法分析器DDL递归应用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07

最新评论