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

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

算术运算符

算术运算符用于整型和浮点型数据的运算,包括加、减、乘、除。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 6076 Security Check

    题 OvO http://acm.hdu.edu.cn/showproblem.php?pid=6076 2017 Multi-University Training Contest - Team 4 ...

  2. javaScript高级3笔记2

    DOM0级事件 <img src = "../..."  onclick = "function()" />  // 处理事件 elment.onc ...

  3. [HEOI2016&TJOI2016] 排序(线段树)

    4552: [Tjoi2016&Heoi2016]排序 Time Limit: 60 Sec  Memory Limit: 256 MBSubmit: 2703  Solved: 1386[S ...

  4. rename、remove

    /*** remove.c ***/ #include<stdio.h> int main() { remove("./b.txt"); } 运行结果: ubuntu1 ...

  5. Ubuntu下的redis安装过程

    Redis make test Errors? - Stack Overflow  https://stackoverflow.com/questions/48425998/redis-make-te ...

  6. Mysql模拟故障恢复案例过程

    一.数据库全备,全备脚本如下: [root@leader script]# cat bak_all.sh #!/bin/bash#Date: 2019-12-08#Author: chan#Mail: ...

  7. 微信小程序_(校园视)开发用户注册登陆

    微信小程序_(校园视) 开发用户注册登陆 传送门 微信小程序_(校园视) 开发上传视频业务 传送门 微信小程序_(校园视) 开发视频的展示页-上 传送门 微信小程序_(校园视) 开发视频的展示页-下 ...

  8. R-aggregate()

    概述 aggregate函数应该是数据处理中常用到的函数,简单说有点类似sql语言中的group by,可以按照要求把数据打组聚合,然后对聚合以后的数据进行加和.求平均等各种操作. x=data.fr ...

  9. IE 不兼容 console 关键字

    如果在JS文件中写了console.log()方法,在IE下打开 开发者工具就没问题,不打开就有问题js 报错 不执行等等 ...... (IE这都是什么鬼!!),百度过后的解决方法如下: 好吧,这其 ...

  10. LeetCode 109. 有序链表转换二叉搜索树(Convert Sorted List to Binary Search Tree)

    题目描述 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1. 示例: 给定的有序链表: ...