【java】i++与++i、i--运算
package test; //i++与--i运算
public class test { public static void main(String[] args) {
int b=0;
int i=1;
b=i++ + ++i + --i;
System.out.println("i="+i); //输出i=2
System.out.println("b="+b); //输出b=6
}
}
先要记住这句话:++i ,先自加1,然后再赋值给 b,当 i++ 时先把 i 的值赋给 b 在自加1。--原理一样。从 左 向 右 算(网上很多说法,多测试你就明白了)!
i在自加的时候i的值会马上更新,所有上面的三个 i 数值不一定相同!
运算: b=i++ + ++i + --i;
把它分成三部分看: 一 二 三
b = 1 + 3 + 2
(一)i++ i是先赋值给b 然后自加,初始值为1所以先把1赋给b (二)++i i 在第一部分赋值给b后 i自加1所以此时i等于2,又因为++i,所以先自加1再赋值给b,所以第二部分等于3
(三) --i i在第二部分变成了3,又因为减号在前所以先自减在赋值给b,此时第三部分等于3 i 减 1等于2(i的值不需要看前后的++、--)
然后把它们相加 b=6 i=2
若有不同看法请留言指点!
【java】i++与++i、i--运算的更多相关文章
- Java中的Bigdecimal类型运算
Java中的Bigdecimal类型运算 双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的数进行运算和处理.Java在java.math包中提 供的API类BigD ...
- java中多个数字运算后值不对(失真)处理方法
最近遇到一个bug ,在java里面计算两个数字相减,633011.20-31296.30 得到的结果居然是601714.8999999999,丢失精度了,原来这是Java浮点运算的一个bug. 解决 ...
- java实现开根号的运算
面试的时候,偶然被问到,开根号的实现,虽然给面试官讲解了思路,但是没有实际实现过,今天闲来无事,就把自己的思路写一下,做个笔记. 如果某个数字正好可以开根号为2个整数,例如1,4,9等,那就很简单了. ...
- Java编写能完成复数运算的程序
Java编写能完成复数运算的程序 题目简介: 整体分析: 界面分析: 实验代码: package complex; import java.awt.EventQueue; import javax.s ...
- 关于java中Double类型的运算精度问题
标题 在Java中实现浮点数的精确计算 AYellow(原作) 修改 关键字 Java 浮点数 精确计算 问题的提出:如果我们编译运行下面这个程序会看到什么?publi ...
- 关于java中Double类型的运算精度问题(转)
Java Java double:浮点数:精确计算 public class Test{ public static void main(String args[]){ Syst ...
- Java String类的比较运算
面试题:(多选)以下返回true的有() A. "beijing" == "beijing" B. "beijing".equals(new ...
- java入门学习(十二)运算语句 if switch
这两天在网上做兼职,耽误了些博客见谅哈 欢迎来我的博客:www.taomaipin.com java中的运算语句而且频繁用到的无法就是条件语句和循环语句,包括if,for,while,switch,b ...
- Java的基本数据类型和运算
编码 ASCII--0~127 65-A 97-a 西欧码表---ISO-8859-1---0-255---1个字节 gb2312----0-65535---gbk---2个字节 Unicode编 ...
- Java工具类之——BigDecimal运算封装(包含金额的计算方式)
日常对于金额计算,应该都是用的BigDecimal, 可是苦于没有好的工具类方法,现在贡献一个我正在用的对于数字计算的工具类,项目中就是用的这个,简单粗暴好用,话不多说,代码奉上(该工具类需要引入g ...
随机推荐
- css 常用的绝对定位元素水平垂直居中的方法
两种方法都能够实现: 1. div { height:80%; /*一定要设置高度*/ overflow:hidden;/*建议设置*/ margin: auto; position: absolut ...
- nginx禁止ip登录,只允许域名访问
公司要求,线上solr.kibana要求只能通过域名进行访问,禁止用ip+端口进行登录访问,那么,下面介绍下我是如何实现的 1.禁止ip,允许域名访问 如下图,默认安装好nginx,不让ip方式访问, ...
- EasyUI datagrid 的多条件查询
<script type="text/javascript"> $(function () { $("#dg" ...
- Go 环境配置
1.下载SDK 官网:https://golang.google.cn/ go中文在线文档:https://studygolang.com/pkgdoc 2.配置环境变量 windows使用.msi一 ...
- Python 爬虫 58同城
目标站点需求分析 获取各类产品的名字,地区,时间,价格 涉及的库 BeautifulSoup,requests,time,pymongo 获取各大类产品的链接 获取单页源码 解析单页源码 保存到文件中 ...
- Java——super 与 this 关键字
super 与 this 关键字 super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类. this关键字:指向自己的引用. package ti; public ...
- avalonjs学习笔记之实现一个简单的查询页
官网地址:http://avalonjs.coding.me/ 因为是为了学习js,所以对样式没什么要求,先放效果图: 步骤为:初始页面-------条件查询-------编辑员工1-------保存 ...
- WX支付功能的调用
1.引入js. 2.微信支付的js.此处有的理解不知对不对,是照着老大的例子整改的~ $('.button').click(function () { var giftId = $('.show'). ...
- Flask开发微电影网站(八)
1.后台管理之电影预告管理 1.1 定义电影预告表单 在app的admin目录的forms.py文件中,定义电影预告表单 # 预告表单 class PreviewForm(FlaskForm): ti ...
- mybatis mapper文件里的<set><trim>
简单介绍:翻看以前在学校写的代码,发现那时候有一个sql写的很有意思,用到了 <set>标签,和我现在写的虽然有点差别,但是效果一样 代码: //mapper里的sql <updat ...