我了个去,还在纠结... 这题的意思就是:
在两个值相同的情况下,使条件不成立。
OK... 既然用的是 == 那只要让两边对象的字节码不同就可以了。
那么这个i.. 只要不是基本类型或Long、Integer等等之类的,其它都可以。
那么变量i该怎么定义啊?
追答 public static void main(String[] args) {不知道你为什么放这个条件,没意义。。。。
这个等价于:
public static void main(String[] args) {这是我见的一个面试题,原题是这样的,
试定义一个变量i,让以下循环能够结束
while((i+1)==(i+1)){},请说明原因;
你确定题没记错?
你确定是java题?
如果你确定,我觉得这样的面试题,没意义,就算有答案,也是投机取巧,不能证明什么,这题太偏了,这题不会回答,没什么。希望你别在这样的题上浪费时间。java里很多精髓等着你去接触学习呢。
真的 啊哥哥。最近都快疯了,整天看面试题;
balsum的回答到是个方法
原因:“” + 1 就变成了“1”,即 “1” == “1” ,这两个“1” 是两个不同的对象
此时 == 比较的是这两个是否为同一个对象(是否指向同一块内存),所以这个条件是false,所以循环进不去,直接跳转到后面了。
还是那句话,我不认为这是一道很好的面试题。理解了就可以了。
你看面试题,准备面试去么?
多看看基础,基础很重要,就跟考试一样,准备准备基础知识,偏题怪题看不看没太大关系