【Java基础知识】i++和++i的区别和理解

疑问

java中“ for (int i = 2; i <= n; ++i) ”和“ for (int i = 2; i <= n; i++) ”其中的i++ 和 ++i 怎么理解呢?

解答

在Java中,"i++“和”++i"都是用来递增变量i的操作符。

具体来说,"i++"是后缀递增操作符,它的作用是先使用变量i的值,然后再将i的值加1。例如,考虑以下代码:

int i = 2;
System.out.println(i++); // 输出2
System.out.println(i);   // 输出3

在上面的代码中,首先将变量i的值(2)打印出来,然后再将i的值加1,所以最后i的值变为3。

相反,"++i"是前缀递增操作符,它的作用是先将i的值加1,然后再使用变量i的值。例如,考虑以下代码:

int i = 2;
System.out.println(++i); // 输出3
System.out.println(i);   // 输出3

在上面的代码中,首先将变量i的值加1(变为3),然后再将变量i的值打印出来,所以输出结果都是3。

总结起来,"i++“和”++i"都可以用来递增变量i的值,但是它们的执行顺序不同。"i++“是先使用再递增,而”++i"是先递增再使用。

如果都是for循环打印呢?

如果两个for循环都是用来打印变量i的值,那么无论是使用"i++“还是”++i",最终都会打印出相同的结果。

例如,考虑以下代码:

int n = 5;

System.out.println("使用后缀递增操作符i++:");
for (int i = 2; i <= n; i++) {
    
    
    System.out.print(i + " "); // 输出2 3 4 5
}

System.out.println("\n使用前缀递增操作符++i:");
for (int i = 2; i <= n; ++i) {
    
    
    System.out.print(i + " "); // 输出2 3 4 5
}

在上面的代码中,无论是使用"i++“还是”++i",最终都会按照从2到5的顺序打印出变量i的值。

这是因为在这种情况下,递增操作符的执行顺序不会影响结果,因为变量i的值在打印之前已经被使用了,所以无论是先使用后递增,还是先递增后使用,最终都会打印出相同的结果。

猜你喜欢

转载自blog.csdn.net/weixin_44002043/article/details/131682399