代码改变世界

Java小程序2(2015-8-6)

2015-08-06 22:08  马尔代夫_珍  阅读(214)  评论(0编辑  收藏  举报

1、

public class DataDemo2 {  

      public static void main(String [] args){     

         char c1='A';  

         char c2=97;  

         char c3='\u0041';   

          char c4=65;

    System.out.println(c1);    

System.out.println(c2);    

System.out.println(c3);      

System.out.println(c4);    

} }

2、

public class LuoJiTest{      

     public static void main(String [] args){

                 int num1=20;       

                int num2=30;    

System.out.println("短路与:"+((num1>num2)&&(num1>10)));     System.out.println((num1>num2)||(num1>10));  

 System.out.println(!(num1>num2));    

System.out.println((num1>num2)&(num1>10));    

System.out.println((num1>num2)|(num1>10));    

System.out.println((num1>num2)^(num1>10));   

}}

3、

public class WeiFei{  

     public static void main(String [] args){

        int num1=8;    

/*       符号位:0代表整数 , 1代表负数       

              0000 0000 0000 0000 0000 0000 0000 1000

     取反: 1111 1111 1111 1111 1111 1111 1111 0111

得到负数的补码:(符号位不变,其他的都取反)       

               1111 1111 1111 1111 1111 1111 1111 0111       

               1000 0000 0000 0000 0000 0000 0000 1000

负数的补码+1:       

               1000 0000 0000 0000 0000 0000 0000 1000                                     +                                                                            1

--------------------------------------------------------------------

               1000 0000 0000 0000 0000 0000 0000 1001---->-9

*/  

       System.out.println(~8);     }}

4、

public class WeiHuoTest{  

  public static void main(String [] args){

     int num1=10;        

     int num2=8;     

/*         num1:10   

                 0000 0000 0000 0000 0000 0000 0000 1010       

           num2:8   

                 0000 0000 0000 0000 0000 0000 0000 1000

-----------------------------------------------------   

                 0000 0000 0000 0000 0000 0000 0000 1010   

                 0000 0000 0000 0000 0000 0000 0000 1000

-----------------------------------------------------   

                 0000 0000 0000 0000 0000 0000 0000 1010------>10

 */     

  System.out.println(num1|num2); }}

5、

public class YiHuoTest{    

        public static void main(String [] args){        

                  int num1=10;        

                  int num2=8;     

     /*         num1:10    0000 0000 0000 0000 0000 0000 0000 1010       

                 num2:8      0000 0000 0000 0000 0000 0000 0000 1000

   -----------------------------------------------------   

                                   0000 0000 0000 0000 0000 0000 0000 1010   

                                   0000 0000 0000 0000 0000 0000 0000 1000

   -----------------------------------------------------   

                                   0000 0000 0000 0000 0000 0000 0000 0010------>2

(运算规则:位运算中“异或”运算,如果两个数据对应位都是1,则c的该位是1,否则是0。) */

      System.out.println(num1^num2); }}

6、

public class YiWei{       

       public static void main(String [] args){           

                int num1=8;

/*     0000 0000 0000 0000 0000 0000 0000 1000 向右移2位     */         

           System.out.println(num1>>2);         

           System.out.println(num1<<2); }}

/*   

     int num1=-10 原码-》反码-》补码-》移位   

          1000 0000 0000 0000 0000 0000 0000 1010--原码

找反码:原码的符号位不变,其余的取反   

           1111 1111 1111 1111 1111 1111 1111 0101--反码

补码是:反码+1   

           1111 1111 1111 1111 1111 1111 1111 0110--补码

 得到补码后,对补码进行移位(反移位运算)向右移两位后为:

           0011 1111 1111 1111 1111 1111 1111 1101--移位后的(正数) 是正数,也就是原码了。   

           0011 1111 1111 1111 1111 1111 1111 1101---正数原码

*/