美文网首页
java 运算符

java 运算符

作者: 殇青涩年华疯子的明天 | 来源:发表于2016-06-27 21:39 被阅读81次

    public class Helloworld {

    public static void main( String[] args ){

    /*  1. 算术运算符  + - * / %

    *

    *      (1) + (正数,加法,连接符)

    *      连接符的作用: 让任何的数据都可以与 字符串进行拼接;

    *      如果+号用于字符串的时候,那么+号就是一个连接符, 并不是做加法功能;

    *

    *      连接符注意: 任何类型的数据与字符串使用连接符连接,那么结果都是字符串类型的数据;

    *

    *      int i1 = 1;

    int i2 = 2;

    System.out.println(i1 + "world");

    System.out.println(1+2+3 + "world"+1+2+3);  //6world123

    *

    *      (2)  - * / %

    *      (1) java中的  int/int, 结果表达式会是 int类型, 如 11/3=3

    *          int a = 11;

    int b = 3;

    System.out.println(a/b);

    *          (2) java中的 % ,取模运算, 结果的正负号是取决于被除数。

    *          10 = -3 * -3+1;

    *                  -10 = -3* 3 -1;

    *          -10 = 3 * -3 -1;

    * */

    /*

    *  2. 自增,自减  ++ --

    *  (1) 关于后自增,自减的运行原理:

    *      (1) ++,--的运算优先级别很高,无论前++————还是后++--,都会先自增自减;

    *    (2) 而后++--则是通过增加一个临时变量实现其效果的;临时变量保存后++--的值,然后变量++--,再将临时变量赋值;

    *

    *  int  i = 0;

    i = i++;

    System.out.println(i);

    *

    *      (2) 前++,--    变量先++--,然后返回变量本身

    *          后++ --    先创建临时变量保存原变量的值, 然后变量++--, 然后返回临时变量的value

    * */

    /*  3. 赋值运算符:  =,+=,-=,*=,/=,%=    (这些运算符进行运算时,编译器已经对 表达式的value进行了强制类型转换,所以编译不会报错)

    *

    *        byte b1 = 1;

    byte b2 = 2;

    b2 += 1;

    b2 += b1;

    // b2 = b2 + b1;    由于b1+b2表达式值类型是int,而int->byte不能隐式转换,编译报错

    System.out.println(b2);

    * */

    /*  4. 比较运算符:  比较运算符的结果都是返回一个布尔值的;

    *        (1) ==  判断是否等于

    *            == 用于比较两个基本数据类型数据的时候,比较的是两个变量存储的值是否一致;

    *            == 用于比较两个引用类型变量的数据时候,比较的是两个引用类型变量所记录的内存地址是否一样

    *

    *        (2)  != 不等于    >, >= 大于,大于等于  <,<=

    * */

    /*  逻辑运算符:  逻辑运算符的作用 在于连接 boolean表达式的;

    * (1)  &&双与  ||双或  !非

    *              1. 需要左右都是boolean表达式

    *              2. &&,||具有短路原则

    *

    *      (2) &  |  ^

    *      1.  在java中,&|^在两边都是boolean表达式时,可以算是逻辑运算符号, 证实原因是 按位运算,但是boolean的值只有 1bit有值;

    * 2.  充当逻辑运算符号的时候,不具有短路原则;

    *

    * 1. 逻辑与:  &&,& --> 要全部为真才是真

    * 2. 逻辑或:  ||,| --> 只要有一个为真就为真

    * 3. 异或:    ^  ---> 异则为真,同则为假

    *

    *

    *

    * 位运算:  位运算就是直接操作二进制的; (直接操作bit)

    * &(与), |(或), ^(异或), ~(取反)

    *

    *  关于^异或: 如果操作数A连续异或同一个操作数两次,那么结果还是操作数A。

    *  应用: 异或可以对数据进行加密。

    *

    * int a = 3;

    * int b = 4;

    * a = a^b;

    * b = a^b;

    * a = a^b;

    *

    *

    * 截取一个二进制数字的指定位数,要求截取该二进制数据的低4位: &

    *        0000001111110001

    *      & 0000000000001111

    *      ->            0001

    *

    *

    * 移位运算符:

    *  << 左移运算符    3<<2  相当于011 --->110  3*(2的1次方)

    *  >> 右移运算符    3>>2  相当于011 --->001  3/2=1

    *  >>> 无符号右移

    * 无符号右移 与 右移的区别:  移动是否改变数据的最高位,即符号位;

    *

    * */

    }

    }

    相关文章

      网友评论

          本文标题:java 运算符

          本文链接:https://www.haomeiwen.com/subject/hyzzdttx.html