自加++(Java版本)

  • 变量++ 先取值,后加1
  • ++变量 先加1,后取值
  • 先看一个小栗子,先取值故result是num初始的值,num的值是num自加一后的值
import java.util.Scanner;
public class HelloWorld {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入num: " );
        int num = sc.nextInt();
        int result = num++ ;
        System.out.println("此时num是:" + num);
        System.out.println("result is " + result);
    }
}

在这里插入图片描述

  • 详细说明
    在这里插入图片描述
import java.util.Scanner;
public class HelloWorld {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入num: " );
        int num = sc.nextInt();
        int result = num++ + num++ + num++ + num*2;
        System.out.println("此时num是:" + num);
        System.out.println("result is " + result);
    }
}

在这里插入图片描述

  • num = num++;num的值取决于编译,假设num的值是1,先取值为1,再自加num = 2,但是赋值是赋先取出来的值1,所以num自加为2的结果被覆盖,最终为1
import java.util.Scanner;
public class HelloWorld {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入num: " );
        int num = sc.nextInt();
        num = num++;
        System.out.println("此时num是:" + num);
    }
}

在这里插入图片描述

  • 自加与逻辑运算&&,&&只要前一个判断为假,后面判断便不进行,所以num不会自加,直接输出结果
import java.util.Scanner;
public class HelloWorld {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入num: " );
        int num = sc.nextInt();
        boolean result = num > 2 && num++%2 == 1;
        System.out.println("逻辑判断是:" + result);
        System.out.println("此时num是:" + num);
    }
}

在这里插入图片描述

发布了251 篇原创文章 · 获赞 28 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/xiong_xin/article/details/104246285