1.顺序结构
- 程序的顺序结构:
如果代码里没有流程控制,程序是按照书写的格式从上而下一行一行执行的,
一条语句执行完之后继续执行下一条语句,中间没有判断和跳转,直到程序的结束。
2.选择结构
-
if语句
int score = 66;
if (score>10){
System.out.println("====欢迎进入======");
}
-
if else语句
使用格式
if(条件){
//满足条件执行
}else{
// 不满足条件执行
}
int score = 66;
if (score<10){
System.out.println("====欢迎进入======");
}else {
System.out.println("====欢迎进入大Java世界======"); //====欢迎进入大Java世界======
}
-
if else if else语句
if(条件){
// 事情1
}else if(条件){
// 事情2
}else{
// 事情3
}
int score = 66;
if (score<10){
System.out.println("====欢迎进入======");
}else if(score >66){
System.out.println("====欢迎进入大Java世界======");
}else{
System.out.println("====你猜======");
}
-
switch语句
switch (score){
case 60:
System.out.println("及格");
break;
case 80:
System.out.println("良");
break;
case 90:
System.out.println("优秀");
break;
default:
System.out.println("超级无敌差");
break;
}
使用注意
switch语句适用于对多个整型值进行匹配判断,从而实现条件的分支控制。
switch本质上只能支持int类型(byte,short,char会自动提升为int类型)
default表示所有的case的值都不正确,一般放在switch的最后,也不需要使用break语句
3.循环结构
-
while语句
格式
while(条件){ //boolean表达式
// 条件满足时,要做的事情
}
特点
while循环特点:先判断表达式,若为true就执行循环体,否则,跳过循环体。
Demo
int count = 0;
while (count <5){
System.out.println(count); //输出0 1 2 3 4 5
count ++;
}
//案例: 计算100以内的正整数之和
int a = 1;
int result = 0;
while (a <=100){
result = result + a;
a ++;
}
System.out.println(result); //5050
-
do while语句
格式
do{
// 条件满足时,要做的事情
}while(条件); //boolean表达式
特点
do while循环特点:先执行一次循环体,再判断表达式,若为true就执行循环体,否则,跳过循环体。
也就是说do while是先执行后判断,即使判断条件为false,该循环至少会执行一次。
Demo
int count1 = 0;
do {
System.out.println(count1);
count1 ++;
}while (count1<5);
//案例: 计算100以内的正整数之和
int a1 = 1;
int result1 = 0;
do {
result1 = result1 +a1;
a1++;
}while (a1<=100);
System.out.println(result1); //5050
}
-
for语句
格式
for(初始化语句;boolean表达式;循环后操作语句){
//循环体语句
}
特点
初始化语句:表示对循环进行初始化,只在循环开始时执行一次,定义一个变量,并赋值。
boolean表达式:表达式为false时,循环终止,为true,才执行循环体。
循环后操作语句:循环每次迭代之后会调用该语句,一般的该语句都是递增或递减操作。
Demo
for (int count2 =0;count2<5;count2++){
System.out.println(count2);
}
//案例: 计算100以内的正整数之和
int result2 = 0;
for (int a2= 1;a2<=100;a2++){
result2 = result2 + a2;
}
System.out.println(result2); //5050
注意:从性能上分析:for循环性能更高.
因为变量定义在for循环里面,for循环执行完毕,就会释放该变量的存储空间.
-
嵌套循环
若外循环的循环次数是m次,内循环的循环次数是n次,那么内层循环的循环次数需要 m * n次。
Demo
/*
输出矩形图案
*
**
***
*/
```for (int line1= 1;line1<=3;line1++){
for (int j = 1; j<=line1;j++){
System.out.println("*");
}
System.out.println();
}
//输出九九乘法表
for (int m=1;m<=9;m++){
for (int n = 1;n<=m;n++){
System.out.println(n +"*"+m+"="+(m*n)+"\t");
}
System.out.println();
}
4.控制循环结构语句
break
break的作用:用来结束整个循环
for (int i = 0;i<5;i++){
if (i ==2){
break;
}
System.out.println(i); //0 1
}
continue
continue的作用:跳过当前的循环,进入下一次循环操作.
for (int i = 0;i<5;i++){
if (i ==2){
continue;
}
System.out.println(i); //0 1 3 4
}
注意:
return:表示结束循环所在的方法,方法都结束了,循环结构自然也就结束了。
break、continue、return后面的语句永远没有机会执行,所以不能再跟任何语句,否则编译失败。
break和return都能结束当前循环:
如果循环之后的操作还得执行: break;