2011-12-19 13 views
3

に私はAndroidのソースコード内の不慣れな表記法を参照してくださいdensity *= invertedRatio;意味は、Java

は、私は、星等しい表記に慣れていないです。誰か説明できますか?

+1

他の人は、すでにあなたの質問に答えているが、私はあなたにも、「変数++」または「変数 - 」書くことができると感じていた1、変数カウントが増加することを意味し、または1ずつ減少それぞれ、 – Jave

答えて

9

density *= invertedRatio;はこの表記は、Daが、それはdensity = density * invertedRatio;のために短いだ、と述べたと同じようにC.

+0

私はたぶん頭字語ではなく構文的な砂糖と呼んでいます。 :p –

+0

Cから来ていますか?それで私はそれがポインタと奇妙に似て見えると思ったのです!しかし、それは... –

+1

魔法のキャストが挿入されるかもしれないことに注意してください。たとえば、 'density'が' short'の場合、コンパイルされ、動作するかもしれません。 –

20

Javaでは、*=を乗算化合物代入演算子と呼びます。

それは

density = density * invertedRatio; 

同じ略語のショートカットですが可能です例えば

String x = "hello "; x += "world" // results in "hello world" 
int y = 100; y -= 42; // results in y == 58 

などです。それは、標準のJavaの、具体的なAndroidの何もない -

3

から来density = density * invertedRatio;

の短縮版です。このような演算子(と同様の演算子)は、Cのような構文で、多くの言語で見つかります。

7

簡略化代入演算子です。

variable op= expression; 

だから

variable = variable op expression; 

の短い形式で、

density *= invertedRatio; 

詳細は以下のリンクを参照してください

density = density * invertedRatio; 

と同等です:それは次の形式を取ります。 :

How to Use Assignment Operators in Java

+2

これは厳密には当てはまりません。http://stackoverflow.com/questions/8710619/java-operator – xxpor

+0

@xxpor洞察をお寄せいただきありがとうございます。その新しい知識。 +1のコメント。 – Jomoos