Java复习总结04——流程控制

三大流程控制语句:顺序,选择,循环。

一.顺序控制语句

按照代码的先后顺序依次执行,程序中多数代码都是这样执行的。一个程序总的执行顺序也是这样的,先顺序执行,遇到选择和循环语句后,就按选择循环的规则执行,选择循环语句结束后继续按顺序执行。

二.选择控制语句 

  1. if结构
    if(条件){
        在该条件成立下执行的代码,否则不执行,直接跳过
    }
    例如:
    if(a>b){//如果a大于b,就输出a
        System.out.println(a);
    }
     
  2. if....else
    if(条件){
        //代码1
        如果条件成立,就执行此处代码1,否者,执行else下的代码2
    }else{
        //代码2
    }
    例如:
    if(a>b){//如果a大于b,就输出a,反之输出b
        System.out.println(a);
    }else{
        System.out.println(b);
    }
  3. 多重if结构
    if(条件1){
    }else if(条件2){
    }else if(条件3){
    }else{
    }
    例如常见的成绩判断
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();//从键盘输入成绩n,n为整数
    	if(n>90) {
    		System.out.println("优秀");
    	}else if(n>80) {
    		System.out.println("良好");
    	}else if (n>70) {
    		System.out.println("中等");
    	}else if(n>60){
    		System.out.println("及格");
    	}else {
    		System.out.println("不及格");
    	}
  4. 嵌套if结构
    if(条件1){
        if(条件2){
        }
    }
    例如
    int x=5,y=6;
    if(x!=y) {
    	if(x>y) {
    		System.out.println("x>y");
    	}else {
    		System.out.println("x<y");
    	}			
    }else {
    	System.out.println("x=y");
    }

switch语句

switch(表达式){//表达式可以为byte,short,char,int,enum(枚举,jdk5.0引入),String(jdk7.0引入)
    case 目标值1:代码;break;//break的作用是结束switch语句,使之不再向下执行
    case 目标值2:代码;break;//如果不加break,程序就会一直向下执行,直到遇到break和执行到最后
    case 目标值3:代码;break;//case后面的n的取值不能重复
    case 目标4:代码;break;
    ......
    default:代码;//n取其他值
}
//输出星期几的例子,应该是很常见的,大家可以去掉其中几个break试试输出会有什么不同
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();//从键盘输入成绩n,n为整数
switch (n) {
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;
case 7:
	System.out.println("星期七");
	break;
default:
	System.out.println("输入错误");
}

三.循环控制语句

  1. while
    while(循环条件){
        //代码
    }
    满足循环条件就执行里面的代码
    
    int n = 5;
    while(n>1){
        System.out.println(n);
        n--;
    }
  2. do...while
    do{
        //代码
    }while(循环条件)
    //和while循环类似,但是循环条件放在循环体的后面,这意味着循环体会无条件执行一次
    //所以while循环可能一次都不执行,但do..while循环至少执行一次
    
    //例如下边的代码,n=1不满足n>1的循环条件,但还是会输出1并且执行n--
    int n=1;
    do{
        System.out.prntln(n);
        n--;
    }while(n>1)
  3. for
    for(初始化表达式;循环条件;操作表达式){
        循环体
    }
    执行顺序:
    for(a;b;c){
        d
    }
    a->b->d->c->b->d->c->b->d->c.....直到不满足循环条件b
  4. 增强型for循环(也叫foreach循环)
格式
for(数据类型 变量名:遍历对象){

}
/*数据类型  变量名:声明一个变量用来接收遍历目标遍历后的元素,
一般为遍历对象的子类型,如遍历对象为数组,数组里面的数据为int类型,则循环里面的数据类型声明为int。*/
例如:
int[] arr = {1,5,2,7,4,8,9,10};
for(int n:arr) {
	System.out.println(n);
}

注:1.增强for循环底层也是使用了迭代器获取的,只不过获取迭代器由jvm完成,不需要我们获取迭代器而已,所以在使用增强for循环遍历集合是不能对集合元素进行修改,遍历数组也同样如此

2.普通for循环可以没有遍历的目标,而增强for循环一定要有遍历的目标。

猜你喜欢

转载自blog.csdn.net/qq_34136901/article/details/82908340
今日推荐