簡體   English   中英

Java前綴和后綴操作數

[英]Java prefix and postfix operands

我在想對嗎? 下面如何將其重寫為簡單的附件,以顯示操作的完成方式?

int a = 3;
int b;

b = --a * --a;

Java會:

b =(a = a-1)*(a = a-1)=(2)*(1)= 1;

int a = 3;
int b;

b = a-- * a--;

Java會:

b = a; a = a-1; b = b * a; a = a-1;

b = 3; a = 3-1 = 2; b = 3 * 2 = 6; a = 2-1 = 1;

好的,所以在Java中,a--首先評估a,然后應用運算(在這種情況下為減法),

例如:

a = 3;
b = a--;

“ b”將取初始值“ a”(b = 3),然后“ a”將遞減(a = 2)。

在以下示例中:

    int a=3;
    int b;
    b= a-- * a--;
    System.out.println("a = " + a);
    System.out.println("b = " + b);

1. b = a的當前值(3)
2. a = a-1(2)
3. b = b * a的當前值(b = 3 * 2)
4. a = a-1(1)

我們的結果將是:

    b=6 a=1

對於--a,java首先應用該操作,然后采用該值;

例如:

a = 3;
b =-a;

“ a”將遞減(a = 2),然后“ b”將取值“ a”(b = 2)。

例:

    int a=3;
    int b;
    b= --a * --a;
    System.out.println("a = " + a);
    System.out.println("b = " + b);

1. a = a-1(2)
2. b = a的值(2)
3. a = a-1(1)
3. b = b * a的值(b = 2 * 1)
我們的結果將是:

    b=2 a=1

希望這可以幫助。 祝你好運:)

    int a = 3;
    int b = --a * --a;
    System.out.println("pre " + b + "/" + a);

    a = 3;
    int r1 = a-1;   // 2
    a = r1;         // 2
    int r2 = a-1;   // 1
    a = r2;         // 1
    b = r1 * r2;    // 2
    System.out.println("pre2 " + b + "/" + a);


    a = 3;
    b = a-- * a--;
    System.out.println("post" + b + "/" + a);

    a = 3;
    r1 = a;         // 3
    a = r1 - 1;     // 2
    r2 = a;         // 2
    a = r2 - 1;     // 1
    b = r1 * r2;    // 6
    System.out.println("post2 " + b + "/" + a);

將r1和r2從堆棧中壓入/彈出進行乘法運算。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM