JAVA 运算符归纳总结

JAVA 运算符归纳总结

一、算术运算符

运算符 说明 示例
+ 加法/字符串连接 1 + 1 = 2,"a" + "b"
- 减法 2 - 1 = 1
* 乘法 3 * 2 = 6
/ 除法 5 / 2 = 2
% 取模(余数) 5 % 2 = 1
++ 自增 i++,++i
-- 自减 i--,--i
  • 示例说明:
// 加法/字符串连接
int a = 1, b = 2;
String str1 = "Hello", str2 = "Java";
System.out.println(a + b); // 输出结果为 3
System.out.println(str1 + str2); // 输出结果为 "HelloJava"

// 取模(余数)
int c = 5, d =2;
System.out.println(c % d); // 输出结果为 1

// 自增/自减
int i = 1;
System.out.println(i++); // 输出结果为 1,i 的值变为2
System.out.println(++i); // 输出结果为 3,i 的值为3

二、关系运算符

运算符 说明 示例
== 判断两个值是否相等 1 == 1 结果为 true
!= 判断两个值是否不相等 1 != 2 结果为 true
> 大于 3 > 2 结果为 true
< 小于 2 < 3 结果为 true
>= 大于等于 3 >= 3 结果为 true,2 >= 3 结果为false
<= 小于等于 3 <= 3 结果为 true,3 <= 2 结果为false
  • 示例说明:
int a = 1, b = 2, c = 3;
System.out.println(a == b); // 输出结果为 false
System.out.println(b != c); // 输出结果为 true
System.out.println(c > b); // 输出结果为 true
System.out.println(b < c); // 输出结果为 true
System.out.println(c >= a); // 输出结果为 true
System.out.println(a <= b); // 输出结果为 true

三、逻辑运算符

运算符 说明 示例
&& 逻辑与,当且仅当两个表达式都为 true 时才为 true true && false 结果为false
|| 逻辑或,当两个表达式有一个为 true 时就为 true true || false 结果为 true
! 逻辑非,取反 !true 结果为 false
  • 示例说明:
boolean a = true, b = false;
System.out.println(a && b); // 输出结果为 false
System.out.println(a || b); // 输出结果为 true
System.out.println(!a); // 输出结果为 false

四、赋值运算符

运算符 说明 示例
= 等于(赋值) a = 1
+= 加等于 a += 1 等价于 a = a + 1
-= 减等于 a -= 1 等价于 a = a - 1
*= 乘等于 a *= 2 等价于 a = a * 2
/= 除等于 a /= 2 等价于 a = a / 2
%= 模等于 a %= 2 等价于 a = a % 2
  • 示例说明:
int a = 1, b = 2;
a += b; // 相当于 a = a + b,a 的值变为 3
a *= b; // 相当于 a = a * b,a 的值变为 6

五、位运算符

位运算符操作的是二进制数,因此需要将十进制数转换成二进制数进行操作。

运算符 说明 示例
& 按位与,两个二进制数相应位上的数字都为 1 才为 1 3 & 5 = 1
| 按位或,两个二进制数相应位上的数字有一个为 1 就为 1 3 | 5 = 7
^ 按位异或,两个二进制数相应位上数字不相同才为 1 3 ^ 5 = 6
~ 按位取反,0 变为 1,1 变为 0 ~3 = -4
<< 左移,将二进制数向左移若干位(高位丢弃,低位补 0) 3 << 1 = 6
>> 右移,将二进制数向右移若干位(低位丢弃,高位补符号位) -3 >> 1 = -2
>>> 无符号右移,将二进制数向右移若干位,高位补 0 -3 >>> 1 = 2147483646
  • 示例说明:
int a = 3, b = 5;
System.out.println(a & b); // 输出结果为 1,3 的二进制数为 0011,5 的二进制数为 0101,相应位上数字都为 1 的只有第二位,即十进制数 1
System.out.println(a | b); // 输出结果为 7,3 的二进制数为 0011,5 的二进制数为 0101,相应位上数字为 1 的有第二位和第三位,即十进制数 6+1=7
System.out.println(a ^ b); // 输出结果为 6,3 的二进制数为 0011,5 的二进制数为 0101,相应位上数字不同的只有第一位和第四位,即十进制数 8+2=10,去掉高位为 1 的十进制数 8,得到十进制数 2,即二进制数 0010
System.out.println(~a); // 输出结果为 -4,将 3 的二进制数按位取反得到 1100,转换成十进制数即为 -4
System.out.println(a << 1); // 输出结果为 6,将 3 的二进制数向左移一位得到 0110,即十进制数 6
System.out.println(b >> 1); // 输出结果为 2,将 5 的二进制数向右移一位得到 0010,即十进制数 2
System.out.println(-3 >>> 1); // 输出结果为 2147483646,将 -3 的二进制数向右移一位并补 0 得到 01111111111111111111111111111110,转换成十进制数即为 2147483646

六、其他运算符

1. 条件运算符(三元运算符)

它也称为三元运算符,因为它需要三个操纵数。

运算符 说明 示例
?: 条件运算符 表达式1?表达式2:表达式3
  • 示例说明:
int a = 1, b = 2;
int max = a > b ? a : b; // 判断 a 是否大于 b,如果成立则 max 赋值为 a,如果不成立则 max 赋值为 b
System.out.println(max); // 输出结果为 2

2. instanceof 运算符

instanceof 运算符用于判断一个对象是否是一个类的实例。

  • 示例说明:
class Animal {
}

class Dog extends Animal {
}

class Cat extends Animal {
}

public class Test {
    public static void main(String[] args) {
        Animal animal1 = new Animal();
        Animal animal2 = new Dog();
        Animal animal3 = new Cat();
        boolean b1 = animal1 instanceof Animal;
        boolean b2 = animal2 instanceof Animal;
        boolean b3 = animal3 instanceof Animal;
        System.out.println(b1); // 输出结果为 true
        System.out.println(b2); // 输出结果为 true
        System.out.println(b3); // 输出结果为 true
    }
}

总结

本文介绍了 Java 中常见的运算符,包括算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符、条件运算符、instanceof 运算符等。注意 Java 中运算符的优先级和运算的结果类型,合理运用运算符可以让代码更加简洁和高效。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA 运算符归纳总结 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • struts2自定义MVC框架

    下面我将详细讲解如何自定义一个基于Struts2的MVC框架。 1. 确定项目结构 首先,在项目中,我们需要有一个Controller类来处理请求,并调用对应的Service处理业务逻辑。同时,还要有一个View类负责页面的展示。在这里,我们可以采用MVC的经典分层结构,将不同的代码放在不同的包中: com.example.framework.mvc ├─ …

    Java 2023年5月20日
    00
  • Spring MVC 基于URL的映射规则(注解版)

    简介 在Spring MVC中,我们可以使用注解来定义URL映射规则。这种方式比传统的XML配置更加简洁和灵活。本文将详细介绍Spring MVC基于URL的映射规则(注解版),并提供两个示例说明。 基于URL的映射规则 在Spring MVC中,我们可以使用@RequestMapping注解来定义URL映射规则。以下是一个使用@RequestMapping…

    Java 2023年5月17日
    00
  • 详细讲解Java中的main()方法

    详细讲解Java中的main()方法 什么是main()方法 在Java中,每个可执行程序都必须包含一个名为 main 的方法。main 方法是程序的入口点,是Java程序启动时执行的第一个方法。在Java中,main 方法被定义为 public static void main(String[] args)。这表示 main 方法是公共的(可以从任何地方访…

    Java 2023年5月23日
    00
  • Java中数组的定义与使用详解

    Java中数组的定义与使用详解 什么是数组 数组是一种线性数据结构,包含相同类型的元素,每个元素可以通过下标访问。Java 中的数组属于引用数据类型,可以动态创建并初始化,支持多维数组。 定义数组 1.一维数组 定义一维数组的方式: 数据类型[] 数组名 = new 数据类型[数组长度]; 例如: int[] nums = new int[5]; Strin…

    Java 2023年5月26日
    00
  • 一文搞懂Spring Security异常处理机制

    下面我将详细讲解“一文搞懂Spring Security异常处理机制”的完整攻略。 1. 什么是Spring Security异常处理机制 Spring Security异常处理机制是指Spring Security在运行过程中遇到异常时的处理方式,它是构建Spring Security安全体系的重要部分。Spring Security将异常处理机制交给了一…

    Java 2023年6月3日
    00
  • Python自定义计算时间过滤器实现过程解析

    我来为你讲解一下“Python自定义计算时间过滤器实现过程解析”的完整攻略。 简介 在Python中,我们可以使用过滤器来过滤一些特定的数据,比如时间过滤器。但是在一些特殊的情况下,现有的时间过滤器可能无法满足我们的需求,这时我们就需要自定义一个时间过滤器。 本文将介绍如何在Python中自定义一个计算时间的过滤器,以及如何在Django项目中使用这个自定义…

    Java 2023年5月26日
    00
  • spring data JPA 中的多属性排序方式

    关于spring data JPA中的多属性排序方式,可以参考以下攻略: 1. 前言 在实际应用中,很多时候需要对某个数据实体类的多个属性进行排序,比如员工表中的工号、入职时间、salary等字段。Spring data JPA提供了很方便的方式来同时对多个属性进行排序。 2. 排序方式 在Spring Data JPA中,我们可以使用 OrderBy 注解…

    Java 2023年6月3日
    00
  • 使用Appcan客户端自动更新PHP版本号(全)

    使用 Appcan 客户端自动更新 PHP 版本号需要完成以下几个步骤: 1. 准备工作 1.1. 安装 Appcan 客户端 首先需要在本地安装好 Appcan 客户端,并进行登录操作。如果您已经完成了 Appcan 客户端的安装和登录,则可以直接进入下一个步骤。 1.2. 安装并配置 PHP 在使用 Appcan 客户端自动更新 PHP 版本号之前,需要…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部