Java基本功之for循环

八个for循环运用小案例

一、for循环

语法:

for(初始化; 布尔表达式; 更新) {
// 代码语句
}

​ 1.最先执行初始化步骤,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句
​ 2.然后,检测布尔表达式的值:如果为 true,循环体被执行;如果为 false,循环终止,开始执行循环体后面的语句

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

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

二、循环三要素

​ 1.循环初始化;2.循环条件;3.循环变量的修改。

三、for循环测试

​ 1.有个人想知道,一年之内一对新生兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一对小兔子,每对兔子从出生后第3个月起每月生一对小兔
子。

​ 假如一年内没有发生死亡现象,那么,一对兔子一年内(12 个月)能繁殖成多少对?

package day06;
 
/**
* @fileName : day06_Demo1.java
* @description : TODO
* @author : yangzhihong
* @date : 2021年12月18日-下午2:13:14
*/
 
public class day06_Demo1 {
 
	/**
	* @return : void
	* @Description : TODO
	* @author : yangzhihong
	* @Date : 2021年12月18日下午2:13:14
	*/
	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;
 
/**
* @fileName : day06_Demo2.java
* @description : TODO
* @author : yangzhihong
* @date : 2021年12月18日-下午3:15:51
*/
 
public class day06_Demo2 {
 
	/**
	* @return : void
	* @Description : TODO
	* @author : yangzhihong
	* @Date : 2021年12月18日下午3:15:51
	*/
	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;
 
/**
* @fileName : day06_Demo3.java
* @description : TODO
* @author : yangzhihong
* @date : 2021年12月18日-下午3:41:42
*/
public class day06_Demo3 {
	/**
	* @return : void
	* @Description : TODO
	* @author : yangzhihong
	* @Date : 2021年12月18日下午3:41:42
	*/
	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;
 
/**
* @fileName : day06_Demo5.java
* @description : TODO
* @author : yangzhihong
* @date : 2021年12月18日-下午4:47:48
*/
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 : 公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,
* 				把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。
* 				问公园里刚开始有多少个桃子?
* @author : yangzhihong
* @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;
 
/**
* @fileName : day06_Demo7.java
* @description : TODO
* @author : yangzhihong
* @date : 2021年12月19日-下午2:11:12
*/
 
public class day06_Demo7 {
	/**
	* @return : void
	* @Description : 有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,
	* 				第二个里面放2粒,第三个里面放4,求棋盘上放的所有芝麻的重量。
	* @author : yangzhihong
	* @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;
 
/**
* @fileName : day06_Demo8.java
* @description : TODO
* @author : yangzhihong
* @date : 2021年12月20日-上午9:40:51
*/
 
public class day06_Demo8 {
 
	/**
	* @return : void
	* @Description : 实现1!+2!+3!+4!+5!+....+n!
	* 				n!为n的阶乘 等于 1 * 2 * 3 * 4.......* n?
	* @author : yangzhihong
	* @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;
 
/**
* @fileName : day06_Demo9.java
* @description : TODO
* @author : yangzhihong
* @date : 2021年12月20日-上午9:04:24
*/
 
public class day06_Demo9 {
	/**
	* @return : void
	* @Description : 一张纸的厚度大约是0.08mm,
	* 				对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
	* @author : yangzhihong
	* @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;
			}
			
		}
		
	}
 
}
posted @   _杨先生  阅读(316)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示