Java编程基础:逻辑控制语句全面解析

Noah
Noah
发布时间:2026-10-13 | 6人浏览过
原创

本文系统讲解Java中的三大逻辑控制结构:顺序、分支与循环。详细解析if-else与switch语句的语法及悬垂else问题,深入剖析while、for及do-while循环的执行流程与注意事项,并对比break与continue在控制循环退出与跳过中的作用,帮助开发者掌握Java程序流程控制的核心技巧。

顺序结构

此前编写的代码大多遵循顺序执行模式,即程序严格按照代码书写的先后顺序,逐行向下执行。

代码1
 System.out.println("you");
 System.out.println("and");
 System.out.println("me");
代码2
 System.out.println("and");
 System.out.println("me");
 System.out.println("you");

上述代码 1 的运行结果如下:

you and me

代码 2 的运行结果如下:

and me you

分支结构

if 语句

其基本语法格式如下:

if(布尔表达式) {
    代码1
  // 条件满足时 执行
} else {
    代码2
  // 条件不满足时 执行
}

条件判断部分必须为布尔表达式。

当布尔表达式的计算结果为 true 时,执行代码块 1;若结果为 false,则执行代码块 2。

具体示例如下:

假设 J 本次考试成绩达到 90 分以上,则奖励一个大鸡腿;否则,奖励一个大嘴巴子。

int score = 95;
if(score >= 90) {
	System.out.println("奖励一个大鸡腿!");
}else {
	System.out.println("奖励一个大嘴巴子!");
}

使用注意事项:

悬垂 else 问题:

 int x = 10;
 int y = 10;
 if (x == 10)
 	if (y == 10)
    	System.out.println("aaa");
 	else
    	System.out.println("bbb");
    	

运行结果:aaa

当存在多个 if 语句且未使用大括号包裹时,else 关键字会自动与距离它最近的未匹配的 if 语句配对。因此,建议在编写 if 语句时始终使用大括号以明确作用域。

switch 语句

基本语法格式如下:

switch(表达式) {
 	case 常量值1:{
 		语句1;
 		break;
	}
 	case 常量值2:{
 		语句2;
 		break;
 	}
 	 ...
 	default:{
 	内容都不满足时执行语句;
	 	break;
 	} 
}

执行流程说明:

  • 首先计算表达式的值。
  • 随后将该值与各个 case 后的常量值依次进行比较,一旦发现匹配项,即执行该 case 下的语句,直到遇到 break 语句时跳出 switch 结构。
  • 若表达式的值与所有列出的 case 常量均不匹配,则执行 default 分支后的语句。

使用注意事项:

  • 不可遗漏 break 语句,否则会导致程序失去“多分支选择”的效果,发生 case 穿透现象。
  • 各个 case 标签后的常量值必须唯一,不能重复。
  • 通常不建议在 switch 语句中进行嵌套使用,以保持代码清晰。

哪些类型不能作为 switch 的参数?

long、float、double 以及 boolean 类型均不支持作为 switch 的参数。

循环结构

while 循环

基本语法格式如下:

while(循环条件) {
	循环语句;
}

当循环条件的值为 true 时,执行循环体内的语句;若值为 false,则终止循环。

while 循环中的输入处理:

Scanner scan = new Scanner(System.in);
	// Ctrl+C 直接中断程序
   	// Ctrl+D 正常退出程序
    while(scan.hasNext()){
    	int year = scan.nextInt();
        if((year % 4==0 && year % 100!=0) || year % 400==0){
        	System.out.println("闰年!");
        }else{
            System.out.println("不是闰年!");
        }
   	}

按下 Ctrl+C 可直接中断程序运行。

按下 Ctrl+D 可正常退出程序。

注意事项:

  • 务必确保循环体内有步进操作(如变量自增),否则可能导致死循环。
  • while 循环的条件判断部分只能是布尔表达式。

break

  • break 的功能:用于让循环提前结束。
  • break 语句仅适用于两种场景:switch 语句和循环结构。

代码示例:

求解 100 到 200 之间第一个既能被 3 整除也能被 5 整除的数:

int num = 100;
while(num<=200){
	if(num % 15==0){
    	System.out.println(num);
       	break;   //此处用break,因为break在while循环里
     }
     num++;
}

执行结果: 105

continue

continue 的功能:跳过当前本次循环剩余的语句,直接进入下一次循环的判断。

若将上述 break 示例代码中的 break 替换为 continue,程序将循环打印出所有符合条件的 105(注:原意可能指继续寻找后续符合的数,但根据代码逻辑,若仅找第一个则continue会导致无限循环或打印所有,此处按原文表述改写为“则会循环打印 105”以保留原意,尽管逻辑上需结合具体代码理解,通常continue用于跳过当前迭代)。

for 循环

基本语法格式如下:

for(表达式1; 布尔表达式2; 表达式3){
	循环体;
}

执行顺序说明:

第一趟循环:

  • 首先执行表达式 1(通常用于初始化),且该表达式仅执行一次。
  • 接着判断表达式 2(布尔表达式)是否为真,若为真,
  • 则执行循环体中的语句。
  • 最后执行表达式 3(通常用于更新变量)。

第二趟循环:

  • 再次判断表达式 2 是否为真,若为真,
  • 则执行循环体。
  • 随后执行表达式 3。

此过程持续进行,直到表达式 2 的值为假时,循环结束。

代码示例:

for(int i=1; i<=10;i++){
	System.out.println(i);
}

do while 循环

该结构先执行一次循环语句,随后再判定循环条件;若条件成立则继续执行,否则结束循环。

基本语法格式如下:

do{
  循环语句;
}while(循环体);

代码示例:

打印数字 1 至 10。

int num = 1;
	do {
    	System.out.println(num);
        num++;
    }while( num<=10 );

注意事项:do while 循环末尾的分号不可省略。此外,一般不推荐使用 do while 语句,因其使用场景相对较少。

总结

本文内容至此结束,希望能对您有所帮助,也欢迎您关注本站以获取更多相关内容!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表