首页 javaWEB i++和++i问题输出详解(面试)

i++和++i问题输出详解(面试)

i++和++i问题,每次刷面试题都能看到 也有好多人在问 今天就详细的整理下 首先先了解下运算符号的优先级 i++和++…

i++和++i问题,每次刷面试题都能看到

也有好多人在问

今天就详细的整理下

首先先了解下运算符号的优先级

i++和++i问题输出详解(面试)

i++和++i的区别

(1)i++简单来说就是先用i的值来参加表达式的计算,然后再自加1

i=4;

a=i++; //此时,先做a=i=4,再做i++,故a=4,i=5

(2)++i则是先自增1,再用自加后的值来做运算。

i=4;

a=++i; //此时,先做++i=5,再做a=++1,故a=5,i=5

单看起来感觉挺简单的,为了更好的掌握,下面搞了个题目加深下印象

题目

i++和++i问题输出详解(面试)

x的值等于4

y的值等于6

遇到++x时 x先加一 再执行

遇到x++时 x的值不变,执行完当前操作后,x的值再加一

x++的时候 x=3

++x 时候 y=3++3 , y=6 ,x=4

题目

i++和++i问题输出详解(面试)

static int x,y; 初始化为0

x– 此时 x的值就为-1了

这个y的值就为 y =0+++0 运算顺序变成 (最后一次不算)

所以y=0,x=1

最后的 x+y+++x

遵循 遇到x++时 x的值不变,执行完当前操作后,x的值再加一

1+0+++1

结果就变成 2了

转换的问题:

short i=1;short i=i+1错的理由

java会自动将小容量的变量进行精度提升,然后再进行运算,得到的结果类型是提升后的大容量的数据类型.如果将该结果赋值给小容量的数据类型的变量,则必须进行强制的类型转换

short i+=1对的理由

s1+=i的方式java会对i进行窄化转换,由编译程序自动执行

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

nodejs 整理记录

nodejs 整理记录

下载包 https://blog.csdn.net/m0_59878114/article/details/120274...
websocket测试html

websocket测试html

<!DOCTYPE html> <html> <head> <meta cha...
bigdemical两个数比较大小

bigdemical两个数比较大小

/*int result = bigdemical1.compareTo(bigdemical2) result = -...
Beetl2.7 中文文档

Beetl2.7 中文文档

Beetl目前版本是2.7.23,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等...
纯CSS实现多个便签在一行展示,拖动滚动

纯CSS实现多个便签在一行展示,拖动滚动

div <h2>请注意需要在移动端预览,PC端拖拽无效果</h2> <div class=...
返回顶部