L'opérande sur le côté gauche de l'opérateur d'affectation doit être une variable, pas une constante ou une expression. La valeur de l'expression d'affectation est = la valeur de la variable sur le côté gauche.
Avis:
1) Ne confondez pas l'opérateur d'affectation = avec l'opérateur relationnel ==.
2) En plus de l'opérateur d'affectation =, il existe également un opérateur d'affectation étendu.
Exemple:
publicclassMain{publicstaticvoidmain(String[]args){inta=1;intb=2;intc=0;c=a+b;System.out.println(c=a+b=+c);c+=a;System. out.println(c+=a=+c);c-=a;System.out.println(c-=a=+c);c*=a;System.out.println(c*=a=+c );a=3;c=4;c/=a;System.out.println(c/=a=+c);a=5;c=6;c%=a;System.out.println(c %=a=+c);c&=a;System.out.println(c&=a=+c);c|=a;System.out.println(c|=a=+c);c^=a ;System.out.println(c^=a=+c);c>>=1;System.out.println(c>>=1=+c);c<<=1;System.out.println( c<<=1=+c);}}
Les résultats en cours d'exécution sont les suivants :
c=a+b=3c+=a=4c-=a=3c*=a=3c/=a=1c%=a=1c&=a=1c|=a=5c^=a=0c>>=1= 0c<<=1=0