201711671208 《Java程序设计》 第一周学习计划

public class converstation
{
public static void main(String args[])
{
	System.out.println("以下是师徒一行四人的对话");
	System.out.println();
	int i=0;
	pig zhuBaJie=new pig();
	heShang tanSeng=new heShang();
	monkey sunWuKong=new monkey();
	for(i=0;i<3;i++)
	{
			switch(i)
			{
				case 0:zhuBaJie.speak1(); break;
				case 1:tanSeng.speak2(); break;
				case 2:sunWuKong.speak3(); break;
			}
	}
	
}
}

class pig
{
	void speak1()
	{
		System.out.println("师傅咱离西天还有多少里路啊?俺老猪想掉头上月宫了。");
	}
}

class heShang
{
	void speak2()
	{
		int meter=108000;
		System.out.println("咱离西天还有"+meter+"里路呢!");
	}
}

class monkey
{
	void speak3()
	{
		int green=32511;
		System.out.println("你要敢上月宫把后羿给"+(char)green+"了,老孙饶不了你。");
	}
}

这是结果:

教材学习内容总结

学了数据类型转换,switch语句具体细节,for语句等。

代码调试中的问题和解决过程

原来代码中的一段是这样写的,玄学的是,如果for循环里如果改为for(i=0;i<3;i++),也就是如下图

for(i=0;i<3;i++)
	{
		switch(i)
		{
			case 0:zhuBaJie.speak();
			case 1:tanSeng.speak();
			case 2:sunWuKong.speak();
		}
	}

就会出现这样的结果:

我的上帝啊,后羿被绿了3次,这是怎么回事?我要还嫦娥一个清白!

原来每个case后面并没有添加break,执行一个case后会继续执行执行case.而且循环体导致同一个case被重复执行。

嗯,以后写switch语句要记得写break,并且break前的语句要记得写分号“;”呢。

另外感谢舍友告诉了我多写一句 System.out.println(); 相当于一个换行符功能的用法。

参考资料

《Java2 使用教程》

题外话:其实我相信嫦娥和老猪才是真爱,不然太毁童年了。

猜你喜欢

转载自blog.csdn.net/u011633428/article/details/82728900