Java Opérateurs, + - ce qui se passe dans le dessous de code et pourquoi il est écrit comme ça

Sharief:

Dans notre code java j'ai encountred une ligne que je comprends pourquoi didnot
total = + - valFromsp; ou totale = - + valFromsp; j'ai donc écrit petit programme et attacha ici.

public class Test {

    public static void main (String... arg) {
        int total =  20;
        int valFromsp = 60 ; 
        total = + - valFromsp;

        System.out.println(total);  // prints -60

    }
}
Sweeper:

Cela signifie simplement ceci:

total = -valFromsp;

La ligne de code est une instruction d'affectation avec l'être d'expression côté droit + - valFromsp. Qu'est - ce que cela + - valFromspsignifie? Si l' on ajoute entre parenthèses, il devient +(-(valFromsp)).

L'opérateur unaire -fonctionne sur l'opérande valFromsprendant -60. Et puis l' +opérateur unaire fonctionne sur -60de ne rien faire pour lui.

Les +et les -opérateurs unaires sont spécifiés dans §15.15 de la spécification de langage Java:

Les opérateurs +, -, ++, -, ~, et l'opérateur de cast (§15.16) sont appelés les opérateurs unaires.

UnaryExpression: 
    PreIncrementExpression 
    PreDecrementExpression 
    + UnaryExpression
    - UnaryExpression 
    UnaryExpressionNotPlusMinus

L'utilisation de l' +opérateur unaire est précisée dans le §15.15.3 :

Promotion numérique unaire ( §5.6.1 ) est effectuée sur l'opérande. Le type de l'expression plus unaire est le type promu de l'opérande. Le résultat de l'expression plus unaire est pas une variable, mais une valeur, même si le résultat de l'expression d'opérande est une variable.

Mais puisque vous utilisez ints, qui ne subit pas la promotion numérique unaire, +ne fait rien. Même si vous utilisez byte, shortou char, le +fera encore rien, parce que l' -opérateur unaire fait aussi la promotion. Donc , il n'y a vraiment aucune raison d'utiliser les deux +et -en même temps.

Je suggère que vous venez de le changer pour:

total = -valFromsp;

pour éviter toute confusion à l'avenir.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=199703&siteId=1
conseillé
Classement