当前位置: 代码迷 >> J2SE >> 给大家出道题!该如何解决
  详细解决方案

给大家出道题!该如何解决

热度:51   发布时间:2016-04-24 01:18:58.0
给大家出道题!
这段程序会输出什么?
Java code
public class AnimalFarm {    public static void main(String[] args) {        final String pig = "length: 10";        final String dog = "length: " + pig.length();        System.out.println("Animals are equal: " + pig == dog);                String a = "a";        String b = "a";        System.out.println("a==b ? " + a == b);                String c = "ac";        String d = "a" + "c";        String e = a + "c";        System.out.println(c == d);        System.out.println(c == e);    }}


------解决方案--------------------
false
false
true
false

------解决方案--------------------
false 
false 
true 
false 

------解决方案--------------------
又是这种。
------解决方案--------------------
主要是第二个:
false
false
true
false
------解决方案--------------------
大哥 全是 false
------解决方案--------------------
false 
false 
true 
false 

------解决方案--------------------
解释一下啊
------解决方案--------------------
nnd +运算等级高于==

我差点让你们搞胡了.
------解决方案--------------------
不懂
------解决方案--------------------
第一第二是考查+与==的优先级。
第三第四是考查常量池。
------解决方案--------------------
探讨
主要是第二个:
false
false
true
false

------解决方案--------------------
探讨
第一第二是考查+与==的优先级。
第三第四是考查常量池。

------解决方案--------------------
jf
------解决方案--------------------
探讨
Java codeint i1=1;int i2=1;
System.out.println("result :"+ i1== i2);
这段如何

------解决方案--------------------
up up
------解决方案--------------------
false
false
true
false
俺错了第二个
------解决方案--------------------
false
false
true
false
谢谢送分
------解决方案--------------------
....mark,若干时日后,或许面试用得到。。。

或者以后用来聊天显摆也可以。。。
------解决方案--------------------
看过的接分.
------解决方案--------------------
楼上各位说的都很有道理
学习了
------解决方案--------------------
来接分,哈哈。
------解决方案--------------------
恩 2个地方注意下就好了 一个是字符串连接的+运算符,和==运算符 应该是连接之后再比较 所以前两个输出都是false

后面两个一个是true 最后一个是false d是常量字符串相连接 编译器直接优化成"ac" 所以输出true 最后一个因为有变量引入 在运行时 会创建一个新的字符串对象 因此输出false
  相关解决方案