運算?即是加減乘除等等的東西嗎?>( ゚ω゚ s)
(k ゚∀゚)<這是其中一種運算子,一般會稱為算術運算子(arithmetic operator),用來處理一些算術運算,TJS除了加 ( + )、減( - )、乘( * )、除( / 或 \ )等運算子之外,還有計算餘數的模數運算子( % )。
(k ゚∀゚)<看看以下的範例。
var a=3+2*7;
System.inform(a);
System.inform(a);
結果顯示的是17嗎?>( ゚ω゚ s)
(k ゚∀゚)<是的,先乘除後加減,括號優先運算等基本運算規則不會改變的,,所以2會先乘以7,之後加以3,結果是17。
(k ゚∀゚)<再看看以下的範例。
var a=3/2;
System.inform(a);
System.inform(a);
答案是1.5嗎?>( ゚ω゚ s)
(k ゚∀゚)<正確,TJS的除數運算比較像JavaScript,結果會自動轉換成實數,如果大家想要整數的數值,可以使用反斜符號( \ )取代,小數點之後的部份就會被自動消去,以下是範例。
var a=3\2;
System.inform(a);
System.inform(a);
今次答案是1嗎?>( ゚ω゚ s)
(k ゚∀゚)<計算餘數可以用模數運算子(Modulus operator),不過只限於整數的運算,這個模數運算子的運算優先順序和乘除一樣,以下是範例。
var a=7%3;
System.inform(a);
System.inform(a);
今次答案又是1嗎?>( ゚ω゚ s)
(k ゚∀゚)<沒錯。
(k ゚∀゚)<我們亦可把變數用來進行運算,看看以下的範例。
var a=2;
a=a*3;
System.inform(a);
a=a*3;
System.inform(a);
(k ゚∀゚)<我們把a*3指定給a,如果原本的a是2,運算後a就是6。
(k ゚∀゚)<加號( + )不單止可以用於數字上,就算是字串也可以加起來,兩個字串會黏在一起,以下是範例。
var a="我是"+"字串";
System.inform(a);
System.inform(a);
(k ゚∀゚)<在上述的範例裡,字串加起來後,變數a儲存了"我是字串"這句字串。
(k ゚∀゚)<TJS的運算會根據各個運算子的優先順序來執行,當運算優先順序一樣時,吉里吉里就會由左而右進行運算,看看以下的範例。
var a=2+3*7%2+2*(3+5%2);
System.inform(a);
System.inform(a);
看起來很複雜……>( ゚ω゚ s)
(k ゚∀゚)<括號的優先順序最高,其次是乘( * )、除( / 或 \ )、模數( % ),最後是加 ( + )、減( - )。所以以下是吉里吉里執行時的順序。
a=2+3*7%2+2*(3+5%2)
a=2+3*7%2+2*(3+1)
a=2+3*7%2+2*4
a=2+21%2+2*4
a=2+1+2*4
a=2+1+8
a=3+8
a=11
a=2+3*7%2+2*(3+1)
a=2+3*7%2+2*4
a=2+21%2+2*4
a=2+1+2*4
a=2+1+8
a=3+8
a=11
(k ゚∀゚)<若果大家不確定運算的優先順序,其實可以使用括號來確保優先順序,因為順序不同會得到不同結果,所以必須小心留意。
(k ゚∀゚)<好吧,今次介紹到這裡,下次再見。
沒有留言:
發佈留言