栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java增量运算符查询(++ i和i ++)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java增量运算符查询(++ i和i ++)

首先你需要知道的区别

x++
++X
;

如果是

x++

首先,将使用当前值,然后将其递增。这意味着您将获得操作的当前值,

x
并且如果您下次使用x将获得递增的值;

如果是

++x

首先,当前值将增加,然后将使用它(增加的值),这意味着您将在此操作中获得增加的值,而在此操作之后将获得其他值。

现在让我们分割代码并分别讨论

方法:sample1():

private static int sample1(int i) {    return i++;}

此方法将采用int值,然后先返回它,然后尝试递增,但是返回后,变量

i
将超出范围,因此它将永远不会递增。
exp in: 10-> out 10

方法:sample2():

private static int sample2(int j) {    return ++j;}

此方法将获取一个int并先对其进行递增,然后返回它。

exp in: 10-> out 11

在这两种情况下,只有变量会在本地更改,这意味着,如果从main方法调用,则main方法的变量将不受更改的影响(因为sample1()和sample2()正在复制变量)

现在获取主要方法的代码

System.out.println(sample1(i++)); // it's giving sample1() `i=0` then making `i=1`  //  so  sample1() will return 0 too;System.out.println(sample1(++i)); // it's making `i=2` and then giving sample1() `i=2` // so sample1() will return 2;System.out.println(sample2(j++)); // it's giving sample2() `j=0` then making `j=1`  // so sample2() will return 1;System.out.println(sample2(++j)); // it's making `j=2` giving sample2() `j=2` then   // so sample2() will return 3;


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/431112.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号