返回信息流public class SwitchText1
{
public static void main(String args[])
{
int a =2;//下面是switch语句的执行
switch (a)
{
case 1:
System.out.println ("a=1");
case 2:
System.out.println ("a=2");
case 3:
System.out.println ("a=3");
default:
System.out.println ("Wrong");
}
}
}
其实书上说的也挺清楚,说没有break,它就会继续执行,但我想a=2,也不满足下面case3为什么也会输出呢,难道不在检测了??
还有开始类声明的时候,如果我加了public 声明,这个文件保存必须命名为SwitchText1.java,不然就报错,这是为什么,而我把public去掉,就可以随意保存文件名了。。
这是一条镜像帖。来源:北邮人论坛 / java / #22172同步于 2012/4/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
初学java遇到小问题,求指导,很感谢!!!
iambest
2012/4/19镜像同步14 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 beautifulsky 的大作中提到: 】
: 一个java源文件只能有一个公有类,必须命名为公有类名.java 我记得是这样。。。。
哦,这样啊,多谢。
第二个问题前面有同学已经有解答了。第一个问题比较基础吧,所有的语言都是这样的,不只是java,如果前面没有break语句,只会检测一次,后面如果没有退出循环,那么不会再检测,而是直接执行。
【 在 iambest 的大作中提到: 】
: public class SwitchText1
: {
: public static void main(String args[])
: ...................
既然你已经让a=2了,程序就会从case 2开始执行,由于没有break跳出switch,就会继续执行下面的代码,有多少执行多少,直到结束。
那如果没加public,默认是private的? 这么多规则记晕了... 怀疑自己智商,脑子像浆糊
【 在 beautifulsky 的大作中提到: 】
: 一个java源文件只能有一个公有类,必须命名为公有类名.java 我记得是这样。。。。
【 在 shashouge 的大作中提到: 】
: 那如果没加public,默认是private的? 这么多规则记晕了... 怀疑自己智商,脑子像浆糊
首先赞一下楼主的求学态度。细致入微的思考和学习,非常具有学习能力的说。如果不指明的话默认保护级别的default,在同个包下面的类以及自身可以访问,外部类和子类都不能访问
【 在 jp092968 的大作中提到: 】
: 既然你已经让a=2了,程序就会从case 2开始执行,由于没有break跳出switch,就会继续执行下面的代码,有多少执行多少,直到结束。
哦,多谢,我也是有点不大清楚,没有break是继续向下执行,难道 “case 3 :”这句不是个判断语句吗,还是程序直接把这句忽略了,或者就本身不是判断语句,但感觉每个case应该是判断语句啊,刚开始学,我应该去单步运行看看,多谢指导。
【 在 zhihao 的大作中提到: 】
: 首先赞一下楼主的求学态度。细致入微的思考和学习,非常具有学习能力的说。如果不指明的话默认保护级别的default,在同个包下面的类以及自身可以访问,外部类和子类都不能访问
刚学java为毕设发愁呢,多谢大牛指导。