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

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

算术运算符

算术运算符用于整型和浮点型数据的运算,包括加、减、乘、除。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. HDU-4513-完美队形2(Manacher变形)

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=4513 题意: 吉哥又想出了一个新的完美队形游戏! 假设有n个人按顺序站在他的面前,他们的身高分别是h[1 ...

  2. 服务消费(LoadBalancerClient、Ribbon、Feign)

    转自:https://www.jianshu.com/p/562045489d9d 4.1使用LoadBalancerClient 在Spring Cloud Commons中提供了大量的与服务治理相 ...

  3. 2019 Red PCB KESS V5.017:支持140协议

    2019红色PCB KESS V5.017 是一种流行的汽车ECU的编程器.这里分享一下这个设备的信息. KESS V2介绍: 型号名称:KESS V2 Master软件版本:V2.47(最新)固件版 ...

  4. Xhorse Condor XC-Mini Plus回顾

    Condor是Xhorse生产的最新型电子钥匙切割机.该机器在激光,圆柱和Tibbe键上具有出色的切割性能,几乎可以复制,切割,编码和解码任何汽车钥匙! Condor XC-MINI Plus的亮点: ...

  5. [bx]和loop

    1.关于[bx] 1)[bx]用来表示取寄存器bx中的值作为偏移地址: 段地址保存在段寄存器ds中: 例如:将 2000:1000 处的数据保存到寄存器ax mov ax,2000 mov ds,ax ...

  6. pandas优化

    目录 前言 使用Datetime数据节省时间 pandas数据的循环操作 使用itertuples() 和iterrows() 循环 Pandas的 .apply()方法 矢量化操作:使用.isin( ...

  7. Android_(控件)使用ImageView简单实现图片翻转

    效果图 1)可以把图像的id存放数组中,利用setImageResource()或setImageDrawable()方法(放在数组中便于循环) 2)已经是第一张图像时,再点击“上一页”,应Toast ...

  8. Android_activity实现一个简单的新建联系表

    项目展示: 第一个Activity用于显示联系人信息 第二个Activity输入联系人信息 要求: 运行“新建联系人”程序,结果如下图所示: 点击“新建联系人”按钮,打开输入信息界面并输入姓名.公司. ...

  9. python3中的heapq模块使用

    heapq-堆排序算法 heapq实现了一个适合与Python的列表一起使用的最小堆排序算法. 二叉树 树中每个节点至多有两个子节点 满二叉树 树中除了叶子节点,每个节点都有两个子节点 什么是完全二叉 ...

  10. cha[] strrev(char[])

    反转字符串  保留在原函数中