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; // 强制类型转换
    }
}
相关推荐
东方芷兰19 分钟前
JavaWeb 课堂笔记 —— 03 Vue
java·前端·javascript·vue.js·笔记
TT哇43 分钟前
【前缀和】矩阵区域和(medium)
java·线性代数·算法·矩阵
JoshuaGraham1 小时前
Java 并发-newFixedThreadPool
java·开发语言
darkchink1 小时前
[LevelDB]Block系统内幕解析-元数据块(Meta Block)&元数据索引块(MetaIndex Block)&索引块(Index Block)
android·java·服务器·c语言·数据库·c++·分布式
不吃酸的柠檬1 小时前
如何在idea中新建一个项目
java·ide·intellij-idea
程序员鱼皮1 小时前
2025全新 Java 面经:字节飞书实习一面真实复盘,附答案整理+ Java 题库!
java·后端·面试
无名之逆1 小时前
[特殊字符] 超轻高性能的 Rust HTTP 服务器 —— Hyperlane [特殊字符][特殊字符]
java·服务器·开发语言·前端·网络·http·rust
穷儒公羊2 小时前
第一部分——Docker篇 第三章 构建自定义镜像
java·运维·后端·学习·docker·云原生·容器
archko2 小时前
telophoto源码查看记录 二
java·开发语言