码迷,mamicode.com
首页 > 编程语言 > 详细

java基础--1--运算符

时间:2015-12-13 11:07:39      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

一、位运算符

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

     &:只有参与运算的两位都为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);
    }
}

交换变量
View Code

二、移位操作符

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

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

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

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

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

三、运算符顺序

技术分享

java基础--1--运算符

标签:

原文地址:http://www.cnblogs.com/wswbk/p/5042357.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!