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

Java 基础入门随笔(3) JavaSE版

时间:2015-06-03 23:16:02      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

        上一节写了一些运算符的注意事项,这节开头依然是对运算符的一些注意点的阐述!

  比较运算符除了>、>=、<、<=、==、!=之外需要注意instanceof:检查是否是类的对象,例如:”Hello” instanceof String ,返回结果位true。

1.逻辑运算符

       &(与)的运算特点:运算的两边只要有一个是false,结果肯定是false,只有两边都为true,结果才true;

       |(或)的运算特点:运算的两边只要有一个是true,结果肯定是true,只有两边都为false,结果是false;

       ^(异或)的运算特点:运算的两边结果如果相同,结果是false,两边的结果不同,结果是true;

      !(非)的运算特点:判断事物的另一面;

       &&(短路 双与)的运算特点:与&运算基本一致,只是&&当左边为false时,右边不参与运算的,而&两边都得运算;

        ||(短路 双或)的运算特点:与|运算基本一致,只是||当左边为true时,右边不参与运算的,而|两边都得运算;

2.位运算符

        &(与位运算符):运算特点与逻辑运算符的&一样,只是这里针对二进制的位运算,例如:6&3=2;(二进制原理:110&011=010),任何数与位为1取&运算都为原来数(作用取某些有效位数);

        | (或运算符):运算特点或逻辑运算符的&一样,只是这里针对二进制的位运算,例如:6|3=7;(二进制原理:110|011=111);

        ^(异或运算符):运算特点与逻辑运算符的^一样,只是这里针对二进制的位运算,例如:6^3^3 = 6,注:当一个数异或运算同一个数两次,结果还是这个数本身(作用为加密的效果)

       ~ (反码运算符):运算特点与符逻辑运算符中的!一致的。

       <<(左移运算符):左移几位其实就是该数据乘以2的几次方。可以完成2的次幂运算!

        >> (右移运算符) : 右移几位其实就是该数据除以2的几次幂。对于高位出现的空位,原来高位是什么就用什么补这个空位!

      >>>(无符号右移运算符):数据进行右移时,高位出现的空位,无论原高位是什么,空位都用0补。

练习:

1.//最有效率的方式算出2乘以8等于几? 答案:System.out.println(2<<3);

2.对两个整数变量的值进行互换 ? 

  答案:

开发时,使用第三方变量的形式,因为阅读性强。
        int c ;
        c = a;
        a = b;
        b = c;

这种方式不要用,如果两个整数的数值过大,会超出int范围,会强制转换。数据会
变化。

        a = a + b; //a = 3 + 5;a = 8;
        b = a - b; //3+5-5 = 3;b = 3;
        a = a - b; //3+5-3 = 5;a = 5;

面试的时候用。
        a = a ^ b; //a = 3 ^ 5;
        b = a ^ b; //b = (3^5)^5; b = 3;
        a = a ^ b; //a = (3^5)^3; a = 5;

Java 基础入门随笔(3) JavaSE版

标签:

原文地址:http://www.cnblogs.com/Anand/p/4550440.html

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