表达式由一个以上的运算符和操作数按一定规则组合而成,通常用于完成计算。计算结果一般是一个数值,但也不一定总是数值。用于计算的操作数可能是数值常量、符号常量、变量或其他某种类型的数据。计算和使用表达式的方式,是程序设计的基础。下面重点讨论使用数值运算符并产生数值结果的算术表达式。

重点概念:表达式是运算符和操作数按一定规则构成的组合,用于完成计算。

算术运算符

算术运算符用于整型和浮点型数据的运算,包括加、减、乘、除。Java还提供了另一种算术算:求余运算(%)。求余运算返回第二个操作数除第一个操作数的余数。有时,求余运算符也称为模运算符。求余运算返回值的符号与被除数符号一致,如下表所示。

运算符优先级

运算符可以组合起来形成更复杂的表达式。例如,考虑下面的语句:

result= 14 +8/2

  这条语句首先对赋值语句的整个右边表达式求值,然后将计算结果保存在 result变量中。result的值到底是多少?如果首先执行加法,则 result I中保存的值是11;如果首先执行除法运算,则 result的值为18。运算符求值顺序的不同导致了计算结果的不同。这里会首先执行除法运算,最终结果为18

重点概念:Java遵循一组定义良好的优先级规则,这组规则控制了表达式的求值顺序。

自增和自减运算符

还有两种算术运算符:自增运算符(艹+)和自减运算符(--)。自增运算符将整型和浮点型变量加1,两个加号构成该运算符,不可加入空格分离开。自减运算符与自增运算符类似,不同的只是将整型和浮点型变量减1。这两种运算符只需要一个操作数。下面的语句将 count变量的值增1

count++;

 计算结果存回变量 count。因此,上述语句在功能上等价于下面的语句

count count +1:

  自增运算符和自减运算符可以作用在变量之后(如 count+或 count--),称为后缀形式运算符也可以作用在变量之前(如++count或--count),称为前缀形式运算符。当独立使用在一条语句中时,前缀形式和后缀形式的功能是等价的,即下面两种语句的写法是没有差别的:

  赋值运算符

为了方便性,Java定义了一组赋值运算符,对基本运算符和赋值运算符进行了组合。例如,下面这条使用“+=”运算符的语句:

total +=5

  等价于语句:

total =total +5

  

JAVA -数据类型与表达式---表达式的更多相关文章

  1. [Java] 数据类型, 变量, 运算符, 表达式

    title: [Java] 变量与表达式 你已经学会输出 Hello world 了, 那么现在, 我们来学习关于变量的知识 基本数据类型 在 Java 中, 有 8 种基本的数据类型: 名称 描述 ...

  2. Lambda 表达式,Java中应用Lambda 表达式

    一.Lambda 表达式 简单来说,编程中提到的 lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数. 链接:知乎 先举一个普通的 Python 例 ...

  3. Java代码三级跳——表达式、语句和代码块

    Java代码三级跳—表达式.语句和代码块 表达式(expression):Java中最基本的一个运算.比如一个加法运算表达式.1+2是一个表达式,a+b也是. 语句(statement):类似于平时说 ...

  4. java 8 中lambda表达式学习

    转自 http://blog.csdn.net/renfufei/article/details/24600507 http://www.jdon.com/idea/java/10-example-o ...

  5. Java 终于有 Lambda 表达式啦~Java 8 语言变化——Lambda 表达式和接口类更改【转载】

    原文地址 en cn 下载 Demo Java™ 8 包含一些重要的新的语言功能,为您提供了构建程序的更简单方式.Lambda 表达式 为内联代码块定义一种新语法,其灵活性与匿名内部类一样,但样板文件 ...

  6. Java 8中Lambda表达式默认方法的模板方法模式,你够了解么?

    为了以更简单的术语描述模板方法,考虑这个场景:假设在一个工作流系统中,为了完成任务,有4个任务必须以给定的执行顺序执行.在这4个任务中,不同工作流系统的实现可以根据自身情况自定义任务的执行内容. 模板 ...

  7. Java基础教程(8)--表达式、语句和块

    一.表达式   表达式由变量和运算符组成.下面是一个简单的赋值表达式: a = 0;   表达式都具有运算结果,因为赋值表达式的运算结果是左侧操作数的值,因此上面的表达式将会返回一个0.可以使用简单的 ...

  8. Java数据类型和运算符

    一,数据类型分类(2种) 1. 基本数据类型(3种) 数值型: 整数类型(4种): byte(1字节):范围(-128~127): short(2字节):范围(-32768~32767): int(4 ...

  9. Java数据类型在实际开发中的应用一

    在前边的博文中,我已经介绍了Java核心的容器IO等,现在我来说一下java中的数据类型.在java中,一切东西皆为对象(这句话意思是java中绝大数情况都用对象),极少数不是对象的,也存在与之对应的 ...

  10. java知识点总结--java数据类型

    java中的两大数据类型 1.基本数据类型:也称作内置类型,java语言本身提供的基本数据类型是其他类型(包括java核心类和用户自定义类)的基础 2.引用数据类型:java语言根据基本类型扩展数的其 ...

随机推荐

  1. [Angular 8] Take away: Web Components with Angular Elements: Beyond the Basics

    This post is based on the NG-CONF talk, check the talk by yourself. 1. Dynamiclly add Angular Elemen ...

  2. tomcat下载与安装

    https://www.cnblogs.com/limn/p/9358657.html

  3. JAVA中java.lang.OutOfMemoryError常见的解决方式

    在开发中我们很多人都遇到过内存溢出的情况,其实内存溢出分几种形式: 1.tomcat中java.lang.OutOfMemoryError: PermGen space异常处理(最常见的) 概念大家可 ...

  4. head命令:显示文件开头内容

    head 命令可以显示指定文件前若干行的文件内容,其基本格式如下:head [选项] 文件名 选项: 选项 含义 -n K 这里的 K 表示行数,该选项用来显示文件前 K 行的内容:如果使用 &quo ...

  5. RabbitAdmin

    RabbitAdmin底层实现就是从Spring容器中获取Exchange.Binding.Routingkey以及Queue的@声明然后使用RabbitTemplate的execute方法执行对应的 ...

  6. [c++] C++多态(虚函数和虚继承)

    转自:https://www.jianshu.com/p/02183498a2c2 面向对象的三大特性是封装.继承和多态.多态是非常重要的一个特性,C++多态基于虚函数和虚继承实现,本文将完整挖掘C+ ...

  7. [Ubuntu]更改所有子文件和子目录所有者权限

    https://www.linuxidc.com/Linux/2015-03/114695.htm change mode -> chmod change owner -> chown 1 ...

  8. python-获取程序的路径

    python获取当前路径 import os,sys 使用sys.path[0].sys.argv[0].os.getcwd().os.path.abspath(file).os.path.realp ...

  9. HDU3844Mining Your Own Business

    目测某年HNOI,(其实这个题是2011年的WF,hdu上找到的,HNOI2012那个中文题在bzoj和loj上都有,叫矿场搭建,题意几乎一样,数据比较弱,交这份代码也能A). 先讲题解,然后说一些有 ...

  10. IDEA:Process finished with exit code -1073741819 (0xC0000005)

    出门左转:https://www.cnblogs.com/virgosnail/p/10335224.html