求助,java

4、下面代码段的运行结果是什么?
class Hello{
public static void main(String[] args)
{
int i=7, j=3;
switch(i/j){
case 1: j++;
case 2: j++;
case 3: j++;
case 4: j++;
case 5: j++; break;
default:j++;
}
System.out.println(“j=”+j);
}
}

5、下面代码段的运行结果是什么?
class Shanghai {
public Shanghai ( ){
System.out.println("您好,欢迎来到上海!");
}
protected void finalize( )
{
System.out.println("旅途愉快,再见!");
}
public static void main(String[ ] args){
new Shanghai ( );
new Shanghai ( );
    System.gc( );
}
}

第1个回答  2014-03-28

4. j=7

5. 您好,欢迎来到上海!
    您好,欢迎来到上海!
    旅途愉快,再见!

第2个回答  2014-03-28
第一个的结果是7,i/j=2,所以跳到case 2,因为没有break,代码一直往下执行,直到case 5: j++; break;停止,此时,j=7

第二个结果是:
您好,欢迎来到上海!
您好,欢迎来到上海!
旅途愉快,再见!
旅途愉快,再见!

调用System.gc()后,他会通知系统进行垃圾回收,因为创建了两个对象,所以回收两次,所以输出两次“旅途愉快,再见!”本回答被提问者采纳
第3个回答  2014-03-29
4题: 7;

5题:
您好欢迎来上海
您好欢迎来上海
+++++++++++++++++++++++++
搞笑呢,虽然gc可以回收对象,导致finalize调用,但是main主线程要退出了,JDK apidoc明确说过这时候不能依赖System的行为,可能调用finalize,可能不调用,如果你执行50次左右就能看出来了
第4个回答  2014-03-28
4. j=7
5.
您好,欢迎来到上海!
您好,欢迎来到上海!
旅途愉快,再见!
旅途愉快,再见!追问

我阿是上海宁,谢谢侬

追答

对你有用就采纳一下哦

第5个回答  2014-03-28
j=7
您好,欢迎来到上海!
您好,欢迎来到上海!
旅途愉快,再见!
旅途愉快,再见!
相似回答