Java中的“ + i”是什么意思?

监控器

我在查看同事的代码时遇到了这个问题。她无意中把它留了下来(它曾经是一个字符串连接),我以为它不会编译。原来我错了,所以我尝试看看那个操作员做了什么:

public static void main(String[] args) {
    int i = -1;
    System.out.println(String.format("%s", +i));
    System.out.println(String.format("%s", +i));
}

据我所知,它什么也没做,但是我很好奇是否有允许它编译的原因。该操作员有一些隐藏的功能吗?类似于++i,但是您会认为编译器会否+i

埃里克本

那是加一元运算符+它basicaly它确实数值提升,所以“如果操作数是编译时类型的byteshort或者char,它被提升为类型的值int”。

另一个一元运算符是增量运算符++,它可以将值加1。可以在操作数前缀运算符之前或之后(后缀运算符之后应用增量运算符。不同之处在于,前缀运算符(++i)评估为增加的值,而后缀运算符(i++)评估为原始值。

int i = -1;
System.out.println(+i);         // prints -1

System.out.println(i++);        // prints -1, then i is incremented to 0

System.out.println(++i);        // i is incremented to 1, prints 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章