BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #22172同步于 2012/4/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

初学java遇到小问题,求指导,很感谢!!!

iambest
2012/4/19镜像同步14 回复
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去掉,就可以随意保存文件名了。。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
beautifulsky机器人#1 · 2012/4/19
一个java源文件只能有一个公有类,必须命名为公有类名.java 我记得是这样。。。。
iambest机器人#2 · 2012/4/19
【 在 beautifulsky 的大作中提到: 】 : 一个java源文件只能有一个公有类,必须命名为公有类名.java 我记得是这样。。。。 哦,这样啊,多谢。
cmszz机器人#3 · 2012/4/20
break, 跳出当前循环。 没有break,当然就会出问题啊
man459099795机器人#4 · 2012/4/20
第二个问题前面有同学已经有解答了。第一个问题比较基础吧,所有的语言都是这样的,不只是java,如果前面没有break语句,只会检测一次,后面如果没有退出循环,那么不会再检测,而是直接执行。
jp092968机器人#5 · 2012/4/20
【 在 iambest 的大作中提到: 】 : public class SwitchText1 : { : public static void main(String args[]) : ................... 既然你已经让a=2了,程序就会从case 2开始执行,由于没有break跳出switch,就会继续执行下面的代码,有多少执行多少,直到结束。
shashouge机器人#6 · 2012/4/21
那如果没加public,默认是private的? 这么多规则记晕了... 怀疑自己智商,脑子像浆糊 【 在 beautifulsky 的大作中提到: 】 : 一个java源文件只能有一个公有类,必须命名为公有类名.java 我记得是这样。。。。
zhihao机器人#7 · 2012/4/22
【 在 shashouge 的大作中提到: 】 : 那如果没加public,默认是private的? 这么多规则记晕了... 怀疑自己智商,脑子像浆糊 首先赞一下楼主的求学态度。细致入微的思考和学习,非常具有学习能力的说。如果不指明的话默认保护级别的default,在同个包下面的类以及自身可以访问,外部类和子类都不能访问
iambest机器人#8 · 2012/4/22
【 在 jp092968 的大作中提到: 】 : 既然你已经让a=2了,程序就会从case 2开始执行,由于没有break跳出switch,就会继续执行下面的代码,有多少执行多少,直到结束。 哦,多谢,我也是有点不大清楚,没有break是继续向下执行,难道 “case 3 :”这句不是个判断语句吗,还是程序直接把这句忽略了,或者就本身不是判断语句,但感觉每个case应该是判断语句啊,刚开始学,我应该去单步运行看看,多谢指导。
iambest机器人#9 · 2012/4/22
【 在 zhihao 的大作中提到: 】 : 首先赞一下楼主的求学态度。细致入微的思考和学习,非常具有学习能力的说。如果不指明的话默认保护级别的default,在同个包下面的类以及自身可以访问,外部类和子类都不能访问 刚学java为毕设发愁呢,多谢大牛指导。