谁能告诉我这个Java程序如何运行的,要具体细节,急急
发布网友
发布时间:2023-07-11 06:15
我来回答
共4个回答
热心网友
时间:2024-12-15 00:50
运行时,把该类加载进内存生成class的实例。你写的这段程序启动时,即:进程启动,此进程会自动启动一个线程运行主线程执行main方法 for循环从1循环到4 每次循环匹配case而后常量,相等就执行,跳出整个switch语句。 若case后都找不到,则执行default语句,再跳出switch
i==1
switch(1) ,swich中表达式1找case后常量,找到case 1:c='b';执行System.out.println(c);由于case1后无break;将case 2:c='e';后面的这句System.out.println(c)也输出,遇到这句后面的break跳出switch语句。
------------------------------------------------------------------------------------------------------------
i==2
switch(2) ,找到case 2:c='e';System.out.println(c);break;输出后遇到break跳出switch语句。
--------------------------------------------------------------------------------------------------------
i==3 执行两个System.out.println语句
----------------------------------------------------------
i==4 若case后都找不到,则执行default语句 dafault:System.out.println("!");
switch小括号中表达式判断 case后冒号前的常量两者是否相等,相等就执行case冒号后语句,直至遇到break跳出整个switch{}结构 。若将语句后的break注释,若该语句被执行后面的case语句直接运行不判断,直至遇到break跳出整个switch{}结构。
热心网友
时间:2024-12-15 00:50
for:
先解释下for循环,如果这里懂的话直接忽略,for(1;2;3)这里的1就是初始化变量i,这里在for循环里只执行一次,以后2和3循环,直到条件不符合跳出循环
switch:
这里解释switch的流程通常语句为
switch(变量)
case 1:
break;
case 2:
break;
case 3:
break;
default:
当进入switch时,判断变量符合case中哪个值,当符合一个条件时,进行执行,执行后看结尾是否有break关键字,如果有跳出switch,没有继续执行下一个条件。
理论说完说你的代码,你这里的i从1到4,首先符合了case 1的情况,于是输出了b,然后看是否有break关键字,没有执行case2,(注意这时候i=1,没执行下次循环),然后输出e,然后再往下看有break,跳出switch,执行下次循环,依然这个道理,最后结果beep!
不懂追问!
热心网友
时间:2024-12-15 00:51
i = 1 时,执行case 1的语句,输出 'b'。但是case 1后面没有break;,所以执行case 1后会继续执行case 2。
case 2有break;于是执行完case 2后跳出,进入下一次循环。此时已经输出 'b' , 'e' ;
i = 2 时,case 1不满足条件,所以会直接执行case 2。输出 'e' ;
i = 3 时,执行case 3,依次输出 'p' 和 感叹号 '!'
但是,我猜你预期的结果应该是 " b e e ! ! " 吧。之所以少了一个感叹号,是因为你的”default“关键字写错了,写成了”dafault“ 。所以当i = 4 时,本来应该执行的default语句就无法执行,于是就少了个”!“。
热心网友
时间:2024-12-15 00:52
switch选择匹配 switch中有break遇到跳出switch和无break顺序向下执行追问我想知道i=一到四怎么回事
追答他们回答的很具体