java基础--运算符

一、位运算符

     任何信息在计算机中都是二进制的形式保存的,“&”,“|”,“^”除了可以作为逻辑运算符也可以作为位运算符。

     &:只有参与运算的两位都为1,&运算的结果才为1,否则就为0。

     |:只有参与运算的两边都为0,|运算的结果才为0,否则为1.

     ^:参与运算的两边相同为0,不同为1.

     ~:反码;取反。

  一个数异或同一个数两次,结果还是那个数.  用处一个简单的加密思想.(加密图片代码:)

import java.io.*;
class  Demo4
{
    public static void main(String[] args) throws Exception
    {
        File inFile=new File("d:\\1.gif");
        File outFile=new File("d:\\加密.gif");
        FileInputStream input=new FileInputStream(inFile);
        FileOutputStream output=new FileOutputStream(outFile);
        int content=0;
        while((content=input.read())!=-1)
        {
        output.write(content^12);
        }
        output.close();
        input.close();

    }
}
加密

笔试题:将两个变量交换,不使用第三方变量。(用^)

class Demo5 
{
    public static void main(String[] args) 
    {
        int a=3;
        int b=5;
        a=a^b;
        b=a^b;
        a=a^b;
        System.out.println(a+","+b);
    }
}
交换变量

二、移位操作符

      1.左移(算数移位"<<"):空位补0,超出的位数,丢弃。

       结论:左移就相当于乘以2的n次方幂。

      2.右移(“>>”)被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1;

         结论:右移相当于除以2的n次方幂,n是移位的个数。

     3.无符号右移(“>>>”)右移操作数左边的位数(最高位)统一用0补。

三、运算符顺序

 

posted @ 2015-11-29 17:04  行驶在路上  阅读(120)  评论(0编辑  收藏  举报