算术运算符混淆

Dus*_*usk 2 java operators

为什么我在使用算术运算符获得相同的变量值时会得到两个不同的值.我刚刚改变了我的第二个程序,这导致给我不同的输出.谁能告诉我为什么?

    int number=113;
 int rot=0;
 rot=number%10;
 rot*=100+number/10;
 System.out.println(rot);//333



    int number=113;
 int rot=0;
 rot=number%10;
 rot=rot*100+number/10;
 System.out.println(rot);//311
Run Code Online (Sandbox Code Playgroud)

Fel*_*ing 8

在你计算的第一部分

rot *= 100 + number/10
Run Code Online (Sandbox Code Playgroud)

是的

rot = rot * (100 + number/10)
Run Code Online (Sandbox Code Playgroud)

在第二部分:

rot = rot*100 + number/10
Run Code Online (Sandbox Code Playgroud)

请注意,乘法和除法在加法和减法之前进行.