4、逻辑控制
1、顺序机构
定义:按照代码书写的顺序一行一行执行。
如果调整代码的书写顺序,则执行顺序也发生变化。
2、分支结构
2.1.if语句
1.语法格式1
if(布尔表达式){
//语句
}
如果布尔表达式结果为true,执行if中的语句,否则不执行。
2. 语法格式2
if(布尔表达式){
//语句1
}else{
//语句2
}
如果布尔表达式结果为true,执行if中的语句1,否则执行语句2。
3. 语法格式3
if(布尔表达式)1{
//语句1
}else if(布尔表达式2){
//语句2
}else{
//语句3
}
表达式1成立,执行语句1;否则表达式2成立,执行语句2,否则执行语句3。
- 悬垂 else语句
int x =10;
int y =20;
if(x == 10)
if(y == 10)
System.out.println("aaa");
else
System.out.println("bb");
if/else语句中可以不加大括号。此时 else 是和最接近的 if 匹配,所以上面的代码执行结果为 bb。
2.2.switch语句
基本语句
switch(表达式){
case 常量值1:{
语句1;
[break;]
}
case 常量值2:{
语句2;
[break;]
}
...
default:{
内容都不满足时执行语句;
[break;]
}
}
注意事项
- 多个case后的常量值不可以重复
- switch的括号内只能是一下类型的表达式:
- 基本数据:byte、char、short、int,注意不能是long类型 。
- 引用类型:String常量串、枚举类型。
- break 不要遗漏,否则会失去“多分枝选择”的效果。
- switch 不能表达式负责的条件。
3、循环结构
3.1while 循环
基本语法格式:
while(循环条件){
循环语句;
}
- 循环条件为 true,则执行循环语句;否则结束循环。
注意事项
while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句。
- while 后面不要多写 分号,,否则可能导致循环不能正确执行。
3.2 break
- break:让循环提前结构前结束
3.3 continue
- continue:跳过这次循环,立即进入下次循环
3.4 for循环
基本语法
for(表达式1;布尔表达式2;表达式3){
表达式4;
}
执行过程
1234——>234——234——> … ——>2为false,循环结束。
注意事项
- for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句。
- for 后面不要多写 分号, 否则可能导致循环不能正确执行.。
- 结束单趟循环用continue,结束真个循环用 break。
3.5 do while循环
基本语法
do{
循环语句;
}while(循环条件);
- 先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束。
4、输入输出
4.1输入到控制台
基本语法
System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出
- println输出内容自带 \n ,print 不带 \n。
- printf 的格式化输入方式和 C语言 printf 基本一致。
4.2从键盘输入
使用Scnner读取字符串/整数/浮点数
import java.util.Scanner; //使用 Scnner 需要导包
Scanner sc = new Scanner(System.in);
System.out.println("输入名字");
String name = sc.nextLine();
System.out.println("输入年龄");
int age = sc.nextInt();
System.out.println("输入工资");
float salary = sc.nextFloat();
System.out.println("姓名:"+name+"\n年龄:"+age+"\n工资:"+salary );