4-1中的代碼
我運(yùn)行了4-1中的代碼,運(yùn)行了好幾次,結(jié)果都是
能量總和: 100000.00
能量不守恒的情況一直都未出現(xiàn)。
后來發(fā)現(xiàn)是EnergySystem中
System.out.printf("從盒子%d到盒子%d轉(zhuǎn)移了%10.2f",from,to,amount);oxes[to] += amount;
這兩行代碼顛倒了順序。改好后就出現(xiàn)了不守恒的情況了。
為什么這兩行代碼順序不同,運(yùn)行結(jié)果就不同呢?
2016-12-08
不守恒的原理視頻中已經(jīng)說的很清楚了,不守恒其實(shí)已經(jīng)存在了,只是你把這兩個寫顛倒之后,不是此個線程的正確表示狀態(tài)。
就比如int i = 100; ? ? 你先輸入的i = i - 1; ?還是先輸入System.out.printfln(i)的區(qū)別
如果先寫i = i - 1 ,再輸出i那么i=99
如果你先輸出i,那么打印輸入當(dāng)然是i = 100。之后再執(zhí)行i = i - 1。執(zhí)行結(jié)果其實(shí)已經(jīng)是i = 99了,但是你打印輸出的是i = 100.