目录
一、顺序结构
二、判断语句
判断语句1--if
判断语句2--if..else
判断语句3--if..else if..else
三、选择语句
选择语句--switch
四、循环语句
循环语句1--for
循环语句2--while
循环语句3--do while
以上三种循环区别:
跳出循环--break
跳出循环--continue
死循环
循环嵌套
代码示例:
public class Sequence{
public static void main(String[] args){
//从上至下
System.out.println("开始");
System.out.println("起床");
System.out.println("吃饭");
System.out.println("睡觉");
System.out.println("结束");
}
}
执行流程:判断关系表达式结果是否为真(true),如果是true,就执行语句体,反之不执行。
if(关系表达式){
语句体;
}
代码举例:
public class Demo{
public static void main(String[] args){
int age = 18;
//如果大于等于18岁,可以上班
if(age >= 18){
System.out.println("可以上班");
}
}
}
执行流程:判断关系表达式结果是否为真(true),如果是true,就执行语句体1,反之执行语句体2。
if(关系表达式){
语句体1;
}else{
语句体2;
}
代码举例:
public class Demo{
public static void main(String[] args){
int age = 18;
//如果大于等于18岁,可以上班
if(age >= 18){
System.out.println("可以上班");
}else{
System.out.println("未满18岁,不可上班");
}
}
}
执行流程:首先执行判断条件1,如果满足则执行语句体1,如果不满足继续向下执行判断条件2,如果满足则执行语句体2,以此类推,如果都不满足判断条件,那么将执行else中语句体内容。
if(判断条件1){
语句体1;
}else if(判断条件2){
语句体2;
}
...
}else if(判断条件n){
语句体n;
}else{
语句体n+1;
}
代码举例:
public class Demo{
public static void main(String[] args){
int age = 18;
//如果大于等于18岁,可以上班
if(age >= 18){
System.out.println("可以上班");
}else if(age == 17){
System.out.println("17岁,不可上班");
}else if(age == 16){
System.out.println("16岁,不可上班");
}else{
System.out.println("小于18岁,不可上班");
}
}
}
执行流程:首先计算表达式的值,其次和case以此比较,一旦有对应的值,就会执行相应的语句,在执行过程中遇到beark就会结束,最后如果所有的case都不喝表达式的值匹配,就会执行default语句体部分,然后结束。
switch(表达式){
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
代码举例:
public class Demo{
public static void main(String[] args){
int age = 18;
switch(age){
case 18 :
System.out.println("18岁");
break;
case 19 :
System.out.println("19岁");
break;
case 20 :
System.out.println("20岁");
break;
default :
System.out.println("没有这个年龄");
break;
}
}
}
注意事项:
1、多个case后面的数值不可重复。
2、switch后面小括号当中只能是这几个数据类型,(基本数据类型)byte/short/char/int,(引用数据类型)String字符串、enum枚举。
3、switch语句格式灵活,前后顺序可以颠倒,而break语句可以省略,但会向下穿透(不推荐省略)。
基本组成
1、初始化语句:循环开始最初执行,而且只做唯一一次。
2、条件判断:如果成立,则循环继续;如果不成立,则退出。
3、循环体:你要做的事,例如输出内容。
4、步进语句:每次循环后进行扫尾。
执行流程:
1234==>234==>234...直至2不满足为止
1:负责完成循环变量初始化。
2、负责判断是否满足循环条件,不满足则跳出循环。
3、具体执行语句。
4、循环后,循环条件所涉及变量的变化情况。
for(初始化表达式1;布尔表达式2;步进表达式3){
循环体4
}
代码举例:
public class Demo{
public static void main(String[] args){
for(int i = 0,i<100;i++){
System.out.println("Test" + i);
}
}
}
执行流程:
1234==>234==>234...直至2不满足为止
1、负责完成循环变量初始化。
2、负责判断是否满足循环条件,不满足则跳出循环。
3、具体执行语句。
4、循环后,循环变量变化情况。
初始化表达式1
while(布尔表达式2){
循环体3
步进表达式4
}
代码举例:
public class Demo{
public static void main(String[] args){
//初始化语句
int i = 1;
//条件判断
while (i<= 10){
//执行语句
System.out.println("Test" + i);
//步进语句
i++;
}
}
}
执行流程:
134==>234==>234...直至2不满足为止
1、负责完成循环变量初始化。
2、负责判断是否满足循环条件,不满足则跳出循环。
3、具体执行语句。
4、循环后,循环变量变化情况。
标准格式:
do{
循环体
}while(条件判断);
扩展格式:
初始化表达式1
do{
循环体3
步进表达式4
}while(布尔表达式2);
代码举例:
public class Demo{
public static void main(String[] args){
//初始化语句
int i = 1;
do{
//执行语句
System.out.println("Test" + i);
//步进语句
i++;
}while(i<=10);//条件判断
}
}
1、如果条件从来没有满足,for和while循环执行0次,但do while循环会至少执行1次。
2、for循环变量在小括号内定义,只有循环内部才可使用。while循环和do while循环初始化语句本来就在外面,所以出来循环之后还可以继续使用。
常见使用:
1、在switch之语句中,一旦执行,整个switch立刻结束。
2、在循环语句中,一旦执行,整个循环语句立刻结束。
建议:次数确定场景多用for循环,否则多用while,do while使用频率相对较低。
代码举例:
public class Demo{
public static void main(String[] args){
//for循环
for(int i = 0,i<100;i++){
if(i == 3){
break;
}
System.out.println("Test" + i);
}
//while循环
int i = 1;//初始化语句
while (i<= 10){//条件判断
if(i == 3){
break;
}
System.out.println("Test" + i);//执行语句
i++;//步进语句
}
}
}
用法:一旦执行,立刻跳过当前次循环,马上开始下一次循环。
代码举例:
public class Demo{
public static void main(String[] args){
//for循环
for(int i = 0,i<100;i++){
if(i == 3){
continue;
}
System.out.println("Test" + i);
}
//while循环
int i = 1;//初始化语句
while (i<= 10){//条件判断
if(i == 3){
continue;
}
System.out.println("Test" + i);//执行语句
i++;//步进语句
}
}
}
循环停不下来
出现原因:
1、代码写错了,没注意。
2、故意为之。
代码举例:
public class Demo{
public static void main(String[] args){
//for循环
for(int i = 0,i<100;i++){
System.out.println("A循环" + i);
for(int j = 0,j<100;j++){
System.out.println("B循环" + j);
}
}
}
}