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日

相关文章

  • java servlet过滤器使用示例

    请看下面的详细讲解: Java Servlet 过滤器使用示例 什么是过滤器? 过滤器是用于拦截请求或响应的一种特殊的 Java web 组件,它能够拦截某个请求,进行某些处理(例如:验证、统计等),然后将请求传递给下一个组件或返回响应给客户端。过滤器是一个独立的组件,它可以被任意 web 应用程序重用。 过滤器的工作原理 过滤器在 Servlet 容器中扮…

    Java 2023年5月20日
    00
  • win7 64位系统JDK安装配置环境变量教程

    Win7 64位系统JDK安装配置环境变量教程 本文将详细讲解Win7 64位系统JDK安装配置环境变量的完整攻略,让读者能够快速、准确地完成JDK环境配置。 1. 下载JDK 首先,在Oracle官网上下载JDK安装包。 选择适合Win7 64位的版本,下载到本地。 2. 安装JDK 点击下载好的JDK安装包,按照提示进行安装。 选择安装路径,一般建议安装…

    Java 2023年5月26日
    00
  • Java中的线程池是什么?

    线程池是一种用于处理多线程应用程序的机制,它可以实现线程的复用,避免不必要的线程创建与销毁,提高线程的执行效率和稳定性。在Java中,线程池由java.util.concurrent包提供,它提供了线程池的管理和维护,使得多线程应用程序更加高效和可维护。 Java中的线程池主要由以下四个组件构成: Thread Pool Manager(线程池管理器):用于…

    Java 2023年4月27日
    00
  • Java日期时间与正则表达式超详细整理(适合新手入门)

    Java日期时间与正则表达式都是重要的Java核心知识点,能够帮助开发者实现各种时间日期格式的处理以及字符串匹配等功能。下面就对Java日期时间与正则表达式进行详细讲解。 一、Java日期时间 1.1 日期时间的创建 Java提供了多种创建日期时间的方法,常见的有以下几种: 1.1.1 使用new Date()创建 使用java.util.Date类的默认构…

    Java 2023年5月20日
    00
  • maven打包上传到私有仓库的实现步骤

    下面是maven打包上传到私有仓库的实现步骤: 准备工作 搭建Maven私有仓库:可以使用 Nexus 或者 Sonatype 等 Maven 私有仓库来存储项目的构建包。 在项目 pom.xml 文件中加入仓库配置: <repositories> <repository> <id>my-internal-repo<…

    Java 2023年5月19日
    00
  • Javaweb实现完整个人博客系统流程

    下面是“Javaweb实现完整个人博客系统流程”的完整攻略。 1. 前期准备 1.1 确定需求 在开发博客系统前,需要明确自己的需求方向,比如博客的主题、功能等。可以参考现有的博客系统,以此为基础进行需求收集和分析。 1.2 确定技术方案 开发博客,需要选择相应的技术方案,包括但不限于服务器、数据库、前端框架、后端框架等等。可以参考现有的博客系统,以此为基础…

    Java 2023年5月20日
    00
  • Java kafka如何实现自定义分区类和拦截器

    一、自定义分区 Kafka 提供了默认的分区策略,默认分区策略为DefaultPartitioner。当我们需要实现自定义分区策略时,需要继承Partitioner接口,并重写其中的方法。下面是实现自定义分区的步骤: 实现Partitioner接口 public class CustomPartitioner implements Partitioner {…

    Java 2023年5月20日
    00
  • Win2003服务器安全加固设置--进一步提高服务器安全性

    Win2003服务器安全加固设置–进一步提高服务器安全性 一、基础设置 1.更新安全补丁 定期更新最新的安全补丁,主要包括操作系统、IIS、SQL Server、Exchange等软件,确保系统处于最新的安全状态。 2.修改默认密码 默认密码较易被破解,需要及时修改,建议使用8位以上组合密码,包括大小写字母、数字和符号。 3.关闭不必要服务和端口 关闭不必…

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