键盘输入数据的的步骤:
1、导包(包放在class上面,package的下面)
import java.util.Scanner;
2、创建键盘输入的对象
Scanner sc=new Scanner(System.in);
3、调用键盘输入的数据的方法
int i=sc.next.Int();
String s=sc.next();
流程控制语句分类:
顺序结构:
是程序中最简单最基本的流程结构,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样。写在前面的先执行,写在后面的后执行
选择结构:
也被称为分支结构
if语句:
if选择语句:
三种格式:
1、if(关系表达式){
语句体;
}
解释:
1、关系表达式只能是boolean
2、如果关系表达式中的结果是true,则执行语句体,如果不是true,则不执行语句体
3、语句体可以不止一条语句
注意:
1、关系表达式只能是boolean
2、在if小括号后面写一个“;”可以,if语句可能不生效,相当于后面有一个空语体
3、大括号理论上可以省去,但是当语句体内容多的时候,不建议省去,因为后面的代码都会执行,建议永远不要省去大括号!!!!!!
2、if(关系表达式){
语句体1;
}else{
语句体2;
}
if语句的第二中格式与三目运算符非常相像
if第二种格式----->三目运算符?举例:比较两个数是否相等由于三目运算符一定有返回值,当if第二种格式中有输出语句时,不能转换为三目运算符
三目运算符------->if第二种格式?这一定是可以的,因为三目运算符中一定不会有输出语句。
3、if(关系表达式){
语句体1;
}else if{
语句体2;
}else if{
语句体3
}
...
else{
语句体n+1;
}
switch语句:
switch语句的格式:
switch(表达式){
case 常量值:
语句体1;
break;
case 常量值2:
语句体2;
break;
case 常量值3:
语句体3;
break;
...
default:
语句体n+1;
break;
}
名字解释:
1、switch:表示这一个选择结构语句
2、表达式:这里的表达式一定会有一个结果值,只能是byte、short、int、cahr在jdk1.5之后有枚举,在jdk1.8之后有string
3、case:switch中匹配的使用关键字
4、常量值:要被匹配的值,注意:这里只能是常量值,不能是变量
5、语句体:当匹配到对应的常量值后,执行对应的语句内容,语句体可以是一条也可以是多条
6、break:跳出switch选择结构
7、default:当所有的case都不匹配表达式中的值时,默认最后执行default中语句体
执行的流程:
1、首先会计算表达式中的值
2、依次去匹配case中的常量值
3、当匹配到的时候,执行对应的语句体内容
4、如果所有的case都匹配,就执行default的语句体
5、遇到break的时候执行结束
注意事项:
1、break可以用不写吗?可以,但是没有结束语句,会一直执行下去,直到遇见break。
2、default可以不写吗?可以不写,但是代码不严谨,什么情况下可以不写?当存在固定值的时候可以不写
3、default的执行顺序与位置无关
4、当default的顺序与break省略同时出现的时候,出来的结果可能不是你想要的
当程序中没有break的时候,并且default在最后,那么执行到default就结束
当程序中没有break,且default在程序的前面,这时候先匹配,如果都不匹配的时候就按顺序,从default依次执行
if语句使用场景:
1、针对结果是boolean类型的判断
2、针对范围的判断
3、针对几个常量的值的判断
switch:
1、针对几个常量值的判断
循环体结构:
初始化语句:一条或多条语句,这些语句完成一些初始化操作,需要开始循环的一些变量
判断条件语句:判断条件什么时候进入循环
控制条件语句:控制循环啥时候结束
循环体语句:当满足循环时,执行循环体语句
循环结构的组成:
1、for(初始化语句;判断条件语句;控制条件语句){
循环体语句
}
循环结构:
1、for循环
注意事项:
1、初始化语句在循环中只执行一次
2、初始化语句可以不在for中定义,但是要在for循环之前定义
3、判断条件语句可以不写,但是会陷入死循环
4、控制条件语句可以不写,但是会陷入死循环,无法跳出循环
5、判断条件语句是个boolean
6、当循环体内容只有一条的时候可以省略,当时多条语句的时候不可以省略