4-1-1 for循环-与while比较

阶乘

n! = 1×2×3×...×n

3!=6


写一个用户输n,计算出n!的程序



怎么写程序:

1.想要表达的数据(n和结果)

2.计算

3.计算途中需要的变量++




表达累积结果初始化为1,不然=0


import java.util.Scanner;

public class Main {    
    
    public static void main(String[] args) {                  
        Scanner in = new Scanner(System.in);
    	int n = in.nextInt();
    	int i = 1;
    	int factor = 1;
    	while (i<=n)
    	{
    		factor = factor * i;
    		i = i + 1;
    	}
    	
    	System.out.println(factor);


    }  
}    


输入20


20

-2102132736


不能算大阶乘


因:int占4字节,最大表示2的31次方-1,最小表示-2的31次方


引入for循环


//    	while (i<=n)
//    	{
//    		factor = factor * i;
//    		i = i + 1;
//    	}
    	
    	
//		初始化(第一轮之后不做;条件;循环体做完之后再做)
    	for ( i=1;i<=n;i = i+1)

    	{
    		factor = factor * i;    		
    	}



1.在循环开始前判断条件

2.像计数循环


3.第一部分是初始化,可定义新变量或赋值

4.第二部分是和while一样的条件

5.第三部分是执行循环体后执行的表达式,通常用来改变循环变量


6.for程序语义

for ( i=1;i<=n;i = i+1)
对于一开始的
 i=1

i<=n

时,

重复做循环体,每轮做完之后,使

i = i+1



修改后程序

import java.util.Scanner;

public class Main {    
    
    public static void main(String[] args) {                  
        Scanner in = new Scanner(System.in);
    	int n = in.nextInt();    	
    	int factor = 1;

    	for ( int i=1;i<=n;i = i+1)

    	{
    		factor = factor * i;    		
    	}
    	
    	System.out.println(factor);


    }  
}    

留意:

1.for循环和while循环可互换


2.for除条件其他都可以省略

for(;条件;)==while(条件)


3.for后和if一样不要分号;

4.for要{}


5.这样循环次数是n

    	for ( int i=0;i<=n;i = i+1)


选择for while 还是do-while循环

1.如果有固定次数,用for

2.必须执行一次,用do-while

3.其他情况while











  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值