zoukankan      html  css  js  c++  java
  • 运算符

     

    运算符一共分为

    算术运算

    赋值运算符

    比较运算符

    逻辑运算符

    位运算符

    三元运算符

    算数运算符

    加(+)、减(-)、乘(*)、除(/)、

    自增(分++在前和++在后)、自减(——和++一样分前后的)、

    字符串连接符(+、将字符串相加得到新的字符串)

    取模运算符(%)

    如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数就另当别论。

    当左边的绝对值小于右边: 结果是左边 当左边的绝对值等于右边或者是右边倍数的时候:结果是0

    当左边的绝对值大于右边:结果是余数,符号取决与左边的符号

    取余的正负号取决于左边

    赋值运算符

    = 等于用于赋值和初始化变量:int i = 1; a = 2;

    +=  加等于:a += b ——>a = a + b;

    —=  减等于:a -= b ——>a = a - b;

    *=   乘等于:a *= b ——>a = a * b;

    /=   出等于;a /= b ——>a = a / b;

    %= 模等于:a &= b ——>a = a %b;

    比较运算符

    <   小于

    >   大于

    ==    相对于

    !=    不等于

    <=     小于等于

    >=     大于等于

    比较运算符运行结束之后返回的都是boolean值  返回值要么是true要么为false;

    逻辑运算符

    &       与(and)

    |        或(or)

    !     非(not)

    ^      异或(xor)

    &&    短路与

    ||    短路或

    逻辑运算符和比较运算符一样返回的值是boolean类型的

    &  两边都为true结果才为true,只要有一边是false,结果就是false

    第一个条件    第二个条件     结果

     true           true       true  

     false          true           false

     true           false          false

    false           false          false

     左右两边同时为true,结果为true。


    |  两边都为false结果才为false,只要有一边是true,结果就是true

    第一个条件    第二个条件     结果
      true          true            true
      false         true            true
      true          false           true
      false         false           false

    左右两边只要有一个结果是true,结果为true


    ^  判断两边是否不同,不同则为true,相同则为false

    第一个条件    第二个条件     结果

      true          true          false

      false         true           true

      true          false          true

      false         false          false

    左右两边相同,结果为false。


    !  取反,!true结果是false,!fasle结果是true

    !true     false
    !false    true
    !!true     true


    &&  和&结果相同,具有短路效果,如果前半是false,表达式结果一定为false,不运行后一半


    ||  和||结果相同,具有短路效果,如果前半是true,表达式结果一定为true,不运行后一半

    位运算符

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

    它们对两个操作数中的每一个二进制位都进行运算,0当做false1当做true

     

    &将两个二进制数每一位进行&运算,两边都为1结果才为1,只要有一边是0,结果就为0

     

     

    |将两个二进制数每一位进行|运算,两边都为0结果才为0,只要有一边是1,结果就为1

     

    ^将两个二进制数每一位进行^运算,只要两边不同结果就为1,相同则为0

     

     

    我们可以对数据按二进制位进行移位操作,java的移位运算符有三种:

     

    <<  左移  将二进制的每一位向左移,低位补0。左移几位就相当于乘以2的几次方。

     

    >>  右移  将二进制的每一位向右移,原来高位是0就补0,原来高位是1就补1。右移几位就相当于除以2的几次方。

     

    >>> 无符号右移  将二进制的每一位向右移,高位补0。正数移动没区别,负数移动后变为正数。

     

    三元运算符

     

    (条件表达式)?表达式1:表达式2;

     

    如果条件为true,运算后的结果是表达式1;

     

    如果条件为false,运算后的结果是表达式2;

    int i = 1,j = 2,k

    k = i > j ? i : j;

    System.out.println(z);

    比较i j的大小并输出较大的数

     

     

    总结:

    取模就是对一个数求它的余数  int类型的数默认返回类型为int  小数点后边不管多大都会被舍弃  不会像四舍五入啥的

    &&短路与如果第一个条件是false 程序直接结束更好的提高了运算速度

    ||短路或如果第一个条件是true 程序直接结束

    <<一个正整数向左移动几位就乘以2的几次幂
    >>一个正整数向右移动几位就除以2的几次幂

     

     

  • 相关阅读:
    401. Binary Watch
    46. Permutations
    61. Rotate List
    142. Linked List Cycle II
    86. Partition List
    234. Palindrome Linked List
    19. Remove Nth Node From End of List
    141. Linked List Cycle
    524. Longest Word in Dictionary through Deleting
    android ListView详解
  • 原文地址:https://www.cnblogs.com/sooper/p/3330126.html
Copyright © 2011-2022 走看看