Java 循环语句

for 循环语句

  • 循环结构 :

    • 特征 : 重复做某件事情,具有明确的开始和停止标志
    • 循环结构组成部分 :
    1. 初始化语句 :用于表示循环开启时的起始状态,简单说就是循环开始时的样子
    2. 条件判断语句 :用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去
    3. 循环体语句 :用于表示循环反复执行的内容,简单说就是循环反复执行的事情
    4. 条件控制语句 :由于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去
    • 循环结构对应的语法 :
    1. 初始化语句 :这里可以是一条或者多条语句,这些语句可以完成一些初始化操作
    2. 条件判断语句 :这里使用一个结果值为 boolean 类型的表达式,这个表达式决定了是否执行循环体,例如 :a < 3
    3. 循环体语句 :这里可以是任意语句,这些语句将反复执行
    4. 条件控制语句 :这里通常是使用一条语句来改变变量的值,从而达到控制循环是否继续向下执行的效果, i ++ , i - -
  • for 循环语句格式

    格式 : 
    for(初始化语句;条件判断语句;条件控制语句){
        循环体语句;    
    }
    
    执行流程 : 
    1.执行初始化语句
    2.执行条件判断语句,看其结果是 true 还是 false
      如果是 true ,继续执行
      如果是 false , 循环结束
    3.执行循环体语句
    4.执行条件控制语句
    5.回到 2 继续
    
  • 代码测试 :

public class Demo_1 {
	public static void main(String[] args) {
		/**
		 * 需求 :在控制台输出五次 HelloWorld
		 **/

		// 1. 最简单方式进行输出
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("==========================");

		// 2. 使用 for循环 进行输出
		for (int i = 1; i <= 5; i++) {
			// 先执行初始化语句,在执行条件判断语句,接着执行语句体,最后执行条件控制语句
			System.out.println(i);
			System.out.println("HelloWorld");
		}

	}
}
  • 案例 :输出数据
public class Demo_1 {
	public static void main(String[] args) {
		/**
		 * 需求 :在控制台输出 1-5 和 5-1 的数据
		 **/

		// 1. 在控制台输出 1-5
		for (int i = 1; i <= 5; i++) {
			System.out.println(i);
		}

		System.out.println("===================");

		// 2. 在控制台输出 5-1
		for (int i = 5; i >= 1; i--) {
			System.out.println(i);
		}
		
		
	}
}
  • 案例 :求和
public class Demo_1 {
	public static void main(String[] args) {
		/**
		 * 需求 :求 1-5 之间的数据和,并把求和的结果在控制台输出
		 **/

		// 1. 定义一个 int 类型的变量用于保存求和的结果,初始值为 0
		int sum = 0;

		// 2. 使用 for循环,依次计算 1-5 求和的结果
		for (int i = 1; i <= 5; i++) {
			// 3. 使用 += 表达式进行累加
			sum += i;
			System.out.println(sum);
		}
		
		System.out.println("======================");
		System.out.println(sum);
			
	}
}
  • 案例 :求偶数和
public class Demo_1 {
	public static void main(String[] args) {
		/**
		 * 需求 :求 1-100 之间的偶数和,并把求和结果在控制台输出
		 **/

		// 1. 定义一个 int 类型的变量,用于保存求和的结果,初始值为 0
		int sum = 0;

		// 2. 使用 for循环,依次输出 1-100 的数据
		for (int i = 1; i <= 100; i++) {

			// 3. 判断需要累加的值能否被 2 整除,整出后为偶数
			if (i % 2 == 0) {

				// 4. 使用 += 把符合的值累加到变量 sum
				sum += i;
			}
		}
		// 5. 将累加的值进行输出
		System.out.println("1-100之间的偶数和为: " + sum);

	}
}
  • 案例 :水仙花
public class Demo_1 {
	public static void main(String[] args) {
		/**
		 * 需求:输出所有的水仙花数 水仙花数举例: 
		 * 371 (3*3*3) + (7*7*7) + (1*1*1) = 27 + 343 + 1 = 371
		 **/

		// 1.定义变量,用来统计水仙花数
		int temporary = 0;

		// 2.水仙花数是一个三位数,在 100-999 之间
		for (int i = 100; i < 1000; i++) {

			// 3.定义变量,依次取出个位,十位,百位,所对应的数字
			int unit = i % 10;
			int tens = (i / 10) % 10;
			int hundreds = ((i / 10) / 10) % 10;

			// 4.对传递的值进行判断,是否符合水仙花数标准并输出
			if (i == (unit*unit*unit) + (tens*tens*tens) + (hundreds*hundreds*hundreds)) {
				temporary++;
				System.out.println("第" + temporary + "个水仙花数为: " + i);
			}

		}

	}
}

while 循环语句

  • while 循环语句格式

    基本格式 :
    while(条件判断语句){
        循环体语句;
    }
    
    完整格式 :
    初始化语句;
    while(条件判断语句){
        循环体语句;
        条件控制语句;
    }
    
    执行流程 :
    1. 执行初始化语句
    2. 执行条件判断语句,看其结果是 true 还是 false ,如果是 true 继续执行 , 如果是 false  循环结束
    3. 执行循环体语句
    4. 执行条件控制语句
    5. 回到 2 继续执行
    
  • 代码测试 :

public class Test {

	public static void main(String[] args) {
		/**
		 * 在控制台输出五次 HelloWorld
		 **/

		// 1.while 循环实现
		int i = 1;
		while (i <= 5) {
			System.out.println("HelloWorld");
			i++;
		}
		
		
	}
}
  • 案例 :珠穆朗玛峰
public class Test {

	public static void main(String[] args) {
		/**
		 * 需求:世界最高山峰是珠穆朗玛峰(8844.43米 = 8844430毫米),假如我们有一张足够大的纸,它的厚度是 0.1 毫米
		 * 请问,需要折叠多少次,可以折成珠穆朗玛峰的高度
		 **/

		// 1.定义变量并换算单位
		int peak = 8844430 * 10;
		int paper = (int) (0.1 * 10);

		// 2.定义一个计数器,初始值为 0
		int count = 0;

		// 3.while 循环实现
		while (paper <= peak) {
			paper *= 2;
			count++;
		}

		// 4.输出需要折叠的次数
		System.out.println("需要折叠的次数为: "+count);
		
		
	}
}

do … while 循环语句

  • do … while 循环语句格式

    基本格式 :
    do{
       循环体语句;
       }while(条件判断语句);
    
    完整格式:
    初始化语句;
    do{
       循环体语句;
       条件控制语句;
       }while(条件判断语句);
    
    执行流程:
    1. 执行初始化语句
    2. 执行循环体语句
    3. 执行条件控制语句
    4. 执行条件判断语句,看其结果是 true 还是 false , 如果是 true 继续执行 , 如果是 false 循环结束
    5. 回到 2 继续
    
  • 代码测试 :

public class Test {

	public static void main(String[] args) {
		/**
		 * 在控制台输出五次 Hello World
		 **/
		
		// 1.定义初始化语句
		int i = 1;
		
		// 2.do...while 循环语句实现
		do {
			System.out.println("Hello World");
			i++;
		} while (i <= 5);

		
	}
}

三种循环的区别

  • do…while 循环最少执行一次循环体语句,其他循环语句条件为 false 则不执行循环体语句
  • for 循环中的变量随着 for 循环开始而开始结束而结束,while 和 do…while 循环中的变量是在循环开始前定义好的没有局限性
  • while 循环是最常用的死循环
public class Test {

	public static void main(String[] args) {
		/**
		 * 三种循环的区别
		 **/
		
		

		// 1.do...while 循环最少执行一次循环体语句,其他循环语句条件为 false 则不执行循环体语句

		for (int i = 3; i < 3; i++) {
			System.out.println("for 循环");
		}

		int j = 3;
		while (j < 3) {
			System.out.println("while 循环");
			j++;
		}

		int k = 3;
		do {
			System.out.println("do...while 循环");
			k++;
		} while (k < 3);
		
		

		// 2.for 循环中的变量随着 for 循环开始而开始结束而结束,
		// while 和 do...while 循环中的变量是在循环开始前定义好的没有局限性

		// System.out.println(i);
		System.out.println(j);
		
		

		// 3.死循环

		for (;;) {
			System.out.println("for");
		}
        
		// 最常用的死循环
		while (true) {
			System.out.println("while");
		}

		do {
			System.out.println("do...while");
		} while (true);
		
		
	}
}

跳转控制语句

  • 跳转控制语句概述 :
  1. continue 用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次执行
  2. break 用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环
  • 代码测试 :
public class Test {

	public static void main(String[] args) {
		/**
		 * 测试跳转控制语句 continue 和 break
		 **/

		// 1.continue 代码测试
		for (int i = 1; i <= 5; i++) {

			if (i % 2 == 0) {
				continue;
			}

			System.out.println(i);
		}

		System.out.println("=========================");

		// 2.break 代码测试
		for (int i = 1; i <= 5; i++) {

			if (i % 2 == 0) {
				break;
			}

			System.out.println(i);
		}

	}
}

循环嵌套

  • 循环嵌套概叙 :
  1. 任何语句对外都可以看成是一句话,一句代码
  2. 分支语句中包含分支语句称为分支嵌套
  3. 循环语句中包含循环语句称为循环嵌套
  • 代码测试 :
public class Test {

	public static void main(String[] args) {
		/**
		 * 使用循环嵌套在控制台输出一天的小时和分钟
		 **/

		
		// 1.使用 for 循环输出
		for (int minute = 0; minute < 4; minute++) {
			System.out.println("0时" + minute + "分");
		}
		System.out.println("================================");

		for (int minute = 0; minute < 4; minute++) {
			System.out.println("1时" + minute + "分");
		}
		System.out.println("================================");

		for (int minute = 0; minute < 4; minute++) {
			System.out.println("2时" + minute + "分");
		}
		System.out.println("================================");

		for (int minute = 0; minute < 4; minute++) {
			System.out.println("3时" + minute + "分");
		}
		System.out.println("================================");

		
		// 2.使用 for 循环嵌套输出
		for (int hour = 0; hour < 4; hour++) {

			for (int minute = 0; minute < 4; minute++) {
				System.out.println(hour + "时" + minute + "分");
			}
			System.out.println("================================");
		}
		
		
	}
}

Random

  • Random 的作用和使用步骤
  1. 作用 :用于产生一个随机数
  2. 使用步骤 :导包,创建对象,获取随机数
  • 代码测试 :
// 1.导包
import java.util.Random;

public class Test {

	public static void main(String[] args) {
		/**
		 * Random 代码测试
		 **/

		// 2.创建对象
		Random random = new Random();

		// 3.获取随机数
		int number = random.nextInt(10);

		// 4.输出随机数
		System.out.println("random: " + number);

		
		// 5.案例: 输出一个 1-100 的随机数
		int number_1 = random.nextInt(100) + 1;
		System.out.println("random: " + number_1);
		
		
	}
}
  • 案例 :猜数字
// 1.导包
import java.util.Random;
import java.util.Scanner;

public class Test {

	public static void main(String[] args) {
		/**
		 * 需求: 程序自动生成一个 1-100 之间的数字,使用程序实现猜出这个数字是多少?
		 *  
		 *       如果猜的数字比真实数字大,则提示你猜的数字大了 
		 *       如果猜的数字比真实数字小,则提示你猜的数字笑了
		 *       如果猜的数字跟真实数据相等,则提示恭喜你猜中了
		 **/

		// 2.创建对象
		Random random = new Random();
		Scanner scanner = new Scanner(System.in);

		// 3.获取随机数
		int number = random.nextInt(100) + 1;

		// 4.定义一个 int 类型的变量接收控制台输出
		int number_1 = 0;

		// 5.使用 while 循环判断输入值是否等于随机数,如果相等则终止循环,不等则继续循环
		while (number != number_1) {

			// 6.提示并获取在控制台输入
			System.out.println("请输入你所猜的数字: 1-100 之间:");
			number_1 = scanner.nextInt();
			
			// 7.判断输入的数字是否大于等于还是小于随机数,并给出不同的反馈
			if (number_1 > number) {
				System.out.println("你输入的数字大于随机数");
			} else if (number_1 < number) {
				System.out.println("你输入的数字小于随机数");
			} else {
				System.out.println("恭喜你猜中了");
			}
			
		}
		
	}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值