论坛首页 入门技术论坛

某公司的java笔试题,来测测你的基础如何吧

浏览 53359 次
该帖已经被评为新手帖
作者 正文
   发表时间:2010-06-02   最后修改:2010-06-02
引用

public class Increment {
    public static void main(String[] args) {
        int j = 0;
        for (int i = 0; i < 100; i++)
            j = j++;
        System.out.println(j);
    }
}


看一下字节码就全明白了
   10:  iload_1      // 把0压入栈
   11:  iinc    1, 1 // 把索引为1的局部变量加1
   14:  istore_1     // 再把栈里的变量赋值给索引为1的局部变量,也就是赋值0

0 请登录后投票
   发表时间:2010-06-02  
感觉还行,能做出来。。。
0 请登录后投票
   发表时间:2010-06-02  
能把每道题都写上答案和答案解析吗?
0 请登录后投票
   发表时间:2010-06-02  
挺不错的题比 int a=1,b=2;
           System.out.print(a+++b);
0 请登录后投票
   发表时间:2010-06-02  
hui94781674 写道
wnick 写道
IrenBJ 写道

5。

public class Increment {
    public static void main(String[] args) {
        int j = 0;
        for (int i = 0; i < 100; i++)
            j = j++;
        System.out.println(j);
    }
}

 

求打印结果?


请说说为什么 打印是 0    因为跳出循环的条件是i < 100 而 i = 0 一开始就小于100了,没有执行循环,所以打印的是0

 j++ 代表先赋值,后j+1;    这道题问题出现在 j=j++;这个表达式上  举个例子如果在增加一个变量a  a=j++  这时a的值是0 j的值是1 没错吧。 这个很容易理解。 但是j=j++就变了, 因为是同一个变量赋值,所以 j==0;  这时候的j++已经不起作用了。

 

0 请登录后投票
   发表时间:2010-06-02  
xxboy 写道
引用

public class Increment {
    public static void main(String[] args) {
        int j = 0;
        for (int i = 0; i < 100; i++)
            j = j++;
        System.out.println(j);
    }
}


看一下字节码就全明白了
   10:  iload_1      // 把0压入栈
   11:  iinc    1, 1 // 把索引为1的局部变量加1
   14:  istore_1     // 再把栈里的变量赋值给索引为1的局部变量,也就是赋值0



楼上正解也!
0 请登录后投票
   发表时间:2010-06-02  
bigkai_13 写道
hui94781674 写道
wnick 写道
IrenBJ 写道

5。

public class Increment {
    public static void main(String[] args) {
        int j = 0;
        for (int i = 0; i < 100; i++)
            j = j++;
        System.out.println(j);
    }
}

 

求打印结果?


请说说为什么 打印是 0    因为跳出循环的条件是i < 100 而 i = 0 一开始就小于100了,没有执行循环,所以打印的是0

 

 

跳出循环的条件是i<100?

0 请登录后投票
   发表时间:2010-06-02  
第一题求解。。。。
0 请登录后投票
   发表时间:2010-06-02  
IrenBJ 写道


Calendar类中的月份是从0开始计算的,也就是说12代表的是下一年的1月份,这才是正确的理解。





又看了一遍DOC, 果然如哥们你所说, 感谢指正啊。
0 请登录后投票
   发表时间:2010-06-02  
惭愧,看书自省去
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics