四,Java运算符详细分类及使用方法介绍

bjynjj / 2024-10-29 / 原文

Java编程基础:全面掌握运算符

在Java编程中,运算符是用于执行程序代码运算的符号。它们可以对变量和值执行各种操作,如算术运算、比较、逻辑判断等。本文将详细探讨Java中的各种运算符,包括算术运算符、关系运算符、赋值运算符、逻辑运算符、位运算符和三目运算符,并提供相应的代码示例和详细解释。

算术运算符

算术运算符用于执行基本的数学运算。

  • +:加法运算符。用于将两个数值相加。如果两边的操作数都是数值类型,则执行加法运算;如果两边的操作数都是字符串,则执行字符串连接。
    int a = 10;
    int b = 5;
    int sum = a + b; // 结果为15
    String str1 = "Hello";
    String str2 = "World";
    String result = str1 + str2; // 结果为"HelloWorld"
    
  • -:减法运算符。用于从一个数值中减去另一个数值。
    int difference = a - b; // 结果为5
    
  • *:乘法运算符。用于将两个数值相乘。
    int product = a * b; // 结果为50
    
  • /:除法运算符。用于将一个数值除以另一个数值。
    double quotient = (double)a / b; // 结果为2.0
    
  • %:取模运算符。返回两个数值相除的余数。
    int remainder = a % b; // 结果为0
    
  • ++:自增运算符。将变量的值增加1。
    a++; // a的值现在是11
    
  • --:自减运算符。将变量的值减少1。
    b--; // b的值现在是4
    

关系运算符

关系运算符用于比较两个值,并返回一个布尔值(truefalse)。

  • ==:等于。比较两个值是否相等。
    boolean isEqual = (a == b); // 结果为false
    
  • !=:不等于。比较两个值是否不相等。
    boolean isNotEqual = (a != b); // 结果为true
    
  • >:大于。比较第一个值是否大于第二个值。
    boolean isGreater = (a > b); // 结果为true
    
  • <:小于。比较第一个值是否小于第二个值。
    boolean isLess = (a < b); // 结果为false
    
  • >=:大于等于。比较第一个值是否大于或等于第二个值。
    boolean isGreaterEqual = (a >= b); // 结果为true
    
  • <=:小于等于。比较第一个值是否小于或等于第二个值。
    boolean isLessEqual = (a <= b); // 结果为false
    

赋值运算符

赋值运算符用于将值赋给变量。

  • =:赋值运算符。将右边的值赋给左边的变量。
    int num = 10; // 将10赋值给num
    
  • +=:加法赋值运算符。将左边的变量与右边的值相加,并将结果赋值给左边的变量。
    num += 5; // 相当于num = num + 5,现在num的值是15
    
  • -=:减法赋值运算符。将左边的变量与右边的值相减,并将结果赋值给左边的变量。
    num -= 3; // 相当于num = num - 3,现在num的值是12
    
  • *=:乘法赋值运算符。将左边的变量与右边的值相乘,并将结果赋值给左边的变量。
    num *= 2; // 相当于num = num * 2,现在num的值是24
    
  • /=:除法赋值运算符。将左边的变量除以右边的值,并将结果赋值给左边的变量。
    num /= 4; // 相当于num = num / 4,现在num的值是6
    
  • %=:取模赋值运算符。将左边的变量对右边的值取模,并将结果赋值给左边的变量。
    num %= 3; // 相当于num = num % 3,现在num的值是0
    

逻辑运算符

逻辑运算符用于执行逻辑运算。

  • &&:逻辑与。如果两个操作数都为true,则结果为true
    boolean andResult = (a > b) && (a < 100); // 结果为true
    
  • ||:逻辑或。如果两个操作数中至少有一个为true,则结果为true
    boolean orResult = (a > b) || (a < 0); // 结果为true
    
  • !:逻辑非。对操作数的布尔值取反。
    boolean notResult = !(a == b); // 结果为true
    

位运算符

位运算符用于对整数的二进制位进行操作。

  • &:按位与。对两个整数的每一位执行逻辑与操作。
    int andResult = a & b; // 结果为0,因为10和3的二进制表示没有相同的1位
    
  • |:按位或。对两个整数的每一位执行逻辑或操作。
    int orResult = a | b; // 结果为11,因为10和3的二进制表示至少有一位是1
    
  • ^:按位异或。对两个整数的每一位执行逻辑异或操作。
    int xorResult = a ^ b; // 结果为9,因为10和3的二进制表示不同的位是1
    
  • ~:按位取反。对整数的每一位执行逻辑取反操作。
    int notResult = ~a; // 结果为-11,因为10的二进制表示取反后加1
    
  • >>:右移。将整数的二进制表示向右移动指定的位数。
    int rightShiftResult = a >> 1; // 结果为5,因为10的二进制表示右移1位
    
  • <<:左移。将整数的二进制表示向左移动指定的位数。
    int leftShiftResult = a << 1; // 结果为20,因为10的二进制表示左移1位
    

三目运算符

三目运算符用于基于条件表达式的结果来选择两个值中的一个。

  • 条件表达式 ? 表达式1 : 表达式2:如果条件表达式为true,则结果为表达式1,否则为表达式2。
    int score = 85;
    String grade = (score >= 90) ? "A" : "B"; // 结果为"B"