
正文
如何分析java代码结果 如何分析java代码结果的方法
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java分析代码执行过程,输出结果
static 是静态声明,所以会先执行Employee.id的时候,会先执行static的脚本,就是id 的默认赋值和静态块的执行,即打印那个static_block
所以流程是。赋值id,打印static_block;那上面的代码就是打印static_block 和Main:0
相关问答
Q1: java代码分析
定义一个Mystery类,包含一个字符串变量s
Mystery m = new Mystery();
产生一个Mystery类的实例m,调用构造方法Mystery()
构造方法的作用是令s="constructor"
再调用m的go()方法
go()方法的作用是在屏幕上输出s
所以显示"constructor"字符串
Q2: 以下Java代码执行结果是什么,请详细分析为什么?
第一行输出结果是abc:
原因是:
s.substring(1);
s.replace("bc", "xyz");
这两句话没有任何作用 ~因为String是属于值传递~
第二行 输出结果是false:
原因是:
用==比较字符串,是比较两个变量本身的值,即两个对象在内存中的首地址。用equals比较就会为true,equals比较的是内容是否相同。
附:
1、值传递、引用传递的区别:
值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。
引用传递:(形式参数类型是引用数据类型参数):也称为传地址。方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数
2、用==比较和用equals比较的区别:
对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同.
“==”比较两个变量本身的值,即两个对象在内存中的首地址.
“equals()”比较字符串中所包含的内容是否相同.
如何分析java代码结果的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于如何分析java代码结果的方法、如何分析java代码结果的信息别忘了在本站进行查找喔。






