Операнд в левой части оператора присваивания должен быть переменной, а не константой или выражением. Значение выражения присваивания равно значению переменной в левой части.
Уведомление:
1) Не путайте оператор присваивания = с оператором отношения ==.
2) Помимо оператора присваивания = существует еще расширенный оператор присваивания.
Пример:
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);}}
Результаты бега следующие:
c=a+b=3c+=a=4c-=a=3c*=a=3c/=a=1c%=a=1c&=a=1c|=a=5c^=a=0c>>=1= 0c<<=1=0