1、设int a=10;则下列表达式运算之后,a的值是多少:   a>>=32
2、编写一个应用程序,将程序中的一个4位数分成独立的数并以两个制表的间距输出各个数字,并且后两个数要换行。例如,若数字为2468,
则程序应输出:2     4
            6     8本人初学java,正为这两道题目困惑,那位大侠帮我解释下第一题的a>>=32是什么意思啊;还有帮我写下第二题的代码。谢谢!

解决方案 »

  1.   


            int a = 2468;
            char[] c = String.valueOf(
                a).toCharArray();
            for (int i = 0; i < c.length / 2; i++) {
                System.out.println("" + c[i] + "\t\t" + c[i + 1]);
            }
      

  2.   

    不够经典,但可实现第二题
    public class Test{ public static void main(String[] args) 
    {

    Test t = new Test();
    t.test2();
    }
    public void test2()
    {
    int i=2468;
    String qian="";
    String bai="";
    String shi="";
    String ge="";
    String str_i="";
    str_i=String.valueOf(i);
    qian=str_i.substring(0,1);
    bai=str_i.substring(1,2);
    shi=str_i.substring(2,3);
    ge=str_i.substring(3,4);
    System.out.println(qian+"\t\t"+bai+"\n"+shi+"\t\t"+ge);
    }
    }
      

  3.   

     不过第一个问题还是可以讲讲的,a>>=32  等价于 a = a>> 32 ;
    意思是将a向左移32位a的值是10, 
      

  4.   

    1:int 已经是32位,所以移位32后仍然是自己。2:看2楼
      

  5.   

    右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。
    最后结果是10