从零开始学java系列第一季第六期:流程控制语句

1、流程控制语句说明


简介: 程序通过流程控制语句完成对语句执行顺序的控制,如循环执行选择执行等。流程控制语句可以分为三大类:选择循环跳转

1.1、选择语句


简介: 选择语句的作用是根据判断条件选择执行不同的程序代码。其主要包括if-elseif - else if - else以及switch语句。

1.1.1、if-else语句


语法格式:

if(布尔表达式){
	//code block 1
}else{
	//code block 2
}

if-else语句的执行过程: 如果布尔表达式为true,就执行代码块1,否则执行代码块2;(其中,else是可选的,也就是说,else语句可以不写,这种情况的出现还是很频繁的,有时候我们写代码只需要满足某个条件去执行相关语句,并不需要不满足的情况,所以一般都是不写的)


1.1.2、if-else if-else语句


语法格式:

if(布尔表达式1){
	//code block 1
}else if(布尔表达式2){
	//code block 2
}esle if(布尔表达式3){
	//code block 3
}else if(布尔表达式n){
	//code block n
}else{
	//code block
}

if-esle if-else语句执行过程: 程序依次判断布尔表达式,如果为true,那么就执行与之相对于的代码块,而后面的布尔表达式全部忽略;如果所有的布尔表达式都为false,就执行else对应的代码块


1.1.3、switch-case


语法格式:

switch(表达式){
	case 选择值1:
		code block 1
		break;
	case 选择值2
		code block 2
		break;
	case 选择值n
		code block n
		break
	default:
		code block
}

switch-case语句表达式说明: switch的表达式可以是byte、short、char、int类型中的一种;case的值必须是于switch表达式类型一致的常量,并且不能重复

switch-case语句的执行过程: switch表达式的值与case的常量值依次比较,如果相等,就执行相应case后面的所有代码(注意:如果在case语句的代码块中没有加break语句,那么程序就会穿透到下一层case,无论下一层的case是否满足选择值与表达式的值相等,都会执行该case的代码块,直到执行完default的代码块)

1.1.4、选择语句的嵌套


  1. if-else的嵌套:(可以用if-esle if表示该嵌套)
public static void main(String[] args){
	int number = 10;
	if(number<10 && number>0){
		if(number>3){
			System.out.println("HelloWorld!");
		}
	}
}
  1. if-else-if的嵌套:没意义,不推荐使用
public static void main(String[] args){
	int number = 10;
	if(number<20){
		if(number>3){
			System.out.println("HelloWorld!");
		}
	}else if(number<10){
		System.out.println("HaHa~~~");
	}
}
  1. switch的嵌套: (感觉也没什么作用,平常不太用的到)
public static void main(String[] args){
	int number = 10;
	int day = 5;
	switch(number){
		case 1:
			switch(day){
				case 1:
				System.out.println("Hello");break;
				default:
				System.out.printf("结束");
			}
			break;
		default:
		System.out.printf("结束");
	}
}

1.2、循环语句


简介: 循环语句 的作用是反复执行一段代码,直到不能满足循环条件为止;循环语句包括for语句、while语句和do-while语句

1.2.1、for循环


语法格式:

for(初始化:循环条件:迭代部分){
	//code block
}

从理论上来说,初始化、循环条件以及迭代部分都是可选的。如果程序代码块中没有跳转语句,那么就会形成一个死循环:

 public static void st2(){
	    int day=1;//初始化部分
        for(;;){
           if(day==7){ //循环条件
               System.out.println("放假");
               break;
           }
            System.out.printf("星期%d,上学\n",day);
            day++;//迭代部分
        }
    }

1.2.2、foreach(扩充)


JDk1.5后为了方便数组的输出,提供了foreach语法,格式如下:

for(数据类型 变量名:数组名称){
	//code block
}

案例:使用foreach语法输出数组的内容。

public static void main(String[] args){
	int arr[] = new int[]{1,2,3,4,5};
	for(int i:arr){
		System.out.printf("%d",arr[i]);//这里的i就是数组中的每一个元素,i的数据类型必须和数组中的元素类型一致
	}
}

1.2.3、while循环


语法格式:

while(循环条件){
	//code block
}

while循环的执行过程: 首先判断是否满足循环条件,如果满足就执行循环体中的代码块;如果不满足,就结束循环。

案例:while输出1-10

public static void main(String[] args){
	int i = 1;
	while(i<=10){
		System.out.pribtf("%d",i);
		i++;
	}

1.2.4、do-while循环


语法格式:

do{
	//code block
}while(循环条件)

do-while的执行过程: 首先执行一遍循环体,然后根据循环条件进行判断,如果满足循环条件,则再次执行循环体;如果不满足,则退出循环。

案例:使用do-while输出1-10

public static void main(String[] args){
	int number = 0;
	do{
		number++;
		System.out.printf("%d",number);
	}while(number<10);
}

1.3、跳转\中断语句


简介: 对执行一定程度的循环进行中断处理,不再执行后面的语句。

1.3.1、break语句


break语句简介: break语句可以强迫程序中断循环。当程序执行到break语句,就会跳出当前的循环,继续执行循环外面的程序(注意:如果break出现在一个嵌套循环的内层循环中,那么break语句只能终止当前循环,对外层的循环并不影响)

案例:定义一个变量i=0,让其进行自增,当i=3的时候,结束程序

public static void main(String[] args){
	int i = 0;
	for(;;){
		if(i==3) break;
		i++;
	}
}

从运行的结果可以看出,当i=3的时候,循环就结束了。

1.3.2、continue语句


continue语句简介: continue语句可以强制程序跳转到起始处。当程序运行到continue语句时,会停止运行剩余的循环体,回到循环的开始处继续执行。

案例:打印1-10里面的奇数

public static void main(String[] args){
	int i = 1;
	for(;i<=10;i++){
		if(i%2==0) continue;
		System.out.printf("%d",i);
	}
}

从程序的运行结果可以看出,当i为偶数时,程序并没有向下继续执行,而是回到了循环判断处继续向下执行,也就是说,continue只是中断了一次循环操作。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值