Java提供了丰富的运算符,如算术运算符、关系运算符、逻辑运算符、位运算符等等。Java的表达式就是用运算符连接起来的符合Java规则的式子。运算符的优先级决定了表达式中运算执行的先后顺序。在编写程序时尽量的使用括号()运算符号来实现想要的运算次序,以免产生难以阅读或含糊不清的计算顺序。运算符的结合性决定了并列的相同级别运算符的先后顺序。

算术运算符

1.加减运算符:  +,-

加减运算符是二目运算符;加减运算符的结合方向是从左到右;加减运算符的操作元是整型或浮点型数据,加减运算符的优先级是4级。

2.乘、除和求余运算符: *,/,%

以上运算符是二目运算符,结合方向是从左到右,乘、除和求余运算符的操作元是整型或浮点型数据。运算符的优先级是3级。

3.算术表达式

用算术符号和括号连接起来的符合java语法规则的式子,称为算术表达式

4.自增自减运算符:++,--

是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。作用是使变量的值增1或减1,如:

++x(--x)表示在使用x之前,先使x的值增(减)1。

x++(x--)表示在使用x之后,使x的值增(减)1。

 

运算精度

精度从“低”到“高”排列的顺序是:

byte  short  char  int  long  float  double

Java在计算算术表达式的值时,使用下列计算精度规则:

1.如果表达式中有双精度浮点数(double型数据),则按双精度进行运算。

2.如果表达式中最高精度是单精度浮点数(float型数据),则按单精度进行运算。

3.如果表达式中最高精度是long型整数,则按long精度进行运算。

4.如果表达式中最高精度低于int型整数,则按int精度进行运算。

关系运算符

关系运算符是二目运算符,用来比较两个值的关系。关系运算符的运算结果是boolean型,当运算符对应的关系成立时,运算结果是true,否则是false。

逻辑运算符

逻辑运算符包括:&&,||,!

其中&&、||为二目运算符,实现逻辑与、逻辑或。

!为单目运算符实现逻辑非。

逻辑运算符的操作元必须是boolean型数据,逻辑运算符可以用来连接关系表达式。

位运算符

在实际Java中位运算符用的比较少

两个整型数据实施位运算,即对两个整型数据对应的位进行运算得到一个新的整型数据。

1.按位与”运算

“按位与”运算符“&”是二目运算符。

2.按位或”运算

“按位或”运算符:“|”是二目运算符。

3.按位非”运算

“按位非”运算符:“~”是单目运算符。

4.按位异或”运算

“按位异或”运算符:“^”是二目运算符。

其他

1、赋值运算符和赋值表达式:=

赋值运算符是二目运算符,左面的操作元必须是变量,不能是常量或表达式。

赋值运算符的优先级较低,是14级,结合方向右到左。

赋值表达式的值就是“=”左面变量的值。

注意:不要将赋值运算符“=”与关系运算符“==”混淆。

2、instanceof运算符

instanceof 运算符是二目运算符,左面的操作元是一个对象;右面是一个类。当左面的对象是右面的类或子类创建的对象时,该运算符运算的结果是true ,否则是false。

原文链接:http://www.maiziedu.com/wiki/java/operator/

Java语言常用的运算符和表达式详解的更多相关文章

  1. JAVA语言中的运算符和表达式

    JAVA——运算符 按运算符要求的运算符个数可分为一元.二元.三元运算符: 一元运算符有一个操作数:如正数或者负数前面的“+”.“—”,和自增“++”.自减“- -”. 二元运算符有两个操作数:如除法 ...

  2. 使用java语言实现一个动态数组(详解)(数据结构)

    废话不多说,上代码 1.从类名开始(我真是太贴心了) public class Array<E> 首先数组类需要带有泛型,这个不多说.需要注意的是在java中,数组只能存放同一个类型的. ...

  3. Java中常用的运算符

    运算符是一种“功能”符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运算符 Java 中常 ...

  4. Java学习笔记五:Java中常用的运算符

    Java中常用的运算符 运算符是一种“功能”符号,用以通知 Java 进行相关的运算.譬如,我们需要将变量 score 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作. Java ...

  5. Java 8 Lambda 表达式详解

    一.Java 8 Lambda 表达式了解 参考:Java 8 Lambda 表达式 | 菜鸟教程 1.1 介绍: Lambda 表达式,也可称为闭包,是推动 Java 8 发布的最重要新特性. La ...

  6. C语言基础知识-运算符与表达式

    C语言基础知识-运算符与表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用运算符分类 1>.算术运算符 用于处理四则运算. 2>.赋值运算符 用于将表达式的 ...

  7. JAVA8之lambda表达式详解

    原文:http://blog.csdn.net/jinzhencs/article/details/50748202 lambda表达式详解 一.问题 1.什么是lambda表达式? 2.lambda ...

  8. Java工程师 基础+实战 完整路线图(详解版)

    Java工程师 基础+实战 完整路线图(详解版)   Java 基础 Java 是一门纯粹的面向对象的编程语言,所以除了基础语法之外,必须得弄懂它的 oop 特性:封装.继承.多态.此外还有泛型.反射 ...

  9. Java web 入门知识 及HTTP协议详解

     Java  web  入门知识 及HTTP协议详解 WEB入门 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资 ...

随机推荐

  1. 【ntp时间校准配置】

    Ntp(网络时间协议)是一种可以通过TCP/IP网络传播,其架构模式可分为C/S(客户端/服务器),PTP(对等),broatcast(广播), mutilbrocast(组播),无论在任何系统或设备 ...

  2. 五、RegExp(正则表达式)篇

    正则表达式,只用记住: 0./pattern/igm   i--不区分大小写 g--找到所有相匹配的 m--多行匹配  可以只写其中一个  ps:/pattern/i (无视大小写) 1." ...

  3. 深度解析JQuery Dom元素操作技巧

    深度解析JQuery Dom元素操作技巧 DOM是一种与浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准组件,这篇文章给大家介绍了JQuery dom元素操作方法,写的十分的全面细 ...

  4. py3.7.1下pyinstaller 的安装及打包 坑

    实在无语了,写了个小程序,用pyinstaller打包,运行就出现这个pip install pywin32-ctypes.明明全部都已经安装了啊. 解决办法: 不要在工程设置里安装pyinstall ...

  5. C语言数据结构(二)

    算法和算法的衡量 一.算法 算法是为了解决某类问题而规定的一个有限长的操作序列.一个算法必须满足以下五个重要特性: 1.有穷性   对于任意一组合法输入值,在执行又穷步骤之后一定能结束,即:算法中的每 ...

  6. AVL重平衡细节——插入

    话说这个系列鸽了好久,之前在准备语言考试,就没管博客了,现在暑假咱们继续上路! 每当我们进行一次插入之后,整棵AVL树的平衡性就有可能发生改变,为了控制整棵树的高度,我们需要通过一系列变换(重平衡)来 ...

  7. myeclipse 安装pydev插件后svn插件失效

    为了将python的IDE集成到myeclipse,按照教程安装了myeclipse插件pydev插件,但是按照完后发现,先前安装的svn不见了,解决办法如下: 1. 关闭myeclipse, 2. ...

  8. 关于springboot 打包问题 jar包和 war包

    起因:项目开发完成   需要打包部署了  发现自己不会打包 那么开始网上学习打包? 那么怎么来打包那? 我们以前没有采用springboot 时候我们都是直接将项目打成war包形式  然后放到tomc ...

  9. Hibernate-ORM:12.Hibernate中的多对多关联关系

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客将讲述Hibernate中的多对多关联关系的操作,准备的篇幅较少,望海涵 一,讲述多对多 多对多的关联 ...

  10. os模块3

    os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curd ...