Java编程基础元素-运算符

 更新时间:2022年01月26日 16:09:53   作者:码农洞见   
这篇文章主要介绍了Java编程基础元素-运算符,运算符就是在用变量或常量进行运算时,经常需要用到的运算符,Java 提供了丰富的运算符,可分为算术运算符、关系运算符、逻辑运算符和位运算符,下面来看具体的内容介绍吧

1 前言

运算符就是在用变量或常量进行运算时,经常需要用到的运算符,Java 提供了丰富的运算符,可分为4类:算术运算符、关系运算符、逻辑运算符和位运算符。

2 算术运算符

2.1 四则运算

算术运算符的用途类似一般数学运算中的加(+)、减(-)、乘(×)和除(/)四则运算,是经常使用的数学运算符。这些算术运算符在Java语言中的用法及功能与它们在传统的数学中的用法及功能相同。四则运算符和数学上的功能一模一样。而求余数运算符“%”用于计算两数相除后的余数,这个运算要求参与运算的两个操作数都必须是整数类型。

public static void main(String[] args) {
    int a = 13+5;
    int b = 19-2;
    int c = 3*5;
    int d = 20/2;
    System.out.println("a="+a);
    System.out.println("b="+b);
    System.out.println("c="+c);
    System.out.println("d="+d);
}

输出结果:

a=18
b=17
c=15
d=10

2.2 字符串运算符

不过,我们要注意的是加法运算符,在Java中,它除了可以执行数值加的运算,还具有“字符串串接”的功能。

public static void main(String[] args) {
    int x = 6;
    int y = 9;
    String z = "xy";
    System.out.println(z + x + y);
}

输出结果:

xy69

2.3 一元运算符

对于很多表达式而言,运算符前后都会有操作数。但有一类操作符比较特别,它只需要一个操作数。这类运算符称为一元运算符。常见的一元运算符有:+(正号)、 -(负号)、++(自增)、(–)自减

一元减号可以得到数据的负值。一元加号的作用相反,不过它唯一能影响的就是把较小的数值类型自动转换为 int 类型。

public static void main(String[] args) {
    int x = +5;
    int y = -3;
    x++;
    y--;
}

输出结果:

x=6
y=-4

3 关系运算符

关系运算符会通过产生一个布尔(boolean)结果来表示操作数之间的关系。如果关系为真,则结果为 true,如果关系为假,则结果为 false。常见的关系运算符有:==(等于)、!=(不等于)<(小于)、>(大于)、<=(小于等于)和>=(大于等于)

public static void main(String[] args) {
    int a = 10;
    int b = 11;
    boolean result = a == b;
    System.out.println(result);
}

输出结果:

false

4 逻辑运算符

每个逻辑运算符根据参数的逻辑关系生成布尔值 true 或 false。常见的逻辑运算符有3个,即与(&&)、或(||)、非(!)

public static void main(String[] args) {
    boolean a = true;
    int b = 0;
    boolean result = a || b++>0;
    System.out.println(result);    
}

输出结果:

true

5 位运算符

位运算符允许我们操作一个整型数字中的单个二进制位。位运算符会对两个整数对应的位执行布尔代数,从而产生结果。位运算符有&(按位与)、|(按位或)、^(按位异或)、<<(左移)、>>(右移)。

左移运算符(<<)规则

按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。

语法格式:需要移位的数字 << 移位的次数。例如: 3 << 2,则是将数字3左移2位

计算过程:首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最后在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100,则转换为十进制是12。

右移运算符(>>)规则:

按二进制形式把所有的数字向右移动对应位移位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。

语法格式:需要移位的数字 >> 移位的次数。例如11 >> 2,则是将数字11右移2位

计算过程:

11的二进制形式为:0000 0000 0000 0000 0000 0000 0000 1011,然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 0010。转换为十进制是2。

6 码农洞见

6.1 运算符思维导图

6.2 运算符优先级

运算符的优先级决定了存在多个运算符时一个表达式各部分的运算顺序。Java 对运算顺序作出了特别的规定。其中,最简单的规则就是乘法和除法在加法和减法之前完成。程序员经常都会忘记其他优先级规则,所以应该用括号明确规定运算顺序。运算符的优先顺序:

  • 分隔符: [] () ; ,
  • 从右到左结合: ++ – + - ~ !
  • 从左到右结合: * / %
  • 从左到右结合: + -
  • 从左到右结合: << >> >>>
  • 从左到右结合: < > <= >= 
  • 从左到右结合: == !=
  • 从左到右结合: &
  • 从左到右结合: ^
  • 从左到右结合: |
  • 从左到右结合: &&
  • 从左到右结合: ||
  • 从右到左结合: ?:
  • 从右到左结合: = *= /= %= += -=  <<=  >>=  >>>= &= ^= |=

同样优先级的运算符是从左到右计算还是从右到左计算称为运算符的结合性。

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

相关文章

  • jpa使用注解生成表时无外键问题及解决

    jpa使用注解生成表时无外键问题及解决

    这篇文章主要介绍了jpa使用注解生成表时无外键问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • PowerJob的TransportServiceAware工作流程源码解读

    PowerJob的TransportServiceAware工作流程源码解读

    这篇文章主要介绍了PowerJob的TransportServiceAware工作流程源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 关于泛型擦除问题的解决--Mybatis查询类型转换

    关于泛型擦除问题的解决--Mybatis查询类型转换

    这篇文章主要介绍了关于泛型擦除问题的解决--Mybatis查询类型转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Spring中配置Transaction与不配置的区别及说明

    Spring中配置Transaction与不配置的区别及说明

    这篇文章主要介绍了Spring中配置Transaction与不配置的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • java统计字符串单词个数的方法解析

    java统计字符串单词个数的方法解析

    在一些项目中可能需要对一段字符串中的单词进行统计,本文在这里分享了一个简单的demo,有需要的朋友可以拿去看一下
    2017-01-01
  • Java线程和操作系统线程的关系解读

    Java线程和操作系统线程的关系解读

    这篇文章主要介绍了Java线程和操作系统线程的关系解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 深入解析JVM之内存结构及字符串常量池(推荐)

    深入解析JVM之内存结构及字符串常量池(推荐)

    Java作为一种平台无关性的语言,其主要依靠于Java虚拟机——JVM,接下来通过本文给大家介绍JVM之内存结构及字符串常量池的相关知识,需要的朋友可以参考下
    2020-07-07
  • java连接FTP服务器图文教程

    java连接FTP服务器图文教程

    这篇文章主要给大家介绍了关于java连接FTP服务器的相关资料,Ftp是一种常见的文件存储服务器,在很多的项目中都有使用,方便存储各种格式的文件,使用java连接ftp文件服务器也是常用的工具类,需要的朋友可以参考下
    2023-08-08
  • java中的基础运算符

    java中的基础运算符

    这篇文章主要介绍了Java基本数据类型和运算符,结合实例形式详细分析了java基本数据类型、数据类型转换、算术运算符、逻辑运算符等相关原理与操作技巧,需要的朋友可以参考下
    2021-08-08
  • 关于springboot使用rocketmq RocketMQMessageListener参数问题

    关于springboot使用rocketmq RocketMQMessageListener参数问题

    这篇文章主要介绍了springboot使用rocketmq RocketMQMessageListener参数问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值需要的朋友可以参考下
    2022-11-11

最新评论