• 締切済み

複合演算子(%/=)について

情けない質問で恐縮ですが、どなたか教えてください。 複合演算子(%/=)についてです。 int a; a=10; a%/=3; このときのaの値は1のようなんですが、理由が分かりません。 どなたかご教授いただけませんでしょうか。 よろしくお願いします。

みんなの回答

回答No.4

以下のソースではコンパイルエラーになりますので、参考書の誤植だと思われます。 //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)
回答No.3

もし差し支えがないのであれば、その参考書の書名等を教えていただけませんか? ひょっとしたら、出版社や著者のwebページに正誤表があったりするかも。

  • snowize
  • ベストアンサー率27% (68/245)
回答No.2

a %= 3 ならば a = a % 3 となるので、剰余が計算されて a に 1 が代入されます。 a /= 3 ならば a = a / 3 となるので、除算されて a に 3 が代入されます(整数同士の計算なので小数点以下は含まれません)。 a %/= 3 という式は成立しないので、結果からおそらく a %= 3 の誤りではないかと思うのですが。 「そんなことない、本当にこの演算子で動く!」というのでしたら、試しにオリジナルソースと、aの値を変化させた場合の実行結果がほしいです……。何かしら理由はあるはずなので。

blue1171
質問者

補足

a %= 3 a /= 3 ならば、なんとか自力でわかったのですが、、。 現在勉強中の身で参考書に書いてあった文面なので、もしかしたら参考書のミスかもしれません。 ご迷惑をお掛けしました。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

%= ならその式で結果が1になると思いますけど %/= ってありましたっけ?

blue1171
質問者

補足

回答ありがとうございます。 自分も初めてみました。 現在参考書にて勉強中なのですが、参考書側のミスなのですかね。 そのくらいの判断も付かず申し訳ないです。

関連するQ&A