java中的自增(++)和自减(--)

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

例:z=3、x=1、y=2。问z-= --y - x–?
分析:
我们先说一下前自增和后自增、前自减和后自减的区别。
自增(++):将变量的值加1,分前缀式(如++i)和后缀式(如i++)。前缀式是先加1再使用;后缀式是先使用再加1。
自减(–):将变量的值减1,分前缀式(如–i)和后缀式(如i–)。前缀式是先减1再使用;后缀式是先使用再减1。
我们分析一下上面那道题: 由题意可以变形为:z = z - ((–y) -(x–))
根据上面的分析:前缀式和后缀式的区别,这里的–y就是1,x–就是1,我们也就能得出z =3。

例:
public class Test{
public static void main(String[] args){
int j=0;
for (int i = 0; i < 100; i++){
j = j++;
}
System.out.println(j);
}
}
答案:j = 0;
我们分析一下上面的代码,如果这是一段c语言的代码,那这个 j 最终的数值就是100了,但是在java里,java编译器每次遇到自增自减的语句时,就会开辟一块新的内存空间来保存,然后再将这个换成变量的值赋给左边的变量,就像下面的代码:
temp = j;
j = j + 1;
j = temp;
所以最后的答案就是0;
我们再来看一下,如果换成 j = ++j;最后的j会是多少?流程应该如下:
temp = j +1;
j = j + 1;
j = temp;
这时候最后的结果应该就是100了。

例:
public static void main(String [] args){
int i = 0;
int j = i++ + i++; //这条语句等价于j = (i++) + (i++)
System.out.println(“输出i的结果为”+i);
System.out.println(“输出j的结果为”+j);
}
}
输出的结果:
输出i的结果为2
输出j的结果为1
分析:
j = (i++)+ (i++)
i++ 第一次之后 i由0变为1,第二次 i++之后 i由1变为2
而j
右自增,是先使用再增,所以,j= 0 +1 = 1

当初来的梦想就是能凭借技术吃饭,就目前来看,做的极差。
整天混日子的,有点有心无力。
还是,整理下,好好从基础抓起吧。

自己编写程序测试java中自加(++)自--)运算符的等价代码 笔者最近因为工作需要,自学java,对于学习资料、百度搜索也讲得不够清晰、完善之处,通过自己编写程序、测试,加深了理解。以下是我猜想java中自加(++)自(–)运算符对应的等价代码并进行测试的过程: 首先,用文本编辑器UltraEdit编写程序Test.java: 但是,在命令窗口中编译之后,居然报了好多令我当时不知所云的错: 咨询了别人后才发现,原来是因为忘记写程序入口(main方法),以及变量i前忘记加数据类型int导致的……果然太久不写了好容易犯糊涂啊……T T 修改代码如下: 编译运行后,控 阅读详情

相关推荐

java快速ID自

id自,适用于快速,频繁产生自ID,在spring配置数据源即可

Java运算符深度解析

通过以上介绍,我们可以发现Java运算符在编写程序时起着重要的作用。它们用于实现简单的计数迭代等功能,是编程语言中的基本元素。理解自运算符的用法特点对编写高质量的代码至关重要。希望本文能够帮助读者更好地理解应用Java运算符。

weixin_52721608的博客 772

【STM32G474实战】RS485通信的DMA优化策略与性能对比

本文深入探讨了在STM32G474微控制器上优化RS485通信的DMA策略。通过对比轮询、中断DMA三种数据传输方式的代码实现与性能,揭示了DMA在解放CPU、降低占用率方面的巨大优势。文章提供了详细的DMA配置指南、高级应用技巧(如结合空闲中断)以及一个高可靠通信框架的实战思路,旨在帮助开发者构建高效、实时的工业控制系统。

weixin_29268331的博客 279

(前)++ 与 (后)++的区别;(前)--与(后)--的区别

(前)++ 与 (后)++的区别 (前)++ :先自1,后运算 (后) ++:先运算,后自1 public class Fighting{ public static void main(String[] args){ int m1 = 5; int n1 = ++m1; System.out.println("m1 = "+m1); System.out.println("...

weixin_44750594的博客 850

Java运算符

摘要:Java中的(++)(--)运算符用于对变量进行+1/-1操作。核心区别在于前缀(++a)后缀(a++)的使用时机:前缀先运算后返回值,后缀先返回值后运算。单独使用时两者效果相同,但在表达式中会影响返回值结果。使用时需注意只能操作变量、不改变变量类型,并避免在复杂表达式中过度使用。多线程环境下需注意其非原子性操作特性,应使用同步机制保证线程安全。

qq_29515513的博客 620

C语言自(++)(--)的前后的区别

c语言的自位于变量的前后是有区别的

zz2230633069的博客 2968

C语言两个自相加,C语言前自与后自

C语言前自与后自教程在前自与后自的区别是前自是先自后赋值,后自是先赋值后自。C语言前自与后自区别语法运算符语法例子结果后自a++int a = 0; int b = a++;a = 1, b = 0前自++aint a = 0; int b = ++a;a = 1, b = 1说明后自是先把C语言前自与后自区别语法运算符语法例子结果后自a–int a = 0; in...

weixin_32161697的博客 1625

java中的(++)--)的总结

z-= - -y - x- -今天在课堂上被一道题给“虐了”一小下,是关于java中运算符的题目,感觉很简单,但却失足。 所以要好好总结一下java中的。先看一下课堂上的这一道题目:z=3、x=1、y=2。问z-= --y - x--? 这道题楼主一眼看去,直接写出了 z=2。(说出来不嫌丢人,为了警醒自己!)答案其实为3。我们先说一下前自后自、前自后自的区别。 自(+

jin's blog 2万+

黑马程序员----JAVA中的(++)--)运算符

对于我们这种JAVA语言的初学者来讲,在JAVA语言中存在着很多运算符。在实际开发中我们或许很少用到它们,但是在初次学习中却时常会使用到这些运算符。其中我当初对于自运算符的学习中遇到了一点小困难,现在我将把自己对于自运算符的理解写出来。      自(++)运算符:对原有数据进行+ 1(加1)的操作,通俗讲就是对变量的值加1。同时分为前缀式(++i)后缀式(i++)。

tw_kjh1207的博客 643

Java千问:学透Java(++)(--)运算符,看这一篇就够了!

同很多高级编程语言一样,Java语言的运算符系统当中也有自(++)--)这两个运算符。很多小伙伴对这两个运算符都深感头疼,并且很多公司在面试的时候也经常会问到与之相关的问题,今天我们就通过一篇文章来深度解析一下这两个运算符,相信在看过这篇文章之后,你再也不会被自(++)--)运算符难住。由于自运算符的原理完全相同,所以我们在讲解的时候仅以自运算符举例。(预警:本文举例...

穆哥学堂--Java学习园地 5665

Java操作符(++) 操作符(--)

操作符(++) 操作符(--) 是对变量进行加 1 1 的操作的单目运算符 进行自的变量类型可以是整型,字符型,浮点型 i++、i--这些操作符分别称为后置自操作符后置自操作符,因为操作符--放在变量后面。这些操作符也可以放在变量前面。 ++i、--i这些操作符称为前置自操作符前置自操作符。 后置自与前置自在表达式中会产生不同的效果 以自为例...

qq_45384304的博客 489

Java语言中自(++)--)运算符

(++)--)运算符 在JAVA语言中存在着很多运算符,但是在实际开发中我们或许很少用到它们,在初次学习中却时常出现它们的身影,对于这些运算符的含义用法,是否还记得呢?下面让我们来看看下面几段Java代码: int i = 0; int j = i++; int k = --i; 这段代码运行后,i等于多少?j等于多少?k等于多少?相信对于这段代码应该没有问题,因为很简单。

杨名天吓 1万+

java_Java操作符——++/--的那些事

1. 概述自操作符(++)操作符(--)是对变量进行加11的操作。2.分类说明++--是对变量进行自11的简写操作符。许多编程任务中经常需要对变量加1或者1,所以采用这两个操作符会方便许多。例如,下面的代码是对i自1,而对j自1:int i = 3, j = 3;i++; //i become 4j--; //j become 2i++读为i加加,i--读为i。这些...

weixin_42306002的博客 376

(++)--)运算符

(++):将变量的值加1,分前缀式(如++i)后缀式(如i++)。前缀式是先加1再使用;后缀式是先使用再加1。 自--):将变量的值1,分前缀式(如--i)后缀式(如i--)。前缀式是先1再使用;后缀式是先使用再1。 我们先从问题入手: int i = 0; int j = i++; int k = --i; 代码运行后,i...

weixin_30496751的博客 759

Java语言中自(++)(

(++)--)运算符 在JAVA言语中存在着许多运算符,但是在实际开发中我们或许很罕用到它们,在初次学习中却经常出现它们的身影,对这些运算符的含义用法,是否还记得呢?下面让我们来看看下面几段Java代码: int i = 0; int j = i++; int k = --i; 这段代码运行后,i等于几?j等于几?k等于几?相信对这段代码应该没有问题,因为很简单。结果为:i

142

yjava_Java教程:Java运算符(++--

Java教程在对一个变量做加 1 或 1 处理时,可以使用自运算符 ++ 或自运算 --。++ 或 -- 是单目运算符,放在操作数的前面或后面都是允许的。++ 与 -- 的作用是使变量的值 1 或 1。操作数必须是一个整型或浮点型变量。自、自运算的含义及其使用实例如表 1 所示。表 1 自、自运算的含义及其使用实例运算符含义实例结果i++将 i 的值先使用再加 1 赋值给 i 变...

weixin_35434041的博客 910

运算

(++)--)运算符    ++  : 变量自 1;     -- : 变量自 1;     ++ i / 前++  :  先自再使用;    i ++ / 后++  :  先使用再自;     -- i / 前--  :  先自再使用;    i -- / 后--  :  先使用再自; 下面让我们来看看下面几段Java代码: int i =

qq_29607831的博客 502

符++与--

++与– package basedemo2; public class Add { public static void main(String[] args) { //自符 ++ int a=2; int b=a++;//先把a赋值给b 再执行a++ System.out.println("first a:"+a);//结果为3 int c=++a;//先执行a++ 再把执行后的值赋值给c Sys

weixin_44284271的博客 118
上一篇: 如何关掉被占用的端口
下一篇: 堆栈
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值