package com.test.java;
public class Test1 {
public static void main(String[] args) {
int i=12,m=12,n=12,j=12,k=12;
//从左到右或者从右到左由=决定,而不是由+=,-=,*=,/=决定的
//全变化的赋值(顺序不是从左到右或者从右到左,遵守运算优先级),先乘法把值赋给i 再算i+
System.out.println(i*=i+=i);//i*i=i+=i => i*i+i*i=i =288
//部分变化的赋值(顺序从左到右或者从右到左,遵守运算优先级),先乘法,只赋值给+的m,原有m不变
System.out.println(m+=m*=m);//m+=m*m=m => m+m*m=m =156
//部分变化的赋值(顺序从左到右或者从右到左,遵守运算优先级),先乘法,只赋值给-的n,原有n不变
System.out.println(n-=n*=n);//n-=n*n=n => n-n*n=n =-132
//全变化的赋值(顺序不是从左到右或者从右到左,遵守运算优先级),先乘法把值赋给j 再算j-
System.out.println(j*=j-=j);//j*j=j-=j => j*j-j*j=j =0
//叛逆者:混合多步,多值运算(不遵守运算优先级,直接从左到右或者从右到左)
System.out.println(k*=k-=k/=k+=k);/*k*=k-=k/=2k=k => k*=k-=k/2k=k =>
k*=k-=0=k => k*=k-0=k => k*=k=k => k=k*k =144*/










网友评论