JAVA -数据类型与表达式---表达式
表达式由一个以上的运算符和操作数按一定规则组合而成,通常用于完成计算。计算结果一般是一个数值,但也不一定总是数值。用于计算的操作数可能是数值常量、符号常量、变量或其他某种类型的数据。计算和使用表达式的方式,是程序设计的基础。下面重点讨论使用数值运算符并产生数值结果的算术表达式。
重点概念:表达式是运算符和操作数按一定规则构成的组合,用于完成计算。
算术运算符
算术运算符用于整型和浮点型数据的运算,包括加、减、乘、除。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 -数据类型与表达式---表达式的更多相关文章
- [Java] 数据类型, 变量, 运算符, 表达式
title: [Java] 变量与表达式 你已经学会输出 Hello world 了, 那么现在, 我们来学习关于变量的知识 基本数据类型 在 Java 中, 有 8 种基本的数据类型: 名称 描述 ...
- Lambda 表达式,Java中应用Lambda 表达式
一.Lambda 表达式 简单来说,编程中提到的 lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数. 链接:知乎 先举一个普通的 Python 例 ...
- Java代码三级跳——表达式、语句和代码块
Java代码三级跳—表达式.语句和代码块 表达式(expression):Java中最基本的一个运算.比如一个加法运算表达式.1+2是一个表达式,a+b也是. 语句(statement):类似于平时说 ...
- java 8 中lambda表达式学习
转自 http://blog.csdn.net/renfufei/article/details/24600507 http://www.jdon.com/idea/java/10-example-o ...
- Java 终于有 Lambda 表达式啦~Java 8 语言变化——Lambda 表达式和接口类更改【转载】
原文地址 en cn 下载 Demo Java™ 8 包含一些重要的新的语言功能,为您提供了构建程序的更简单方式.Lambda 表达式 为内联代码块定义一种新语法,其灵活性与匿名内部类一样,但样板文件 ...
- Java 8中Lambda表达式默认方法的模板方法模式,你够了解么?
为了以更简单的术语描述模板方法,考虑这个场景:假设在一个工作流系统中,为了完成任务,有4个任务必须以给定的执行顺序执行.在这4个任务中,不同工作流系统的实现可以根据自身情况自定义任务的执行内容. 模板 ...
- Java基础教程(8)--表达式、语句和块
一.表达式 表达式由变量和运算符组成.下面是一个简单的赋值表达式: a = 0; 表达式都具有运算结果,因为赋值表达式的运算结果是左侧操作数的值,因此上面的表达式将会返回一个0.可以使用简单的 ...
- Java数据类型和运算符
一,数据类型分类(2种) 1. 基本数据类型(3种) 数值型: 整数类型(4种): byte(1字节):范围(-128~127): short(2字节):范围(-32768~32767): int(4 ...
- Java数据类型在实际开发中的应用一
在前边的博文中,我已经介绍了Java核心的容器IO等,现在我来说一下java中的数据类型.在java中,一切东西皆为对象(这句话意思是java中绝大数情况都用对象),极少数不是对象的,也存在与之对应的 ...
- java知识点总结--java数据类型
java中的两大数据类型 1.基本数据类型:也称作内置类型,java语言本身提供的基本数据类型是其他类型(包括java核心类和用户自定义类)的基础 2.引用数据类型:java语言根据基本类型扩展数的其 ...
随机推荐
- JAVA之StringUtils工具类
StringUtils 方法的操作对象是 java.lang.String 类型的对象,是对 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String ...
- BZOJ 3173: [Tjoi2013]最长上升子序列 (线段树+BIT)
先用线段树预处理出每个数最终的位置.然后用BIT维护最长上升子序列就行了. 用线段树O(nlogn)O(nlogn)O(nlogn)预处理就直接倒着做,每次删去对应位置的数.具体看代码 CODE #i ...
- 在项目中使用Swagger接口说明
该链接写的内容非常详细: https://blog.csdn.net/xudant/article/details/82856555
- java常见问题 ——编辑报错1
报错1 The method add(CatNode) in the type List<CatNode> is not applicable for the arguments (Str ...
- Hibernate 5 发行组件下载
Hibernate 项目小组提供了一系列发布组合(bundles),这些发布组合发布在 SourceForge 文件发布系统中.这些发布的包有 TGZ 和ZIP 格式. 每一个发布组合包含有 JAR ...
- python测试网站访问速度
# -*- coding: utf-8 -*- # @Author : Felix Wang # @time : 2018/8/13 22:13 # pip3 install pycurl impor ...
- 从输入url到页面加载完成都发生了什么
https://zhuanlan.zhihu.com/p/23155051 参考 一个http请求的过程 简要介绍一下一个http请求的网络传输过程: DNS Lookup先获得URL对应的IP地址( ...
- CentOS7中使用GitBlit搭建自己的Git服务器
1.搭建依赖库 yum install java yum install git yum install -y gcc-c++ curl-devel expat-devel gettext-devel ...
- Laravel 中如何区别 Model 或者是 Builder?
User::where('id',1)->update([]) 和 User::find(1)->update([]) 有异曲同工之效. 额? 当你通过 Laravel 与数据库交 ...
- mvp解读
mvp存在的问题 1.业务复杂时,可能使得Activity变成更加复杂,比如要实现N个IView,然后写更多个模版方法. 2.业务复杂时,各个角色之间通信会变得很冗长和复杂,回调链过长. 3.Pres ...