流程控制
一、接收用户输入
首先,创建Scanner工具类对应的实体对象input,用于操作输入
更具体的输入,需要使用上一步创建的实体input带有的函数,比如:
input.nextInt(); // 返回值为int
input.nextFloat(); // 返回值为float
input.nextByte(); // 返回值为byte
......
然而上述函数要求输入必须与预定类型一致。为了方便接受各种不同类型的输入,可以使用函数:
input.next();// 用于接收任何类型的数据,返回值为String
input.nextLine(); // 用于接收任何类型的数据,返回值为String
注意:next与nextLine尽量不要同时使用,以下面的例子为例:
next接收数据后,敲下回车,可以正常显示,等到nextLine函数接受数据时,程序直接结束,却不能继续在控制台进行输入。
原因是:上面的next是指接收文字,后面的nextLine是指接收一行文字,输入abc以后换行了,next函数接受了数据,nextLine函数接收了后面的换行字符;导致一次输入两次结果都有了,故第二次不能继续输入。
Next和nextLine区别(字面意思上):
Next:只能接收一段文字,除了敲回车,一个空格也算结束,该方法不能接收空格且必须输入有效内容。
nextLine:必须使用回车结束。
二、执行结构概述
1996年,计算机科学家Bohm和Jacopini证明了:任何简单或复杂的算法都可以由顺序结构、分支结构和循环结构这三种基本 结构组合而成。
它们的共同点是都包含一个入口和一个出口,它们的每个代码都有机会被执行,不会出现死循环。
- 顺序结构
顺序结构是一种基本的控制结构,它按照语句出现的顺序执行操作。
- 分支结构
分支结构又被称为选择结构,根据条件成立与否来执行操作
- 循环结构
循环结构是一种重复结构,如果条件成立,它会重复执行某一循环体,直到出现不满足的条件为止。(一定要有出口)
三、 分支执行结构
1.if条件语句
if条件结构是根据条件判断之后再做处理
if(条件语句){…}
if(条件语句){…}else{…}
if(条件语句){…}else if(条件语句){…}
if(条件语句){…}else if(条件语句){…}else{…}
例子:用户输入学生成绩,判断成绩是否及格,判断条件为优良:>90、良好:81-90、中:60-80、不及格:<60
2.Switch语句
2.1格式
switch(表达式){
case取值1:语句块1;break;
case取值n:语句块n;break;
default:语句块n+1;break;
}
2.2 switch语句有关规则
A.表达式的返回值必须是下述几种类型之一:int,byte,char,short,String;
B.case子句中的取值必须是常量,且所有case子句中的取值应是不同的;
C.default子句是可选的;
D.break语句用来在执行完一个case分支后使程序跳出switch语句块;如果case后面没有写break则直接往下面执行!
E.Case后面的执行体可写{}也可以不写{}
例:多分支月份输出季节(充分利用语句特性)
四、循环执行结构
1.简介
1.1循环语句功能
在循环条件满足的情况下,反复执行特定代码
1.2循环语句分类
for循环
while循环
do/while循环
1.3 while循环
符合条件,循环继续执行;否则,循环退出
A.特点:先判断,再执行
B.语法:
while(条件表达式){
//语句块;
}
C.使用while循环的步骤
1、分析循环条件和循环操作
2、套用while语法写出代码
3、检查循环是否能够退出
D.实现示例:
录入班级人数和学员成绩,计算班级学员的平均成绩
1.4 do while循环
先执行一遍循环操作,符合条件,循环继续执行;否则,循环退出(保证函数体内的代码至少执行一次)
- 特点:先执行,再判断
- 语法:
do{
循环操作
}while(条件表达式);
C.while循环和do-while循环的区别?
while:先判断条件,如果条件满足,再执行循环操作
dowhile:先执行一遍循环操作,然后再判读条件,如果条件满足,继续执行循环操作。
1.5 for循环
A.语法:
for(初始化参数;判断条件;更新循环变量){
循环体;
}
例:
五、break、continue与多重循环的跳出
break:是用于终止本轮循环所有次循环即不执行本次循环中break后面的语句直接跳出循环,跳出包含break的最近的一个循环体。
continue:是用于终止本轮本次循环。即本次循环中continue后面的代码不执行,进行下一次循环的入口判断,跳过此次循环体中continue语句后的代码,并执行下一次循环。
多重循环的跳出使用别名的方法,举例如下:
七、判断用户输入类型