Java 编程基础:流程控制语句


概述

1996 年,计算机科学家 Bohm 和 Jacopini 证明了:任何简单或复杂的算法都可以由顺序结构、分支结构和循环结构这三种基本结构组合而成。

它们的共同点是都包含一个入口和一个出口,它们的每个代码都有机会被执行,不会出现死循环。

顺序结构

顺序结构是一种基本的控制结构,它按照语句出现的顺序执行操作。

分支结构

分支结构又被称为选择结构,根据条件成立与否来执行操作。

循环结构

循环结构是一种重复结构,如果条件成立,它会重复执行某一循环体,直到出现不满足的条件为止。

一、循环语句

1.1 简介

循环语句功能:

在循环条件满足的情况下,反复执行特定代码。

循环语句分类:

  • for 循环
  • while 循环
  • do/while 循环

1.2 while 循环

符合条件,循环继续执行;否则,循环退出。

特点:先判断,再执行。

语法:

while(条件表达式){
	//语句块;
}

实现示例:

录入班级人数和学员成绩,计算班级学员的平均成绩。

使用 while 循环的步骤:

  1. 分析循环条件和循环操作
  2. 套用 while 语法写出代码
  3. 检查循环能否能够退出
int sum = 0;
int score = 0;
int avg = 0;
int studentNum = 20;
while(i<=studentNum){
	System.out.print("请输入第"+i+"位同学的成绩: ");
	score = input.nextInt();
	sum = sum+score;
	i++;
}
avg = sum/stuNum;

1.3 do-while 循环

先执行一遍循环操作,符合条件,循环继续执行;否则,循环退出。

特点:先执行,再判断。

语法:

do{
	循环操作
	}while(条件表达式);

Q:while 循环和 do-while 循环的区别?

  • while: 先判断条件,如果条件满足,再执行循环操作。
  • do while: 先执行一遍循环操作,然而再判读条件,如果条件满足,继续执行循环操作。

1.4 for 循环

语法:

for(初始化参数;判断条件;更新循环变量){
	循环体;
}

应用举例:

public class ForLoop{
	public static void main(String[] args){
		int result = 0;
		for(int i=1;i<=100;i++){
			result +=i;
		}
		System.out.println("result="+result)
	}
}

二、分支结构

2.1 if 条件语句

  • if 条件结构是根据条件判断之后再做处理
  • if(条件语句){…}
  • if(条件语句){…}else if(条件语句){…}
  • if(条件语句){…}else if(条件语句){…}else{…}

例子:用户输入学生成绩,判断成绩是否及格,判断条件为 优良:> 90、良好:81-90、中:60-80、不及格:< 60

import java.util.Scanner;

public class Demo4{
	public static void main(String[] args){
		Scanner input = new Scanner(System.in);
		System.out.println("请输入成绩: ");
		int scores = input.nextInt();
		//91优 81-90良 60-80中 60差
		if(score >= 91){
			System.out.println("您的成绩是优秀!继续加油哦!")
		}
	}
}

2.2 switch 语句

switch(表达式){
	case 取值1:语句块1;break;
	case 取值n:语句块n;break;
	default:语句块n+1;break;
}

switch 语句有关规则:

  • 表达式的返回值必须是下述几种类型之一:int,byte,char,short,String;
  • case 子句中的取值必须是常量,且所有 case 子句中的取值应是不同的;
  • default 子句是可选的;
  • break 语句用来在执行完一个 case 分支后使程序跳出 switch 语句块;如果 case 后面没有写break
    则直接往下面执行!
  • Case 后面的执行体可写{} 也可以不写{}。

例题:多分支月份输出天数(充分利用语句特性)

import java.util.Scanner;

public class Demo6{
	public static void main(String[] args){
		Scanner input = new Scanner(System.in);
		System.out,println("请输入月份:");
		int month = input.nextInt();
		switch(month){
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
				System.out.println(month+"月共有31天");
			break;
			case 2:
				System.out.println(month+"月共有28天");
			break;
			default:
				System.out.println("友情提示,您输入有误!");
			break;
			
		}
	}
}

总结

循环结构:

同一件事反复做,反复执行同一片代码;

循环的构成:

初始化语句
循环进口(条件)
循环体
循环增量

有三种 循环结构:

for 循环:

语法格式:

for(初始化语句;条件;步进表达式){
	循环体
}

执行流程:

  1. 初始化语句
  2. 判断条件,如果条件为真;则进入第三步,条件为假则进入第五步
  3. 执行循环体
  4. 执行步进表达式,进入第二步
  5. 结束循环

while 循环:

语法格式:

初始化语句
while(条件){
	循环体
	步进语句
}

执行流程:

  1. 初始化语句;
  2. 判断条件,如果条件为真,则进入第三步,如果条件为假,则进入第五步;
  3. 执行循环体;
  4. 执行步进语句,再进入第二步;
  5. 结束循环

do-while 循环

语法格式:

初始化语句
do{
	循环体
	步进语句
}while(条件)

执行流程:

  1. 初始化语句
  2. 执行循环体
  3. 执行步进语句
  4. 判断条件,如果条件为真,进入第2步,否则进入第5步
  5. 结束循环

三种循环的区别:

虽然可以完成同样的功能,但是还是有小区别:

do-while 循环至少会执行一次循环体。
for 循环和 while 循环只有在条件成立的时候才会去执行循环体。

for 循环语句和 while 循环语句的小区别:

使用区别:控制条件语句所控制的那个变量,在 for 循环结束后,就不能再被访问到了,而 while 循环结束还可以继续使用,如果你想继续使用,就用 while,否则推荐使用 for。原因是 for 循环结束,该变量就从内存中消失,能够提高内存的使用效率。

循环使用 推荐 for-- while-- do–while

跳转语句可以控制循环的执行!

有2种:

  1. break:在循环中使用的时候,表示结束当前循环; 在 switch 语句中使用表示跳出当前的 switch 结构。
  2. continue:在循环中使用,表示结束本次循环,进入下一次循环,跳转语句,脱离循环没有意义。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值