目录
键盘录入数据
导包(位置放到class定义的上面)
import java.util.Scanner;
创建对象
Scanner sc = new Scanner(System.in);
接收数据
int x = sc.nextlnt();
流程控制语句
顺序结构
选择结构
循环结构
顺序结构:写在前面的先执行,写在后面的后执行
选择机构:(分支结构)
if语句
switch语句
if语句:
if(关系表达式){
语句体
}
------------------------
if(关系表达式){
语句体1;
}else{
语句体2;
}
------------------------
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
.....
else{
语句体n+1;
}
判断关系表达式是true还是false
是true就执行语句体,是false则不执行语句体
注意:
关系表达式无论简单还是复杂,结果必须是boolean类型
if语句控制的语句体如果是一条语句,大括号可以省略,如果是多条语句不能省略
一般来说:有左大括号就没有分号,有分号就没有左大括号
switch语句格式:
switch(表达式){
case值1:
语句体1;
break;
case值2:
语句体2;
break;
....
default:
语句体n+1;
break;
}
表达式的取值:byte,short,int,char
JDK5以后可以是枚举;
JDK7以后可以是String
case后面跟的是要和表达式进行比较的值
语句体部分可以是一条或者多条语句
break表示中断,结束的意思,可以结束switch语句
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
注意:
case后面只能是常量不能是变量,而且不能相同
defult可以省略,除非判断的值是固定的
break可以省略,但结果会变
default位置可以出现在switch的任意位置
switch结束条件,遇到break,或执行程序的末尾
如何选择if和switch
if:
针对结果是boolean类型的判断
针对一个范围的判断
针对几个常量值的判断
switch:
针对几个常量值的判断
循环结构
循环结构的组成:
初始化语句:
一条或者多条语句,这些语句完成一些初始化操作
判断条件语句:
这是一个boolean表达式,这个表达式能决定是否执行循环体。
循环体语句:
这个部分是循环体语句,也就是我们要多次做的事情。
控制条件语句:
这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。
for循环语句格式:
for(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}
执行流程
1、执行初始化语句
2、执行判断条件语句,看其结果是true还是false
false,循环结束
true,循环继续
3、执行循环体语句
4、执行控制条件语句
5、回到2继续
注意:
判断条件语句的结果是一个boolean类型
循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略
一般来说,有左大括号就没有分号,有分号就没有左大括号
while循环语句格式:
基本格式
while(判断循环语句){
循环体语句;
}
扩展格式
初始化语句;
whiile(判断条件语句){
循环体语句;
控制条件语句;
}
for循环和while循环的区别
for循环:控制的变量在循环结束后就不能在使用了
如果想继续使用,用while
否则推荐使用for,原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率
for 循环适合对一个范围判断进行操作
while 循环适合判断次数不明确操作
.equals()判断输入的字符串是否一致,输出boolean类型数据
循环结构:
do...while循环语句格式:
基本格式
do{
循环体结构;
}while(判断条件语句);
扩展格式
初始化语句;
do{
循环体语句;
控制条件语句;
}while(判断条件语句);
三种循环语句其实都可以完成一样的功能,也就是说可以等价转换,但还是小有区别的:
do...while循环至少会执行一次循环体。
for和while循环体只有在条件成立的时候才会去执行循环体
注意事项:
写程序优先考虑for循环,再考虑while循环,最后考虑do...while循环
如下代码是死循环
while(ture){}
for(;;){}