一、顺序结构
按照代码顺序一行一行执行
public static void main(String[] args){
System.out.println("aaa");
System.out.println("bbb");
System.out.println("ccc");
//输出结果:
aaa
bbb
ccc
二、分支结构
1 .if语句
(1) if(条件表达式){
语句组
}
if(a==1){
System.out.println("a")
}
(2) if(条件表达式){
语句组1
}else{
语句组2
}
int num =5;
if (num % 2 == 1){
System.out.println("num是奇数“);
}else{
System.out.println("num是偶数");
//num是奇数
(3) if(条件1){
语句1
}else if(条件2) {
语句2
}else if(条件3) {
语句3
}......
else if (条件n){
语句n
} else {
语句n+1
}
int num=0;
if (num > 0){
System.out.println("正数");
} else if (num < 0){
System.out.println("负数");
} else {
System.out.println("0");
}
注:if (表达式1){}
if (表达式2){} ,此时表达式1和表达式2可以同时满足。
if (表达式1){}
else if (表达式2){},此时表达式1和表达式2是互斥的。
else默认与最近的if进行匹配。
2.switch语句
在JDK8中表示多重选择,swich后面可以是int,char,String,enum。
switch(表达式){
case 1 :
语句1;
break;
case 2 :
语句2;
break;
case 3 :
语句3;
break;
.......
case n :
语句n;
break;
default :
语句n+1
}
switch (day){
case 1 :
System.out.println("周一");
break;
case 2 :
System.out.println("周二");
break;
case 3 :
System.out.println("周三");
break;
case 4 :
System.out.println("周四");
break;
case 5 :
System.out.println("周五");
break;
case 6 :
System.out.println("周六");
break;
default:
System.out.println("周天");
注: case后面不加break,会从第一个满足的case分支开始一直向下执行,直到遇到break停止。或者一直执行完所有语句。
三、循环结构
1. while (循环条件) {
语句组
}
int n=3; //初始化
while (n < 6){
System.out.println("n");
n++;
}
若没有初始化语句,循环次数是不可知的(死循环)。
2. do {
语句组
} while (循环条件)
该循环至少循环一次。
3. for (语句1;语句2;语句3) {
语句组
} //语句1为初始化,语句2为循环条件,语句3为迭代
for (i=5;i<=10;i++){
System.out.println("你好呀");
}
注:3个语句都可以为空语句,但分号不可以省略,此时为死循环。
补充:break和continue 的区别
break默认只能终止内层循环,若想跳出外层循环,①可在外层循环前添加标签lable,然后break lable;②使用return。
break是跳出整个循环,继续执行循环体后面的语句。
continue是结束当前循环,然后执行下一次循环。