黑马程序员_java基础--switch、for语句

 ------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">、java培训</a>期待与您交流! ----------

switch语句注意点:

1) default,正常情况下,只有当switch语句的前面分支没有获得执行时,default分支才会获得执行的机会。
2) break,在case分支后的每一个代码块后都有一条break;语句, 这个break;语句有极其重要的意义:
    用来终止当前分支的执行体。如果某个case分支之后没有使用break;来终止这个分支的执行体,即使使用
   花括号来包围该分支的执行体也是无效的。 Java一旦找到匹配的case分支(表达式的值与case后的值相等),
   程序开始执行这个case分支的执行体,不再判断与后面case、default标签的条件是否匹配,除非遇到break;
   才会结束该执行体。

   其实从 JDK1.5开始,Java编译器增加了更加严格的检查,只要在javac命令后增加 -Xlint:fallthrough选项,
   Java编译器就会提示缺少break;的警告。
如下代码:
public class SwitchTest2 {
	public static void main(String args[] ){
		char score='c';
		switch(score){
		case 'a':
			System.out.println("优秀");
			break;
		case 'b':
			System.out.println("良好");
			break;
		case 'c':
			System.out.println("中");
			//break;
		case 'd':
			System.out.println("及格");
			//break;
		case 'e':
			System.out.println("不及格");
			break;
		default:
			System.out.println("成绩输入有误!");
			
		}
	}
}


结果为:
	中
	及格
	不及格


3)switch表达式的类型:byte,字节整型;short,短整型;int,整型;char,字符型;enum,枚举型
   注意:switch表达式的类型绝对不能时String类型,也不能是long、float、double等其他基本类型。
switch的表达式可以是enum类型,示例如下:
enum Season{
     SPRING,SUMMER,FALL,WINTER
}
public class EnumSwitch {
	public static void main(String args[]){
		Season s = Season.FALL;
		switch(s){
		case SPRING:
			System.out.println("春天不是读书天");
			break;
		case SUMMER:
			System.out.println("夏日炎炎正好眠");
			break;
		case FALL:
			System.out.println("秋多蚊蝇");
			break;
		case WINTER:
			System.out.println("冬日冷");
			break;
		}
	}
}
结果为:秋多蚊蝇






循环语句:
while:先判断条件,只有条件满足才执行循环体。
do while: 先执行循环体,在判断条件,条件满足,再继续执行循环体。
简单一句话:do while:无论条件是否满足,循环体至少执行一次。


for(初始化表达式;循环条件表达式;循环后的操作表达式){
			执行语句;
		}

for(int x = 0; x<3 ; x++){
			System.out.println("x="+x);
		}
			
int y=0;	
while(y<3){
		System.out.println("y="+y);
		y++;
	}



结论:
1,变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中。那么该变量只在for语句内有效。
  for语句执行完毕。该变量在内存中被释放。(局部变量定义在栈内存区,当数据使用完,所占空间就会自动释放)
而对于switch而言,上面的例子,y定义在while外面,当while执行完后y还是存在内存中,并没有自动释放出空间。
从这里就可以看出,在都定义循环增量时,显然for比while更加优化。
2,for和while可以进行互换。如果需要定义循环增量。用for更为合适。

总结:
什么时候使用循环结构?
当要对某些语句执行很多次时,就使用循环结构。






public class ForForDemo {
	public static void main(String args[]){
		for(int x=0 ; x<5 ; x++){ 	//外循环控制行
			for(int y=0; y<5-x;y++){   //内循环控制列
				System.out.print("*");
			}
			System.out.println();
		}
		//发现图形有很多行,每一个行有很多列。
		//要使用嵌套循环。原理:形象说法:大圈套小圈。


		
	System.out.println("----------------------------------------------------------");
	
	for(int x=0 ; x<5 ; x++){ 	//外循环控制行
		for(int y=0; y<x+1;y++){   //内循环控制列
			System.out.print("*");
		}
		System.out.println();
	}
	System.out.println("----------------------------------------------------------");
	}
}


结果:


*****
****
***
**
*
----------------------------------------------------------
*
**
***
****
*****
----------------------------------------------------------




九九乘法表:
public class chengFaBiao {
	public static void main(String args[]){
		for(int i=1; i<=9; i++){
			for(int x=1; x<=i; x++){
				System.out.print(x+"*"+i+"="+i*x+"\t");
			}
			System.out.println();
		}
	}
}


 ------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值