03 Java语言流程控制

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------


					程序流程控制
1、顺序结构
    判断结构	
	if语句(分支语句)三种格式:
	   ① if(条件表达式){
		执行语句;
	    }
	    System.out.println();
	  举例:int age = 19;
		if (age >= 18) {
			System.out.println("可以浏览本网站");
		}
		System.out.println("完了");

	   ②if(条件表达式){
		执行语句;	
	    } else {
		执行语句;	
	    }

	   举例:int x,y,z;
		x = 5;
		y = 10;
		if (x > y) {
		    z = x;
		} else {
		    z = y;
		}
	    ③if(条件表达式) {
		  执行语句;
	      } else if (条件表达式) {
		  执行语句;
	      } else {
		   执行语句;
	      }
	    举例:int x = 1;
		if (x == 1){
			System.out.println("男");
		}else if(x == 0){
			System.out.println("女");
		}else {
			System.out.println("人妖");
		}
	    注意:如果 if 语句后面不加{},表示只能控制一条语句,加{}是控制整个{}里面的语句

	if语句的嵌套格式:
	    if(条件表达式) {
	        if(条件表达式) {
	 	    执行语句;
		} else {
		    执行语句;	
		}
	    } else {
	        if(条件表达式) {
		    执行语句;
		} else {
		    执行语句;
		}	
	    }
		举例:int x = 2, y = 1;
		    if(x==1) {
			if(y==1) {
		   	    System.out.println("a");
			} else {
			    System.out.println("b");
			}
		    } else {
			if(y==1) {
			    System.out.println("c");
			} else {
			    System.out.println("d");
			}
		    } 

	if语句和三元运算符的区别:
	    三元运算符可以称之为 if 语句的简写形式,但是只要简写就会有一定的弊端。
	    三元运算符,是一种运算符号,也就是说每次执行后,必须有结果。
	    if...else 是语句,只是控制流程,执行后不一定有结果
	    if...else 里面可以有语句,并输出结果,三元运算符不可以。

	什么时候选择 if 语句
	    当对值进行判断的时候
	    当对数据区间进行判断的时候
	    当结果是布尔类型的时候

	if 语句特点:
	    每一种格式都是单条语句。
	    第二种格式与三元运算符的区别:三元运算符运算完要有值出现,可以写在其他表达式中。			
	    条件表达式无论写成什么样子,只看最终的结构是否是 true 或者 false;
		
    选择结构:switch语句
        格式:	switch (表达式){
		case 表达式里对应的值1:
		    执行语句;
		    break;
		case 表达式里对应的值2:
		    执行语句;
		    break;
		    ......
		default:
		    执行语句;
		    break;//最后一句的 break;可写可不写,因为程序已经执行到了末尾
		}
		举例	String name = "丽丽";
			String gender = "女士";
			switch (gender){
			case "先生":
			    System.out.println(name+"是一位"+gender+"喜欢吃饭睡觉打dota");
			    break;
			case "女士":
			    System.out.println(name+"是一位"+gender+"逛街购物美容");
			    break;
			default:
		 	    System.out.println(name+"是一位"+gender+"很漂亮");
			}			

	switch 结束只有两种情况:
	    当程序执行过程中遇到了 break;
	    当程序执行到了末尾处

	switch 需要注意的两个细节:
	    当 switch 表达式的值与其中一个 case 匹配的时候,这个 case 里没有写 break语句,那么程序会继续执行
		下个 case 里的执行语句,不会再对 case 值进行判断。当几个 case 里的值所要执行的语句都一样
		的时候,我们可以不写 break;。
		举例	int month = 4;
			switch (month){
			case 3:
			case 4:
			case 5:
			    System.out.println(month+"月是春季");
			    //break;
			case 6:
			case 7:
			case 8:
		 	    System.out.println(month+"月是夏季");
			    break;
			case 9:
			case 10:
			case 11:
			    System.out.println(month+"月是秋季");
			    break;
			case 12:
			case 1:
			case 2:
			    System.out.println(month+"月是冬季");
			    break;
			default:
			    System.out.println(month+"月没有这样的月份")			
			}
			上述例子就是三个case里面输出一样的值,所以省略了break;这样少写几行代码,提高效率,	
												
	如果 default没有写在最后并且里面没有写break语句,switch里的表达式与各个 case里的值都不匹配的时候,
	上面两个条件同时满足的话,程序在 default 里执行完了还会再去执行 case 里的语句
		例如	int x = 3;
			switch (x){
			case 4:
				System.out.print("a");
				break;
			default:
				System.out.print("b");//当程序执行到了default但是它没有break,
							下面的 case 值不再判断,程序继续执行
			case 5:
				System.out.print("c");
			case 6:
				System.out.print("d");
				break;//遇到break,程序跳出
			case 7:
				System.out.print("e");
			}
	switch语句特点:
	    switch 语句选择的类型只有五种:byte int short char 在1.7版本之后可以接收 String 字符串。
	    case 与 default 之间没有顺序。先执行第一个 case ,没有匹配的case 执行 default 。		
	    结束 switch 语句的两种情况:遇到 break;执行到 switch 语句结束。
	    如果匹配的 case 或者 default 没有对应的 break;那么程序会继续向下执行,运行可以执行的语句,
		直到遇到 break;或者 switch 结尾结束。		

	switch语句和if语句的区别
	    如果对几个具体的值进行判断,可以使用 switch,也可以使用if,使用 switch 效率会更高一些。			
	    如果是对区间进行判断或者 boolean 结果的判断,只能用if,因为switch里面不接收boolean类型的值


2、循环结构
    while 循环
	格式:	while (条件表达式){
		    循环体;
		    控制循环次数;
		}
		例如	int x = 3;
			while (x<6){
			    System.out.println("x="+x);//循环体
			    x++;//用x自增来控制循环次数
			}		

     do while 循环:
	格式	do {
   		    循环体;
	 	    控制循环次数
		}
		while (条件表达式);
		例如	int x = 3;
			do {
			    System.out.println("x="+x);//循环体
			    x++;//用x自增来控制循环次数
			}
			while (x<6);

     for 循环	
	for(初始化表达式;循环条件表达式;循环后的操作表达式){
	    执行语句;(循环体)
	}
		例如	for(int x=0; x<10;x++ ){
			    System.out.println("x="+x);
			}
		初始化表达式可以定义在外面,循环后的表达式可以定义在大括号里面。

    for 的嵌套循环,建议做题的时候就弄个双层嵌套就可以,不要弄太多层,影响效率
	for(初始化表达式;循环条件表达式;循环后的操作表达式){//这是外层循环							
	    for(初始化表达式;循环条件表达式;循环后的操作表达式){//这是是内层循环
		执行语句;(循环体)
	    }
	    执行语句;(循环体)	
	}
		例如	for (int x=1;x < 6;x++ ){
			    for(int y=1; y<6; y++){
				System.out.print("*");					
			    }
			    System.out.println();
			}
	for 循环里面的每个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行
	    循环后的操作表达式,接着继续判断循环条件,重复整个过程,直到条件不满足为止。
	while 循环与 for 循环可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。 
	    而 while 循环使用的变量在循环结束后还可以继续使用。					
	最简单的无限循环格式:while(true),for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某
	    些条件,来控制循环。
	用输出语句 System.out.println();调试程序,看到循环中的每一步的输出。
   
    定义循环的条件:
	明确循环条件
	控制循环次数

    if 和 while	的区别:
	if 是对条件进行一次判断
	while 是对条件进行多次判断

    while 和 do while 的区别:
	do while 语句先执行循环体,再判断条件。也就是说无论条件是否满足,至少要执行一次循环体,先执行再判断
	while 先判断条件,只要条件不满足就不在执行循环体了,先判断,再执行.


3、其他流程控制语句
    break(跳出):应用于选择结构和循环结构。
    continue(继续):应用于循环结构。
    注意:
	这两个语句离开应用范围,存在是没有意义的。
	这个两个语句单独存在下面都不可以有语句,因为执行不到。
	continue;语句是结束本次循环继续下次循环。
	标号的出现,可以让这两个语句作用于指定的范围。
	break;和 continue;语句单独存在时,下面的语句是执行不到的


4、语句总结
    什么时候用变量? 
	当数据不确定的时候,就定义变量来存储数据。

    什么情况下,使用哪个语句?
	当对某几个值进行判断的时候,可以使用if或switch语句。建议使用switch。但是使用switch要注意,它只能操作
	    四种类型的值:byte short int char 。如果是四种以外的值,需要使用 if 。
	如果对数据区间进行判断,或者对运算结果是 boolean 类型的进行判断,用 if 语句。
	当需要某些语句执行很多次的时候,使用循环结构。如果定义变量只为循环增量存在时,可以使用 for 循环语句。
	    如果对一个条件进行一次判断使用 if ,如果对该条件进行多次判断,使用 while 循环。
	如果要结束循环,可以控制循环条件,或者通过 break语句完成。如果要控制循环的流程,是否该继续执行,
	    可以通过 continue;或者break;来完成。
	break;结束当前所在循环。 
	break可以在switch语句和循环中使用;
	continue;结束本次循环,进入下一次循环。
	continue只能在循环中使用;
	return只能在方法中使用;
					
					


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值