まず、演算子、演算、オペランド、ステートメントなどのJava言語の用語があります。 確立された伝統のおかげで、ロシア語の翻訳では、演算子という用語はほとんどの場合「操作」と翻訳されます。 たとえば、Horstmanの最初の巻では、「Operation /は整数除算を意味します」と読みました。 そして、これは孤立した例ではありませんが、一般的に受け入れられているプラクティスです。 さて、ロシア語の翻訳では演算子と操作の概念を組み合わせてみましょう。ただし、これは仕様と辞書の要件と矛盾します。 「演算子は、1つ、2つ、または3つのオペランドに対して特定の操作を実行し、結果を返す特別なシンボルです」 ただし、さらに先に進みましょう。
次に確立されたスタンプは、「演算子」という用語をステートメントの概念の翻訳として使用することです。 ここで問題はより深刻です。2つの完全に異なる概念が絡み合っており、そのような自由な解釈は、言語の基本に関係する特定の矛盾と矛盾を引き起こし、したがって全体としての理解に影響を与えます。
仕様に関して: 「文は自然言語の文とほぼ同等です。 文は、実行の完全な単位”と、以下を含むすべての“演算子”を形成します。 分岐、ループなど。仕様では文と呼ばれていますが。
たとえば、翻訳された文献を読んだ今、あなたはすでに主要な情報源を参照することでいくらか戸惑うでしょう。 しかし、それだけではありません。 たとえば、オペレータ(または指示)に目を向けましょう。
switch (choice) { case 1: . . . . break; case 2: . . . . break; case 3: . . . . break; case 4: . . . . break; default: // break; }
ここで使用されている概念に定義を与えることができます:switch、choice、case n(caseに対して別々に、nに対して別々に)、default、break ここで、例えば、同じホルストマンの翻訳者が想像するように:
実行は、choice変数の値1に対応するcaseブランチのラベルで始まり、次のbreakステートメントまたはswitchステートメントの終わりまで続きます。。 個人的に私は言葉遣い
選択変数の値1に対応もちろん、あなたは推測することができますが、st迷に導入します。 しかし、これは主なものではありません。 これは、用語ステートメントを「演算子」という単語に翻訳する確立された伝統を示しており、英語を話す相手との関係で混乱を招いています。 提起された質問に関しては、仕様がそれをどのように解釈するかを以下に示します。
switch-ステートメント。
選択-式;
ケース-スイッチラベル;
n-ケース定数。
break-ステートメント。
→ 公式言語仕様
さて、翻訳の伝統について。 どうやら、彼らはソビエト連邦でのプログラミングの夜明けに形を取り、後に言語から言語へとさまようようになりました。 私の知る限り、ロシア語によるJava言語仕様の翻訳の最初の試みは1999年に行われました 。 しかし、再び、私が知る限り、それは印刷されませんでした。 実際、それは上記の確立された伝統に敬意を表しました。 しかし、2015年にようやく、印刷された翻訳がリリースされました 。 そして、ここで、用語の意味が修正されたことがわかりました。私の意見では、 公式の英語仕様とより一致しています。 私には思えますが、不満もあります。 このエディションでは、オペレータは「オペレータ」を意味し、ステートメントは「指示」を意味します。
私の意見では、質問はその基礎と正しい理解が構築されている言語の基礎に関するものであるため、質問は複雑ではないため、専門家の意見を知りたいと思います。 さらに、これに関連する質問は、たとえば、認定試験で出くわすことがあります。認定試験では、ご存知のように、特定の用語の異なる意味を想像できるプログラマーのコミュニケーションで、元の言語で受験しようとします。 または、Java言語仕様の公式ロシア語版がありますか? いずれにせよ、リリースには十分な不一致が蓄積されています。 結局のところ、上記のすべては個々の例にのみ適用され、間違いなくはるかに多くの例です。