Java中的运算符有哪些详解

 更新时间:2024年10月28日 10:03:36   作者:y2508  
这篇文章主要给大家介绍了关于Java中运算符有哪些的相关资料,包括算术运算符、关系运算符、逻辑运算符、位运算符、增量运算符和自增/自减运算符,文中通过代码介绍的非常详细,需要的朋友可以参考下

前言:

在Java编程中,运算符是用于执行各种计算和操作的重要元素。它们使得我们能够对数据进行处理、比较和组合,从而实现复杂的逻辑。

一、算术运算符

算术运算符用于执行基本的数学运算,如加法、减法、乘法和除法。以下是常见的算术运算符:

  •  +  :加法运算符,用于将两个操作数相加。
  •  -  :减法运算符,用于从第一个操作数中减去第二个操作数。
  •  *  :乘法运算符,用于将两个操作数相乘。
  •  /  :除法运算符,用于将第一个操作数除以第二个操作数。需要注意的是,当两个整数相除时,             结果会舍去小数部分。
  •  %  :取模运算符,返回除法运算的余数。
public class Main {
    public static void main(String[] args) {
        int a=10;
        int b=3;
        System.out.println(a+b);  //13
        System.out.println(a-b);  //7
        System.out.println(a*b);  //30
        System.out.println(a/b);  //3
        System.out.println(a%b);  //1
    }
}

注意事项:

1.都是二元运算符,使用时必须要有左右两个操作数

2.int / int 结果还是int类型,而且会向下取整

3.做除法和取模时,右操作数不能为0

4.% 不仅可以对整型取模,也可以对double类型取模,但是没有意义,一般都是对整型取模的

5.两侧操作数类型不一致时,向类型大的提升

二、关系运算符

关系运算符用于比较两个操作数之间的关系,返回一个布尔值( true  或  false )。常见的关系运算符有:

  •  ==  :检查两个操作数是否相等。
  •  !=  :检查两个操作数是否不相等。
  •  <  :检查第一个操作数是否小于第二个操作数。
  •  >  :检查第一个操作数是否大于第二个操作数。
  •  <=  :检查第一个操作数是否小于或等于第二个操作数。
  •  >=  :检查第一个操作数是否大于或等于第二个操作数。
public class Main {
    public static void main(String[] args) {
        int a=10;
        int b=30;
        System.out.println(a == b);
        System.out.println(a != b);
        System.out.println(a > b);
        System.out.println(a < b);
        System.out.println(a >= b);
        System.out.println(a <= b);

    }
}

注意:当需要多次判断时,不能连着写,比如:3 < a < 5,Java程序与数学中是有区别的

三、逻辑运算符

逻辑运算符用于组合多个布尔表达式,以实现更复杂的逻辑判断。常见的逻辑运算符包括:

3.1 &&  :逻辑与运算符

当两个操作数都为  true  时,结果为  true ,否则为  false 。

public class Main {
    public static void main(String[] args) {
        int a=2;
        int b=3;
        System.out.println(a == 2 && b == 3);
        System.out.println(a == 2 && b == 1);
        System.out.println(a == 1 && b == 3);
        System.out.println(a == 1 && b == 1);

    }
}

3.2 ||  :逻辑或运算符

当至少一个操作数为  true  时,结果为  true ,只有当两个操作数都为  false  时,结果才为  false 。

public class Main {
    public static void main(String[] args) {
        int a=2;
        int b=3;
        System.out.println(a == 2 || b == 3);
        System.out.println(a == 2 || b == 1);
        System.out.println(a == 1 || b == 3);
        System.out.println(a == 1 || b == 1);

    }
}

3.3  !  :逻辑非运算符

用于反转操作数的布尔值。

public class Main {
    public static void main(String[] args) {
        int a=2;
        System.out.println(!(a == 2));
        System.out.println(!(a == 3));
        
    }
}

四、位运算符

位运算符用于对操作数的二进制位进行操作。这些运算符在处理底层数据和优化性能时有时很有用。常见的位运算符有:

4.1 &  :按位与运算符

如果两个二进制位都是 1, 则结果为 1, 否则结果为 0。

public class Main {
    public static void main(String[] args) {
        int a=5;
        int b=10;
        System.out.println(a&b);
    }
}
// 00000000 00000000 00000000 00000101 -----5
                                      &
// 00000000 00000000 00000000 00001010 -----10
//---------------------------------------------
// 00000000 00000000 00000000 00000000 -----0
                                      

4.2 |  :按位或运算符

如果两个二进制位都是 0, 则结果为 0, 否则结果为 1。

public class Main {
    public static void main(String[] args) {
        int a=5;
        int b=10;
        System.out.println(a|b);
    }
}
// 00000000 00000000 00000000 00000101 -----5
                                      |
// 00000000 00000000 00000000 00001010 -----10
//---------------------------------------------
// 00000000 00000000 00000000 00001111 -----15
                                      

4.3 ^  :按位异或运算符

 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1。

public class Main {
    public static void main(String[] args) {
        int a=5;
        int b=10;
        System.out.println(a^b);
    }
}
// 00000000 00000000 00000000 00000101 -----5
                                      ^
// 00000000 00000000 00000000 00001010 -----10
//---------------------------------------------
// 00000000 00000000 00000000 00001111 -----15
                                      

注意:如果两个数相同,则异或的结果为0

4.4  ~  :按位取反运算符

反转操作数的每一位。

public class Main {
    public static void main(String[] args) {
        int a=0xb;
        System.out.printf("%x\n",~a);
    }
}
// 00000000 00000000 00000000 00001011
//                                   ~
------------------------------------------
// 1111 1111 1111 1111 1111 1111 1111 0100
//   f     f    f    f    f    f    f    4 
                                      

注意:

0x 前缀的数字为 十六进制 数字. 十六进制可以看成是二进制的简化表示方式. 一个十六进制数字对应 4 个二进制位.

0xb 表示 10 进制的 11, 也就是二进制的 1011

printf 能够格式化输出内容, %x 表示按照十六进制输出.

\n 表示换行符

4.5 <<  :左移运算符

将操作数的二进制位向左移动指定的位数。

public class Main {
    public static void main(String[] args) {
        int a=10;
        System.out.println(a<<1);
    }
}
// 00000000 00000000 00000000 00001010
//                                     <<
// --------------------------------------
// 00000000 00000000 00000000 00010100 -----20

左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方

4.6 >>  :右移运算符

将操作数的二进制位向右移动指定的位数,正数右移时高位补 0,负数右移时高位补 1(算术右移)。

public class Main {
    public static void main(String[] args) {
        int a=10;
        System.out.println(a<<1);
    }
}
// 00000000 00000000 00000000 00001010
//                                     >>
// --------------------------------------
// 00000000 00000000 00000000 00000101 -----5

右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.

五、增量运算符

例如  += 、 -= 、 *= 、 /=  等,该种类型运算符操作完成后,会将操纵的结果赋值给左操作数。

int a=10;       
System.out.println(a+=2);//相当于a=a+2 //12
int a=10;
System.out.println(a-=2);//相当于a=a-2 //8
int a=10;
System.out.println(a*=2);//相当于a=a*2  20
int a=10;
System.out.println(a/=2);//相当于a=a/2   5
int a=10;
System.out.println(a%=2);//相当于a=a%2   0

注意:只有变量才能使用该运算符,常量不能使用

六、自增/自减运算符 ++ --

++是自增1,--是自减1

前置++先++再使用,后置++先使用后++,前置--先--再使用,后置--先使用后--

总结:

正确理解和熟练运用这些运算符是编写高效和准确 Java 代码的基础。

到此这篇关于Java中的运算符有哪些的文章就介绍到这了,更多相关Java中运算符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java初级必看的数据类型与常量变量知识点

    Java初级必看的数据类型与常量变量知识点

    这篇文章主要给大家介绍了关于Java初级必看的数据类型与常量变量知识点的相关资料,需要的朋友可以参考下
    2023-11-11
  • java 中归并排序算法详解

    java 中归并排序算法详解

    这篇文章主要介绍了java 中归并排序算法详解的相关资料,归并排序算法又称为合并排序算法,是一种时间复杂度为O(N logN)的排序算法,因而其在平常生活工作中应用非常广泛,需要的朋友可以参考下
    2017-09-09
  • 2020 IDEA安装教程与激活(idea2020激活码)

    2020 IDEA安装教程与激活(idea2020激活码)

    这篇文章主要介绍了2020 IDEA安装教程与激活(idea2020激活码),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • 使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

    使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

    在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析和提取JSON中的特定字段都是开发人员需要掌握的基本技能,本文将以一个实际案例为例,详细介绍如何使用Java解析JSON数据并提取其中的mailNo字段
    2025-01-01
  • Springboot2整合knife4j过程解析

    Springboot2整合knife4j过程解析

    这篇文章主要介绍了Springboot2整合knife4j过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • maven package后Idea项目中找不到target文件的解决

    maven package后Idea项目中找不到target文件的解决

    在Idea中执行mavenpackage打包后,target文件不显示,点击「ShowinExplore」可以在本地文件夹中查到,解决方法:在Idea的Maven工具窗口中,右键点击项目,选择Reimport,刷新项目即可
    2024-11-11
  • 你知道Java判断字符串是否为数字的多种方式吗

    你知道Java判断字符串是否为数字的多种方式吗

    在编程的时候经常遇到要判断一个字符串中的字符是否是数字(0-9),所以下面这篇文章主要给大家介绍了关于Java判断字符串是否为数字的多种方式,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • java中将一个实体类复制到另一个实体类的3种方法示例

    java中将一个实体类复制到另一个实体类的3种方法示例

    这篇文章主要给大家介绍了关于java中将一个实体类复制到另一个实体类的3种方法,所谓实体类就是一个拥有Set和Get方法的类,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • 解读.idea文件的使用及说明

    解读.idea文件的使用及说明

    文章介绍了IntelliJ IDEA项目中的.idea文件夹及其作用,包括编译配置、工作空间配置、项目标识文件、编码配置、jar包信息以及插件配置等,同时,文章提醒在版本控制时应排除.idea文件夹,以避免版本冲突
    2025-01-01
  • Spring @bean和@component注解区别

    Spring @bean和@component注解区别

    本文主要介绍了Spring @bean和@component注解区别,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01

最新评论