java基础(for循环):八个for循环案例

一、for循环
语法:
for(初始化; 布尔表达式; 更新) {

    // 代码语句
}
    1.最先执行初始化步骤,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句

    2.然后,检测布尔表达式的值:如果为 true,循环体被执行;如果为 false,循环终止,开始执行循环体后面的语句

    3.执行一次循环后,更新循环控制变量

    4.再次检测布尔表达式,循环执行上面的过程

二、循环三要素
    1.循环初始化;2.循环条件;3.循环变量的修改。

三、for循环测试
    1. 有个人想知道,一年之内一对新生兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一对小兔子,每对兔子从出生后第3个月起每月生一对小兔
子。
    假如一年内没有发生死亡现象,那么,一对兔子一年内(12 个月)能繁殖成多少对?

package day06;
 
public class day06_Demo1 {
 
    public static void main(String[] args) {
 
        day06_Demo1.rabbitTest1();
    }
     private static void rabbitTest1() {
         int sum = 0;
            int tu1 = 1,tu2 = 1;//tu1是第一个月的兔子数,tu2是第二个月的兔子数
            for(int a=3;a<=12;a++) {
                sum = tu1 + tu2;
                System.out.println(sum);
                tu2 = tu1;
                tu1 = sum;
            }
            System.out.println("第12个月的月末兔子的数量 为: "+sum+"对");
     }
}
    2.计算出1--100之间所有不能被3整除的整数的和大于(或等于)2000的数字。

package day06;
 
import java.util.Iterator;

 
public class day06_Demo2 {
 
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 100;i++) {
            if (i % 3 ==0) {
                continue;
            }
            sum += i;
            if (sum >= 2000) {
                System.out.println("这个数是:" + sum);
                break;
            }
            
        }
 
    }
 
}
    3.求s=a+aa+aaa+aaaa+...+a...a的值,其中a是一个数字。例如2+22+222+2222, a的值和加数个数n均从键盘获取。

package day06;
 
import java.util.Iterator;
import java.util.Scanner;

public class day06_Demo3 {
   
    public static void main(String[] args) {
        int a, n;
        //从控制台输入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数:");
        a = sc.nextInt();
        System.out.println("请输入需要相加的个数:");
        n = sc.nextInt();
        long b = a;        //每个加数
        long num = 0;    //和
        int count = 1;
        
        //循环相加
        for(int i = 0;i < n;i++) {
            System.out.println("第" + count +  "次增加:" + b);
            num += b;
            //计数器
            count++;
            
            //改变加数
            b *= 10;
            b += a;
        }
        System.out.println("\n" + n + "次相加的结果为= " + num);
    }
}
    4.将所有的五位数中的回文数打印输出。即12321是回文数,个位与万位相同,十位与干位相同。

package day06;

public class day06_Demo5 {
    public static void main(String[] args) {
        int x, y, z, h, n;
        for (int i = 10000; i < 100000;i++) {
            x = i / 10000;
            y = i / 1000 % 10;
            z = i / 100 % 10;
            h = i / 10 % 10;
            n = i % 10;
            if (n == x && h == y) {
            System.out.println(i);    
            }
            
        }
    }
}
    5.公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子?

package day06;
 
/**
* @fileName : day06_Demo6.java
* @description : 公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,
*                 把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。
*                 问公园里刚开始有多少个桃子?

* @date : 2021年12月19日-下午3:49:21
*/
 
public class day06_Demo6 {
    public static void main(String[] args) {
         int count = 1;
            for(int a=1;a<=6;a++) {
                count = (count+1) * 2;
            }
            System.out.println("公园里原来有: "+count+"个桃子。");
    }
}
 
    6.国王的奖励:有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,求棋盘上放的所有芝麻的重量。

package day06;
 
import java.util.Iterator;
 

public class day06_Demo7 {
    /**
    * @return : void
    * @Description : 有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,
    *                 第二个里面放2粒,第三个里面放4,求棋盘上放的所有芝麻的重量。
    * @Date : 2021年12月19日下午2:11:12
    */
    public static void main(String[] args) {
        double sum = 0;
        for (int i = 0; i < 64; i++) {
            sum += Math.pow(2,i);
            
        }
        System.out.println("sum =" + sum / 10000);
    }
 
}
    7.实现1!+2!+3!+4!+5!+....+n!,n为n的阶乘 等于 1 * 2 * 3 * 4.......* n?

package day06;
 

public class day06_Demo8 {
 
    /**
    * @return : void
    * @Description : 实现1!+2!+3!+4!+5!+....+n!
    *                 n!为n的阶乘 等于 1 * 2 * 3 * 4.......* n?
    * @Date : 2021年12月20日上午9:40:51
    */
    public static void main(String[] args) {
        int n = 5;
        int a = 1;
        int sum = 0;
        for (int i = 1; i < n; i++) {
            a *= i;
            sum += a;
        }
        System.out.println(sum);
    }
 
}
    8.【折纸问题】一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?

package day06;
 

public class day06_Demo9 {
    /**
    * @return : void
    * @Description : 一张纸的厚度大约是0.08mm,
    *                 对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
    * @Date : 2021年12月20日上午9:04:24
    */
    public static void main(String[] args) {
        int sum = 8;
        int count = 0;
        for (double i = 0;; i++) {
            sum = sum * 2;
            count++;
            
            if (sum >= 884813000) {
                System.out.println("次数为:" + count);
                System.out.println(sum);
                break;
            }
            
        }
        
    }
 
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值