1.顺序结构
顺序结构比较简单,即按照代码一行行执行
结果如下:
System.out.println("a");
System.out.println("b");
System.out.println("c");
运行结果如下:
交换语句顺序输出结果也会变化。
2.分支结构
2.1 if语句
语法格式1:如果布尔表达式结果为true,执行if中的语句,否则不执行。
if(布尔表达式){
// 语句
}
语法格式2:如果布尔表达式结果为true,则执行if中语句,否则执行else中语句。
if(布尔表达式){
// 语句1
}else{
// 语句2
}
语法格式3: 表达式1成立,执行语句1,否则表达式2成立,执行语句2,否则执行语句3
if(布尔表达式1){
// 语句1
}else if(布尔表达式2){
// 语句2
}else{
// 语句3
}
注意事项:
1.要注意不要在if表达式后面加分号,这样会导致分号成为了 if 语句的语句体, 而 { } 中的代码已经成为了和一个 if 无关的代码块.
2.if / else 语句中可以不加 大括号 . 但是也可以写语句(只能写一条语句). 此时 else 是和最接近的 if 匹配. 但是不建议 这么写. 最好加上大括号
2.2 switch语句
语法格式
switch(表达式){
case 常量值1:{
语句1;
[break;]
}
case 常量值2:{
语句2;
[break;]
}
...
default:{
内容都不满足时执行语句;
[break;]
}
}
执行操作:
- 先计算表达式的值
- 和case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束
- 当表达式的值没有与所列项匹配时,执行default
注意事项
1.多个case后的常量值不可以重复
2.switch的括号内只能是以下类型的表达式:
- 基本类型:byte、char、short、int,注意不能是long类型
- 引用类型:String常量串、枚举类型
3.break 不要遗漏, 否则会失去 "多分支选择" 的效果
4.switch 不能表达复杂的条件
5.switch 虽然支持嵌套, 但是很丑,一般不推荐
3.循环结构
3.1 while循环
语法格式
while(循环条件){
循环语句;
}
循环条件为 true, 则执行循环语句; 否则结束循环.
示例:计算 1! + 2! + 3! + 4! + 5!
int num=1;
int n=1;
int sum=0;
int ret=1;
while(num<=5)
{
while(n<=num)
{
ret*=n;
n++;
}
sum+=ret;
num++;
}
System.out.println("sum = " + sum);
注意事项
1.
和
if
类似
, while
下面的语句可以不写
{ } ,
但是不写的时候只能支持一条语句
.
建议还是加上
{ }
2.
和
if
类似
, while
后面的
{
建议和
while
写在同一行
.
3.
和
if
类似
, while
后面不要多写 分号
,
否则可能导致循环不能正确执行.
break
break
的功能是让循环提前结束
.
代码示例
:
找到
100 - 200
中第一个
3
的倍数
执行到 break 就会让循环结束
continue
continue
的功能是跳过这次循环
代码示例
:
找到
100 - 200
中所有
3
的倍数
执行到 continue 语句的时候, 就会立刻进入下次循环(判定循环条件), 从而不会执行到下方的打印语句
3.2 for循环
语法格式
for(表达式①;布尔表达式②;表达式③){
表达式④;
}
表达式
1:
用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次
表达式
2:
循环条件,满则循环继续,否则循环结束
表达式
3:
循环变量更新方式
代码示例:
计算
1! + 2! + 3! + 4! + 5!
【
注意事项
】
(
和
while
循环类似
)
1.
和
if
类似
, for
下面的语句可以不写
{ } ,
但是不写的时候只能支持一条语句
.
建议还是加上
{ }
2.
和
if
类似
, for
后面的
{
建议和
while
写在同一行
.
3.
和
if
类似
, for
后面不要多写 分号
,
否则可能导致循环不能正确执行
.
4.
和
while
循环一样,结束单趟循环用
continue
,结束整个循环用
break
3.3 do while 循环
do{
循环语句;
}while(循环条件);
先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束。
【注意事项】
1. do while
循环最后的分号不要忘记
2.
一般
do while
很少用到
,
更推荐使用
for
和
while.