Java运算符

Java运算符用于执行各种运算,包括算术运算、比较运算、逻辑运算、位运算、赋值运算以及其他类型的操作。

  • 算术运算符

这些运算符用于执行基本的数学运算,如加法、减法、乘法、除法和取余等。

复制代码
public class ArithmeticOperators {
    public static void main(String[] args) {
        int a = 10;
        int b = 5;

        System.out.println("a + b = " + (a + b));   // 加法
        System.out.println("a - b = " + (a - b));   // 减法
        System.out.println("a * b = " + (a * b));   // 乘法
        System.out.println("a / b = " + (a / b));   // 除法
        System.out.println("a % b = " + (a % b));   // 取余
        System.out.println("a++ = " + (a++));       // 自增
        System.out.println("a-- = " + (a--));       // 自减
    }
}
  • 关系运算符

用于比较两个值之间的关系,返回布尔值(true 或 false)。

复制代码
public class ComparisonOperators {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        System.out.println("a == b: " + (a == b));  // 等于
        System.out.println("a != b: " + (a != b));  // 不等于
        System.out.println("a > b: " + (a > b));    // 大于
        System.out.println("a < b: " + (a < b));    // 小于
        System.out.println("a >= b: " + (a >= b));  // 大于等于
        System.out.println("a <= b: " + (a <= b));  // 小于等于
    }
}
  • 逻辑运算符

用于对布尔值进行逻辑运算,返回布尔值。

复制代码
public class LogicalOperators {
    public static void main(String[] args) {
        boolean a = true;
        boolean b = false;

        System.out.println("a && b: " + (a && b));  // 与
        System.out.println("a || b: " + (a || b));  // 或
        System.out.println("!a: " + (!a));          // 非
    }
}
  • 位运算符

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

复制代码
public class BitwiseOperators {
    public static void main(String[] args) {
        int a = 60; /* 60 = 0011 1100 */
        int b = 13; /* 13 = 0000 1101 */

        System.out.println("a & b: " + (a & b));    // 与
        System.out.println("a | b: " + (a | b));    // 或
        System.out.println("a ^ b: " + (a ^ b));    // 异或
        System.out.println("~a: " + (~a));          // 取反
        System.out.println("a << 2: " + (a << 2));  // 左移
        System.out.println("a >> 2: " + (a >> 2));  // 右移
        System.out.println("a >>> 2: " + (a >>> 2)); // 无符号右移
    }
}
  • 赋值运算符

赋值运算符用于为变量赋值。

复制代码
public class BitwiseOperators {
    public static void main(String[] args) {
        int num1 = 5; // 二进制: 0101
        int num2 = 3; // 二进制: 0011

        // 按位与
        int bitwiseAnd = num1 & num2; 
        System.out.println("按位与: " + bitwiseAnd);

        // 按位或
        int bitwiseOr = num1 | num2; 
        System.out.println("按位或: " + bitwiseOr);

        // 按位异或
        int bitwiseXor = num1 ^ num2; 
        System.out.println("按位异或: " + bitwiseXor);

        // 按位取反
        int bitwiseNot = ~num1; 
        System.out.println("按位取反: " + bitwiseNot);

        // 左移
        int leftShift = num1 << 2; 
        System.out.println("左移: " + leftShift);

        // 右移
        int rightShift = num1 >> 1; 
        System.out.println("右移: " + rightShift);

        // 无符号右移
        int unsignedRightShift = num1 >>> 1; 
        System.out.println("无符号右移: " + unsignedRightShift);
    }
}
  • 条件运算符(三元运算符)

是 Java 中唯一的三目运算符,根据条件的真假返回不同的值。

复制代码
public class ConditionalOperator {
    public static void main(String[] args) {
        int score = 80;
        String result = (score >= 60) ? "及格" : "不及格";
        System.out.println("考试结果: " + result);
    }
}
  • 其他运算符

instanceof:用于检查对象是否是特定类的实例。

new:用于创建对象的实例。

cast:用于强制类型转换。

复制代码
class Animal {}
class Dog extends Animal {}

public class OtherOperators {
    public static void main(String[] args) {
        Dog myDog = new Dog();

        System.out.println(myDog instanceof Dog);    // true
        System.out.println(myDog instanceof Animal); // true

        Animal myAnimal = (Animal) myDog; // 强制类型转换
    }
}
相关推荐
YuTaoShao1 小时前
【LeetCode 热题 100】139. 单词拆分——(解法一)记忆化搜索
java·算法·leetcode·职场和发展
Best_Liu~2 小时前
策略模式 vs 适配器模式
java·spring boot·适配器模式·策略模式
direction__2 小时前
Java Main无法初始化主类的原因与解决方法(VsCode工具)
java·vscode
帧栈2 小时前
开发避坑指南(29):微信昵称特殊字符存储异常修复方案
java·mysql
每天的每一天2 小时前
面试可能问到的问题思考-Redis
java
青云交3 小时前
Java 大视界 -- Java 大数据在智能安防人脸识别系统中的活体检测与防伪技术应用
java·大数据·生成对抗网络·人脸识别·智能安防·防伪技术·活体测试
学习至死qaq3 小时前
信创产品TongLinkQ安装及springboot2整合使用
java·东方通·tonglinkq
我崽不熬夜3 小时前
Java中基本的输入输出(I/O)操作:你知道如何处理文件吗?
java·后端·java ee
我崽不熬夜3 小时前
Java的异常处理机制:如何优雅地捕获和抛出异常?
java·后端·java ee
Slaughter信仰3 小时前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第二章知识点问答(21题)
java·开发语言·jvm