

No.3ベストアンサー
- 回答日時:
argumentsの短縮とは思いますが、議論とはちょっと違いますね。
新しい辞書などには、「【コンピュータ】関数の引き数」というように掲載されていますから、既にそういう意味として定着しているんじゃないかと思いますよ。mainの引数の変数名がargsである理由はありません。別に、なんの決まりでもありません。main(String[] hoge)だろうが、main(String[] okwave)だろうが、なんでもかまいません。
なぜargsなのかというと、Javaの開発元であるSun Microsystemsが当初から配布していたドキュメントでそういう変数名を使っていて、初期の頃の解説書の類いがみんなそのスタイルを踏襲していたので、なんとなく「そうするのがマナー」みたいな暗黙の了解ができあがった・・・というようなことなんじゃないでしょうか(想像ですが)。
また、Javaに限らず、forの繰り返しで使われるカウンタ変数は、未だにi,j,kという名前が使われていたりしますね。これなども、すべて、そうする理由は全くありません。
ただ、実際にコードを書いていると、「暗黙の了解」があったほうがコードは書きやすいんです。「iとあったらforのカウンタ」「argsといえばmainの引数」と、誰もが暗黙の了解としてそう書くのが当たり前ということになると、それだけ「この変数はなんだ?」と悩む必要がなくなるわけです。逆に、argsやiを全く別の場所で使ったりすると、他人がそのコードを読んだ場合、「あれ? このargsってmain引数と思ってたんだけど・・・違うのか?」なんてことになり、勘違いしたりする可能性が出てきます。
そういうこともあって、あえて暗黙の了解を無視したコードを書く人はあまりいないんでしょう。そうする利点があまりありませんから。
No.5
- 回答日時:
argsは、変数名です。
名前は"args"である必要はなく、変数名として使える名前であれば、何でもかまいません。ただ、一般的な風習として"args"が使われているのが現状です。"args"以外を使ってもかまいませんが、一般的な人が見ると、なぜ"args"じゃないの?と思われたり、コードの読解に時間がかかる場合もあります。
なので、こういう風習は真似をして、素直に"args"を使っておくことをお勧めします。
ちなみに、
Java:(String[] args)
C#:(string[] args)
C:(int argc, char* argv[])
こんな感じです。
No.4
- 回答日時:
Kyon2_PaPaさんが言うとおり、
「args」という名前を使うのは慣習です。
プログラミング言語には
(義務ではないけど)みんなが従っている慣習がいろいろあります。
たとえばクラス名は大文字で始まるというのもそうです。
慣習に従っておいて損はないでしょう。
ちなみに
「引数(arguments)」というのは誤りで
「パラメータ(parameters)」が正しいのだけど
間違ったまま慣習として定着してしまったのだそうです。
No.1
- 回答日時:
こんにちは。
私的な意見なので、あまり参考にしないで下さい。
Javaのプログラムは、メインから開始されます。
コマンドブロンプト等でから実行する場合、引数を与えることがありますよね。
その引数を受け取る変数配列です。
ですから、
(1)main(String args[])と書いても間違いではない。
(2)main(String argv[])と書いても間違いではない。
みたいです。
はい、私も変数なら何でもいいのでは?
と思っていたのですが、これ意外に見た事がなく、ひょっとして特殊なものなのかな?と思い、変数名を変えてみたもののあまり変化がなくって。
特にJAVAは変数なのか?それとも決まり切った単語なのかが素人の私にはわかりにくくって。
とても参考になりました。
ありがとうございますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java java final 1 2022/06/10 22:49
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- Java eclipse実行ができない 2 2022/07/27 04:47
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- その他(プログラミング・Web制作) pythonをjupiter notebookからmecabで頻出の高い単語の抽出について(Runt 1 2022/12/17 18:08
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javaで文字と数字が混ざったも...
-
Vectorに入ってるデータをJTabl...
-
セッションを使ったint型の値の...
-
jspでの二次元配列
-
hit&blow
-
[Ljava.lang.Stringってなんですか
-
正規表現について
-
カンマで区切られたメールアド...
-
JListに一覧にして表示
-
C#で動的配列Listの中身をListB...
-
n番目に大きな値を探索する
-
ArrayListからBean配列に値をセ...
-
ページング
-
同じ文字を探しカウントしたい
-
『args[]』とは?
-
九九の表の応用
-
JavaのCalendarのMONTHはなぜ0...
-
配列について
-
javaでの文字列からの数字抽出
-
Struts:可変個数のテキストボ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Javaで文字と数字が混ざったも...
-
フローチャート
-
この警告はどうすれば?
-
[Ljava.lang.Stringってなんですか
-
配列で、値の入っている要素数...
-
C#で動的配列Listの中身をListB...
-
配列の中に複数存在する数がい...
-
セッションを使ったint型の値の...
-
【C#】ハッシュテーブル(連想...
-
javaについて
-
javaでの文字列からの数字抽出
-
配列について
-
javaで大容量テキストファイル...
-
配列数を超えてアクセスしたと...
-
【Ajax通信&Java】配列の受け取...
-
『args[]』とは?
-
ArrayListからBean配列に値をセ...
-
C言語でunsigned char配列を連...
-
strutsで2次元配列をやりとりす...
-
javamailで複数人にメールを送...
おすすめ情報