操作符之優先級

優先級
  當一個表達式中存在多個操作符時,操作符的優先級就決定了各部分的計算順序。Java對計算順序做了特別的規定。其中,最簡單的規則就是先乘除後加減。程序員經常會忘記其他優先級規則,所以應該用括號明確規定計算順序。例如,以下語句中的(1)和(2):

			//:operators/precedence.java
			public class Precedence {
				public static void main(String[] args) {
					int x = 1,y = 2,z = 3;
					int a = x + y -2/2+z;        //(1)
					int b = x+(y-2)/(2+z);      //(2)
					System.out.println("a="+a+"b="+b);
				}
			}/*Output:
			a = 5 b = 1
			*///:~

      這兩個語句看起來大體相同,但是從輸出就可以看出他們具有截然不同的含義,而這正是使用括號的結果。
請注意,System.out.println()語句中包含”+“操作符。在這種上下文環境中,”+“意味着”字符串連接“,並且如果必要,它還要執行”字符串轉換“。當編譯器觀察到一個String後面緊跟一個”+“,而這個後面又緊跟一個非String類型的元素時,就會嘗試着將這個非String類型的元素轉換爲String。正如在輸出中所看到的,它成功地將a和b從int轉換爲String了。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章