JAVA中自增自减运算符(i++与++i的区别)
注意:
自增运算符和自减运算符只能用于变量,而不能用于常亮或表达式
| 运算符 | 运算 | 范例 | 结果 |
|---|---|---|---|
| ++ | 自增(前):先运算后取值 | a=2;b=++a; | a=3;b=3; |
| ++ | 自增(后):先取值后运算 | a=2;b=a++; | a=3;b=2; |
| -- | 自减(前):先运算后取值 | a=2;b=--a; | a=1;b=1; |
| -- | 自减(后):先取值后运算 | a=2;b=a--; | a=1;b=2; |
测试代码:
public class SignTest{
public static void main(String[] args){
int i1 = 10;
int i2 = 20;
int i = i1++;
System.out.print(“i=”+i);
System.out.println(“i1=”+i1);
i = ++i1;
System.out.print(“i=”+i);
System.out.println(“i1=”+i1);
i = i2--;
System.out.print(“i=”+i);
System.out.println(“i2=”+i2);
i = --i2;
System.out.print(“i=”+i);
System.out.println(“i2=”+i2);
}
}
运行结果:

拓展练习:
代码:
int n = 10;
n += (n++) + (++n);
System.out.print(n);
输出:
32
解析:
n = n + (n++) + (++n);右边第一个n是10,第二个n是10,n++是先取值,所以(n++)是10,再运算,此时n已经是11,再看第三个,(++n),n是11,先运算后取值,(++n)变成12。10 + 10 + 12=32。
下一站:JAVA基础之n+=1与n=n+1的区别

JAVA中自增自减运算符(i++与++i的区别)的更多相关文章
- Java基础-自增自减运算符练习题
我们用一个简单的例子分析下边的运行结果: package demo; public class ZiZeng { int i = 0; test(i); // i = i++; i = ++i; Sy ...
- java入门---运算符&算术运算符&自增自减运算符&关系运算符&位运算符
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 ...
- 023 01 Android 零基础入门 01 Java基础语法 03 Java运算符 03 算术运算符之——自增自减运算符
023 01 Android 零基础入门 01 Java基础语法 03 Java运算符 03 算术运算符之--自增自减运算符 本文知识点:Java算术运算符中的自增自减运算符 自增自减运算符 之前我们 ...
- 【java从入门到精通】day-06-基本运算符-自增自减运算符
1.运算符 java语言支持如下运算符: 算术运算符:+,-,*,/,%,++,-- 赋值运算符:= 关系运算符:>,<,>=,<=,==,!=,instanceof 逻辑运算 ...
- java自增(自减)运算符
自增(自减)运算符: ++ --就是可以将当前变量自我增加(减少)1 的运算符. i++, 后++, 先将 i 的值作为整个表达的值, 然后将 i 增加 1. ++i, 先++, 先将 i 增加 ...
- 【转】 C语言自增自减运算符深入剖析
转自:http://bbs.csdn.net/topics/330189207 C语言的自增++,自减--运算符对于初学者来说一直都是个难题,甚至很多老手也会产生困惑,最近我在网上看到一个问题:#in ...
- 2-1赋值运算符 & 2-2自增自减运算符 &2-3
2-1赋值运算符 先定义一个变量,把定义好的变量在赋值给另外一个变量.变向之间的互相赋值 2-2自增自减运算符 元素符,放在变量前和变量后的区别 先进行自增运算,再进行赋值运算.这里先进行num1的+ ...
- C语言系列之自增自减运算符的用法(二)
运算符中最难理解的有自增自减运算符的使用方法,下面我将简单总结一下他们的使用方法 我们知道,C语言运行是由右向左运行的 下面我们来看一个例子 当i等于3的时候 j=++i; 由上面可知,C语言是由右向 ...
- c语言:自增自减运算符的操作详解
博主在回忆c语言的基本知识时,突然发现自增自减运算符(--.++)这个知识点有些模糊不清,故博主为了给同为小白的同学们提供一些经验,特写下这篇文章. 首先,自增自减运算符共有两种操作方式. 比如,我先 ...
随机推荐
- modelMapper使用,将数据库查询对象直接转成DTO对象
1.pom引入 <dependency> <groupId>org.modelmapper</groupId> <artifactId>modelmap ...
- 重新整理 .net core 实践篇—————3种配置验证[十四]
前言 简单整理一些配置的验证. 正文 配置的验证大概分为3类: 直接注册验证函数 实现IValidteOptions 使用Microsoft.Extensions.Options.DataAnnota ...
- Autofac入门
注意:本文为原创文章,任何形式的转载.引用(包括但不限于以上形式)等,须先征得作者同意,否则一切后果自负. 简介 Autofac 是一个令人着迷的.NET IoC 容器. 它管理类之间的依赖关系.当应 ...
- 五、自定义Zabbix监控项目
要求: 沿用练习三,使用Zabbix实现自定义监控,实现以下目标:监控Linux服务器系统账户的数量. 方案: 需要使用Zabbix自定义key的方式实现自定义监控,参考如下操作步骤:1.创建自定义k ...
- 云原生时代的Java
原文链接(作者:周志明):https://time.geekbang.org/column/article/321185 公开课链接:https://time.geekbang.org/opencou ...
- 一个例子让你秒懂 Qt Creator 编译原理
小北师兄作品 首发于微信公众号 小北师兄 微信 ID: ncuneupa 由于排版原因,文章可能读起来不太清晰,如果想看更好的排版,可以来我的公众号:小北师兄 大家好,我是你们的小北师兄,由于工作原因 ...
- 技术实践:教你用Python搭建gRPC服务
摘要:gRPC是一个高性能.通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf序列化协议开发,且支持众多开发语言. 本文分享自华为云社区& ...
- No serializer found for class com.bean.user and no properties discovered to create BeanSerializer
解决方法: 方法1:将bean目录下的实体类属性由private改为public(不推荐): 方法2:给实体类属性设置setter和getter方法(推荐使用).
- 乘风破浪,Windows11官方原装4K壁纸,前卫的艺术数字设计
Windows11预览版官方壁纸 默认主题Windows Windows.zip 月轮主题ThemeA ThemeA.zip 艺术石主题ThemeB ThemeB.zip 日升主题ThemeC The ...
- ActiveMq 之JMS 看这一篇就够了
什么是JMS MQ 全称:Java MessageService 中文:Java 消息服务. JMS 是 Java 的一套 API 标准,最初的目的是为了使应用程序能够访问现有的 MOM 系 统(MO ...