当前位置:   article > 正文

Java运算符详解(个人理解及记忆)_java的符号及其含义

java的符号及其含义

Java中的运算符

1、运算符的基本介绍

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
主要有以下几种:

  1. 算术运算符

  2. 赋值运算符

  3. 关系运算符

  4. 逻辑运算符

  5. 位运算符

  6. 三元运算符

2、算术运算符

算术运算符是对数值类型的变量进行运算的,主要有

运算符作用
+加法运算,可以用于字符串的拼接。
-减法运算
*乘法运算。
/除法运算,当两个整数相除,有小数时,结果为整数。
%取余运算 此公式能用于大部分取余 a % b = a - (a / b) * b
++自增(前) :先运算后取值 自增 (后):先取值后运算
- -自减(前) :先运算后取值 自减(后):先取值后运算

详解 / % ++ - -

        //   除法运算
        int num1= 8;
        int num2 = 3;
        System.out.println(num1/num2);// 输出 2
        
        //   取出运算
         System.out.println(num1%num2);//输出 2  a % b = a - (a / b) * b 使用手算为 2 
        //  不使用代码计算  -8 % 3 = ? 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
        // ++ 运算          --运算方式同++运算类似
        int num1 = 1;
        // ++在前
        ++num1;
        System.out.println(num1);//输出为2
        //  ++在后
        num1++;
        System.out.println(num1);//输出为2
        // 个人理解为 当 ++此条语句在单独使用时可 理解为 i = i + 1。
        
        //当++单独非语句时使用时
        int num1 = 1;
        int num2 = 0;
        // ++ 在前
        num2 = ++num1; // 在非单独使用时 有任意运算符时 均按照 ++在前先自增后赋值 ++在后先赋值后自增
        /*
        将上述语句拆开
        num1 = num1 + 1;
        num2 = num1;  个人理解 : 程序在执行时,先执行等号右边 再按照右边 从左往右依次执行
        */
        System.out.println(num1);//2
        System.out.println(num2);//2
        
        int num1 = 1;
        int num2 = 0;
        // ++ 在后
        num2 = num1++;
        /*
        将上述语句拆开 
        num2 = num1;
        num1 = num1 + 1;
        */
        System.out.println(num1);//2
        System.out.println(num2);//1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

3、赋值运算符

赋值运算符就是将某个运算后的值,赋给指定的变量。

基本赋值运算符 = int a = 10; 指将某个数据赋值给一个变量

复合赋值运算符 += , -= , *= , /= , %= 用法一致 举例 +=

复合运算符是赋值运算符的简写 如

    int a = 1;
    a += 5;//等价为a = a + 5; 个人理解为 直接将 a+ 左移到等号右边 
    System.out.pringln(a); //输出6
  • 1
  • 2
  • 3

4、关系运算符 [比较运算符]

关系运算符用于比较两个数据, 返回的结果只能是 true 或 false

System. out .print1n(3 > 2); //true
System. out.print1n(3 < 2); //false
System. out .print1n(2 == 2); //true
System. out.print1n(2 != 2); //false
System. out .print1n(3 >= 3); //true
System. out .print1n(3 <= 5); //true
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

5、逻辑运算符

用于连接多个条件(多个关系表达式),最终的结果也是一个 boolean

  1. a&b : & 叫逻辑与:规则:当 a 和 b 同时为 true ,则结果为 true, 否则为 false

  2. a&&b : && 叫短路与:规则:当 a 和 b 同时为 true ,则结果为 true,否则为 false

  3. a|b : | 叫逻辑或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false

  4. a||b : || 叫短路或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false

  5. !a : 叫取反,或者非运算。当 a 为 true, 则结果为 false, 当 a 为 false 是,结果为 true

  6. a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false

详解&&与&: && 和 & 他们的结果相同,不过是执行过程不一致而已。可以认为是 && 对 & 进行进行了优化 使 &&更加节省时间,

& 的所有表达式都要执行 ,而 && 从左到右执行,执行到false时,返回false,不在去执行后续表达式。

关系式1 && 关系式2 && 关系式3 理解: 关系式1为false 关系式2,关系式3就不在执行。 个人理解 :为false就短路 后续不在执行,故称为短路与。

关系式1 & 关系式2 & 关系式3 理解: 关系式1为false时,关系式2还是会执行 关系式3也会执行。

详解|| 与 | : || 和 | 的执行结果也是一致 ,执行过程不一致,|| 对 | 进行了优化 使 || 节省时间

| 的所有表达式都要执行 ,而 || 从左到右执行,执行到true时,就返回true,不在去执行后续表达式。

关系式1 || 关系式2 || 关系式3 理解: 关系式1为true 关系式2,关系式3就不在执行。 个人理解 :为false就短路 后续不在执行,故称为短路或。

关系式 | 关系式2 | 关系式3 理解: 关系式1为true时,关系式2还是会执行 关系式3也会执行。

自行思考 && 与& 当表达式1 为 true 时的过程,|| 与 | 当表达式1 为 false 时的过程。

6、位运算符 [需要二进制基础]

java 中有 7 个位运算 &、| 、^ 、 ~ 、 >> 、 << 和 >>> ,此运算符在Java中不常用,了解即可

按位与& 两位全为1,结果为1,否则为0
按位或| 两位有一个为1,结果为1,否则为0
按位异或^ : 两位一个为0,- 个为1,结果为1,否则为0
按位取反~ : 0->1 ,1->0

算术右移>>:低位溢出,符号位不变,并用符号位补溢出的高位
算术左移<<:符号位不变,低位补0
>>>逻辑右移也叫无符号右移,运算规则是:低位溢出,高位补0 .
特别说明: 没有<<<符号

7、三元运算符(三目运算符)

格式 :条件表达式 ? 表达式 1: 表达式 2;

  1. 如果条件表达式为 true,运算后的结果是表达式 1;
  2. 如果条件表达式为 false,运算后的结果是表达式 2
        System.out.println(3>2?3:2);//3
        System.out.println(2>3?2:3);//3
        System.out.println(10<5?10:5);//返回什么? 根据上述规则判断
  • 1
  • 2
  • 3

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/290890
推荐阅读
相关标签
  

闽ICP备14008679号