美文网首页
java学习系列(四)Java基本语法02

java学习系列(四)Java基本语法02

作者: HANG_GE110 | 来源:发表于2022-02-10 09:52 被阅读0次

    java学习系列(四)Java基本语法02

    原创2022-02-10 09:50·白眼黑刺猬

    1.1. 运算符

    1.1.1. 赋值运算符

    符号:= , +=, -=, *=, /=, %=

    例子1:加号和赋值符号是可以合在一起使用的。

    例子2:比较s += 4;和s = s + 4;的不同。

    在执行s+=4;语句时,编译器在编译的时候,默认进行了强制类型转换,也就是将int类型的数据转换成byte类型的数据。

    在执行s = s + 4;语句时,编译器在编译的时候,默认并没有强制类型转换。所以,s是short类型,4是int类型,s会自动提升为int类型,相加的和也是int类型,赋值给short类型的变量肯定会损失精度。这时候就需要进行强制类型转换:s = (short)(s + 4);。

    1.1.2. 比较运算符

    注意:

    1、比较运算符的结果都是boolean型,也就是要么是true,要么是false。

    2、比较运算符“==”不能误写成“=” 。

    例子:

    1.1.3. 逻辑运算符

    "&"符号的运算特点:

    true & true = true;

    true & false = false;

    false & true = false;

    false & false = false;

    "&"符号运算规律:

    运算的两边只要有一个是false,结果肯定是false。

    只有两边都为true,结果才是true。

    例子1:

    "|"符号的运算特点:

    true | true = true;

    true | false = true;

    false | true = true;

    false | false = false;

    "|"符号运算规律:

    运算的两边只要有一个是true,结果肯定是true。

    只有两边都为false,结果是false。

    例子2:

    "^"符号的运算特点:

    true ^ true = false;

    true ^ false = true;

    false ^ true = true;

    false ^ false = false;

    "^"符号运算规律:

    ^符号的两边结果如果相同,结果是false。

    两边的结果不同,结果是true。

    例子3:

    "!"符号运算规律:

    true = false

    !false = true

    !!true = true;

    例子4:

    注意:

    &&:和&运算的结果是一样的,但是运算过程有点小区别。

    &:无论左边的运算结果是什么,右边都参与运算。

    &&:当左边为false时,右边不参加运算,这样可以提升效率

    ||:和|运算的结果是一样的,但是运算过程有点小区别。

    |:无论左边的运算结果是什么,右边都参与运算。

    ||:当左边为true时,右边不参加运算,这样可以提升效率。

    使用&&和||比使用&和|更高效一些。

    注意:

    逻辑运算符用于连接布尔型表达式,在Java中不可以写成33 & x<6 。

    1.1.4. 位运算符

    位运算是直接对二进制位进行运算。

    与运算例子:

    6 & 3 = 2

    110

    & 011

    -------

    010

    技巧:

    用“与运算”可以很方便提取某一二进制数的其中几位数。

    例如,取17476二进制数的后四位:

    0100010001000100

    & 0000000000001111

    ------------------------

    0000000000000100

    或运算例子:

    6 | 3 = 7

    110

    | 011

    --------

    111

    异或运算例子:

    6 ^ 3 = 5

    110

    ^ 011

    -------

    101

    注意:

    一个数异或同一个数两次,结果还是这个数。

    例如:

    6 ^ 3 ^ 3 = 6

    6 ^ 3 = 5

    110

    ^ 011

    -------

    101

    ^ 011

    -------

    110

    技巧:

    利用异或运算可以实现对数据简单地进行加密,例如对一幅图片的所有数据异或3进行加密,那么这幅图片就无法查看了。解密只需要再对图片的数据执行异或3操作即可。

    取反运算例子:

    左移运算例子:

    3 << 2 = 12 相当于 3 * 2(2) = 12

    00000000000000000000000000000011

    00000000000000000000000000001100

    3 << 3 = 24 相当于 3 * 2(3) = 24

    00000000000000000000000000000011

    00000000000000000000000000011000

    总结:

    左移几位其实就是该数据乘以2的几次方。

    <<:可以完成2的次幂运算。

    右移运算例子:

    6 >> 1 = 3 相当于 6/2(1)=3

    00000000000000000000000000000110

    00000000000000000000000000000011

    6 >> 2 = 1 相当于 6/2(2) = 1

    00000000000000000000000000000110

    00000000000000000000000000000001

    总结:

    右移几位其实就是该数据除以2的几次幂。

    以上例子中括号表示次幂的意思。

    注意:

    >>:对于高位出现的空位,原来高位是什么,就用什么补这个空位。

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

    练习:

    1.最有效率的方式算出2乘以8等于几?

    答案:

    2.对两个整数变量的值进行互换(可以使用第三方变量)。

    答案:

    3.对两个整数变量的值进行互换(不可以使用第三方变量)。

    答案1:

    答案2:

    1.1.5. 三元运算符

    格式:

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

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

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

    示例1:

    示例2:

    获取两个整数中的较大的整数。

    示例3:

    获取三个整数中的较大的整数。

    注意:

    表达式:就是具有一定语法规则的语句。

    相关文章

      网友评论

          本文标题:java学习系列(四)Java基本语法02

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