【Java功能体】Java的选择结构和循环结构

本文深入讲解了程序设计中的控制结构,包括if...else选择结构、switch结构、do...while循环结构、while结构、for结构以及foreach循环。通过实例演示了如何使用这些结构进行成绩定性判断、数字到星期的转换、水仙花数的统计等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

选择结构

if else结构

三种类型:

if(布尔表达式) { //单分支
    语句块1;
}

if(布尔表达式) { //双分支
    语句块1;
} else {
    语句块2;
} 

if(布尔表达式) { //多分支
    语句块1;
} else if {
    语句块2;
} else {
    语句块3;
}

实例:成绩的定性判断

功能:使用if语句对成绩定性判断
public class IfTest2 {
	public static void main(String[] args) {
		//创建对象
		Scanner sc = new Scanner(System.in);
		//接收数据
		System.out.println("请输入学生的考试成绩:");
		int score = sc.nextInt();
		
		//if语句格式3
		if(score<0 || score>100){
			System.out.println("你的成绩是错误的");
		}else if(score>=90 && score<=100){
			System.out.println("你的成绩属于优秀");
		}else if(score>=80 && score<90){
			System.out.println("你的成绩属于好");
		}else if(score>=70 && score<80){
			System.out.println("你的成绩属于良");
		}else if(score>=60 && score<70){
			System.out.println("你的成绩属于及格");
		}else {
			System.out.println("你的成绩属于不及格");
		}
	}
}

switch结构

语法结构:

switch (表达式) {
    case1:
        内容 1;
        break;
    case2:
        内容 2;
        break;
    default:
        break;

执行过程:

  1. 计算出表达式的值
  2. 拿计算出来的值和case后面的值依次比较,一旦有对应的值,就执行该处的语句,在执行过程中,遇到 break,就结束。
  3. 如果所有的case都不匹配,就会执行default控制的语句,然后结束。

注意:
1、switch后面小括号中表达式的值必须是整型或字符型;JDK5以后可以是枚举,JDK7以后可以是字符串
2、case后面的值可以是常量数值,如1、2;也可以是一个常量表达式,如2+2 ;但不能是变量或带有变量的表达式,如 a * 2
3、case匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,直到遇到 break 语句或者 switch 语句块结束

实例:

//程序功能:根据数字判断星期
import java.util.Scanner;
public class SwitchDemo {
	public static void main(String[] args) {
		//创建键盘录入对象
		Scanner sc = new Scanner(System.in);
		
		//接收数据
		System.out.println("请输入一个数字(1-7):");
		int weekday = sc.nextInt();
		
		//switch语句实现选择
		switch(weekday) {
		case 1:
			System.out.println("星期一");
			break;
		case 2:
			System.out.println("星期二");
			break;
		case 3:
			System.out.println("星期三");
			break;
		case 4:
			System.out.println("星期四");
			break;
		case 5:
			System.out.println("星期五");
			break;
		case 6:
			System.out.println("星期六");
			break;
		case 7:
			System.out.println("星期日");
			break;
		default:
			System.out.println("你输入的数字有误");
			break;
		}
	}
}

循环结构

三种循环的区别:

  • do…while至少执行一次循环体
  • for, while循环先判断条件是否成立,然后决定是否执行循环体

for和while的小区别:

  • for循环的初始化变量,在循环结束后,不可以被访问。而while循环的初始化变量,是可以被继续使用的。
  • 如果初始化变量,后面还要继续访问,就使用while,否则,推荐使用for。

循环的使用推荐:
for – while – do…while

两大关键字:
 break:结束与该关键字最近的一个循环体;
 continue:结束与该关键字最近的一循环体的一次循环,立即开始新的循环;

do while结构

语法结构:

初始化语句;
do {
	循环体语句;
	控制条件语句;
}while(判断条件语句);

执行流程:
step1: 执行初始化语句;
step2: 执行循环体语句;
step3: 执行控制条件语句;
step4: 执行判断条件语句,看是true还是false

  • 如果是true,回到B继续
  • 如果是false,就结束

执行过程:

  1. 先执行一遍循环操作,然后判断循环条件是否成立
  2. 如果条件成立,继续执行直到循环条件不成立为止

特点: 先执行,后判断

while结构

结构:

while(判断条件语句) {
	循环体语句;
	控制条件语句;
}

for结构

语法规则: for(循环变量初始化;循环条件;循环变量变化) { 循环操作 }

执行过程:
<1>、执行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中只执行一次
<2>、进行循环条件的判断,如果条件为 true ,则执行循环体内代码;如果为 false ,则直接退出循环
<3>、执行循环变量变化部分,改变循环变量的值,是在执行完循环操作以后
<4>、又回到第<2>步继续执行

实例:

功能:统计[100,1000]内的水仙花数
public class ForTest5 {
	public static void main(String[] args) {
		//定义统计变量,初始化值是0
		int count = 0;
		
		//获取三位数,用for循环实现
		for(int x=100; x<1000; x++) {
			//获取三位数的个位,十位,百位
			int ge = x%10;
			int shi = x/10%10;
			int bai = x/10/10%10;
			
			//判断这个三位数是否是水仙花数,如果是,统计变量++
			if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {
				count++;
			}
		}
		//输出统计结果就可以了
		System.out.println("水仙花数共有:"+count+"个");
	}
}

for each循环

格式:

for(元素的类型 变量 : 集合或者数组对象) {
  可以直接使用变量;
}

实例:

public class Main {
	public static void main(String[] args) {
		int[] a = {1,2,4,5};
		for(int i:a) {
			System.out.println(i);
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值