- 締切済み
複合演算子(%/=)について
情けない質問で恐縮ですが、どなたか教えてください。 複合演算子(%/=)についてです。 int a; a=10; a%/=3; このときのaの値は1のようなんですが、理由が分かりません。 どなたかご教授いただけませんでしょうか。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- osu_neko09
- ベストアンサー率48% (56/115)
以下のソースではコンパイルエラーになりますので、参考書の誤植だと思われます。 //4405048 class test4408 { public static void main(String args[]) { int a; a=10; a%/=3; System.out.println("a="+a); } } ===>javac test4408.java test4408.java:8: 式の開始が不正です。 a%/=3; ^ エラー 1 個 C:\java>
- sakusaker7
- ベストアンサー率62% (800/1280)
もし差し支えがないのであれば、その参考書の書名等を教えていただけませんか? ひょっとしたら、出版社や著者のwebページに正誤表があったりするかも。
- snowize
- ベストアンサー率27% (68/245)
a %= 3 ならば a = a % 3 となるので、剰余が計算されて a に 1 が代入されます。 a /= 3 ならば a = a / 3 となるので、除算されて a に 3 が代入されます(整数同士の計算なので小数点以下は含まれません)。 a %/= 3 という式は成立しないので、結果からおそらく a %= 3 の誤りではないかと思うのですが。 「そんなことない、本当にこの演算子で動く!」というのでしたら、試しにオリジナルソースと、aの値を変化させた場合の実行結果がほしいです……。何かしら理由はあるはずなので。
- sakusaker7
- ベストアンサー率62% (800/1280)
%= ならその式で結果が1になると思いますけど %/= ってありましたっけ?
補足
回答ありがとうございます。 自分も初めてみました。 現在参考書にて勉強中なのですが、参考書側のミスなのですかね。 そのくらいの判断も付かず申し訳ないです。
補足
a %= 3 a /= 3 ならば、なんとか自力でわかったのですが、、。 現在勉強中の身で参考書に書いてあった文面なので、もしかしたら参考書のミスかもしれません。 ご迷惑をお掛けしました。