1. 顺序结构:
按照代码的顺序从上往下依次执行。
2. 选择结构(分支结构):有两种实现方式
if…else语句
public static void main(String[] args) {
intsalary =5000;
if (salary < 1000) {
System.out.println("属于低薪阶层");
}else if(salary <3000) {
System.out.println("不错了有钱了");
}else{
System.out.println("哎呦,高薪哦");
}
}
运行结果:
哎呦,高薪哦
switch语句(开关语句)
public static void main(String[] args) {
intcount =2;
switch (count) {
case1:
System.out.println("数量为1");
case 2:
System.out.println("数量为2");
case 3:
System.out.println("数量为3");
default:
System.out.println("数量不清楚哦");
}
}
运行结果:
数量为2
数量为3
数量不清楚哦
结果分析:
case语句中不加break的话 , 在第一个case匹配之后 ,下面的case就不进行判断操作了 ,直接执行case内部的语句。
正确代码如下:
public static void main(String[] args) {
intcount =2;
switch (count) {
case1:
System.out.println("数量为1");
break;
case 2:
System.out.println("数量为2");
break;
case 3:
System.out.println("数量为3");
break;
default:
System.out.println("数量不清楚哦");
break;
}
}
运行结果:
数量为2
注意事项:
switch的取值范围byte、char、short、int、String还有枚举类型,long类型是不能作用在switch语句上的。
3. 循环结构: 有两种实现方式
- for…语句循环
for (inti =0;i <3;i++) {
System.out.println("i = "+ i);
}
运行结果 :
i = 0
i = 1
i = 2
for循环执行顺序:
- 第一次循环执行初始化int i = 0, 然后执行判断i < 3, 如果结果为true, 执行循环体
- 接下来的循环, 先执行判断, 如果结果为true, 再执行循环体
- 直到不再满足i < 3 这个条件, 就跳出循环
- while…语句循环
public static void main(String[] args) {
intsum =0,i =1;
while (i <= 100) {
sum += i++;
}
System.out.println("sum = "+ sum);
}
运行结果:
sum = 5050
public static void main(String[] args) {
intsum =0,i =101;
do {
sum += i++;
}while(i <=100);
System.out.println("sum = "+ sum);
}
运行结果:
sum = 101
结果分析:
do…while循环的过程中 , 先执行do语句 , 再执行while判断 , 而while…语句是先执行判断 ,再执行循环体。
- continue,break循环控制
public static void main(String[] args) {
for(inti =0;i <4;i++) {
if((i &1) ==0) {
System.out.println(i +"为偶数 ,不打印");
continue;
}
System.out.println("打印"+ i);
}
}
执行结果:
0 为偶数 ,不打印
打印1
2 为偶数 ,不打印
打印3
结果分析:
continue是结束当前这次循环 , 继续进行下次循环
public static void main(String[] args) {
inti =0;
flag:
for(;i <10;) {
if(i <5) {
System.out.println(i +" <5 ,不打印");
i +=4;
continue flag;
}
System.out.println("打印"+ i);
i +=3;
}
}
运行结果:
0 <5 , 不打印
4 <5 , 不打印
打印8
结果分析:
continue指定跳转的标签 , 可以跳出循环的外层 , 如果循环嵌套 , 可以跳出到指定层数
for语句的特殊写法 , 可以这样处理特殊业务逻辑 , 但是这种时候最好选择while语句
public static void main(String[] args) {
inti =0;
while (i < 10) {
if(i <5) {
System.out.println(i +" <5 ,不打印");
i +=4;
}
if(i ==4) {
System.out.println("i == 4 ,跳出整个循环");
break;
}
System.out.println("打印"+ i);
i +=3;
}
}
运行结果:
0 <5 , 不打印
i == 4 , 跳出整个循环
运行结果分析:
break的作用是结束整个循环 , 同时break和continue一样 , 可以跳转到指定标签的位置
- 注意事项
for…语句和while…语句的选择 , 当知道循环次数的时候用for语句, 不知道循环次数 , 但知道循环判断条件的时候 , 选择while语句。
continue和break实现了goto的功能,但我们尽量不要使用