带空操作数的plus运算符在Java中做什么?

问题描述 投票:0回答:2

我只是想知道当您有多个带有空操作数的加号运算符时,编译器会做什么?我知道前/后增量运算符。编译器只是在两者之间加零吗?

        int a = 1;
        int b = + + + + + + a;
        System.out.println(b); //prints 1

        b = - - - - - - a;
        System.out.println(b); //prints 1

        b = ++a; //
        System.out.println(b); //prints 2
java syntax
2个回答
1
投票

这里有一个提示。

如您所指出

int a = 1;
int  b = - - - - - - a;
System.out.println(b); //prints 1

但是使用奇数个-号给出

b = - - - - - a;
System.out.println(b); // prints -1

我将由您决定答案。


0
投票

作为Elliott Frisch has already mentioned,它们是一元正负运算符。在+-中,后者通常用于将正数更改为负数,反之亦然。

以下示例将帮助您更清楚地理解它:

public class Main {
    public static void main(String[] args) {
        int a = 1;
        int b = +a;
        int c = -a;
        System.out.println("b = " + b + ", c = " + c);

        b = + +a;// + and + = +
        c = - -a;// - and - = +
        System.out.println("b = " + b + ", c = " + c);

        b = + + +a;// + (+ and +) = + and + = +
        c = - - -a;// - (- and -) = - and + = -
        System.out.println("b = " + b + ", c = " + c);

        ++b;
        ++c;
        System.out.println("b = " + b + ", c = " + c);
    }
}

输出:

b = 1, c = -1
b = 1, c = 1
b = 1, c = -1
b = 2, c = 0
© www.soinside.com 2019 - 2024. All rights reserved.