最近javaの学習を始めました。
その中で
public static void main(String[]args){}
の「[]」こちらの記号の意味が分からずご教授いただけますと幸いです。
初歩的な質問になりますが、よろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
配列を宣言するためのカッコです。
投稿2019/05/23 07:36
総合スコア145183
0
ベストアンサー
関数の引数にも型宣言というのがあります。
上記では変数の型を設定していますが、関数の引数にも型宣言をする必要があり、
要は「この型以外の引数を渡すな」という意思表示になるわけですね。
というわけで、配列の変数を宣言するときと同じ[]
です。
投稿2019/05/23 07:47
総合スコア80850
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
ご回答ありがとうございます。
学習し始めたばかりで理解力が少し追いついていないのですが、
例えばString[]argsだと「文字列」以外の引数を渡さないようにする為に[]を利用しているのでしょうか?
仮に[]を外した場合どうなるのでしょうか?
よろしくお願い致します。
2019/05/23 08:01
> 仮に[]を外した場合どうなるのでしょうか?
main関数として実行できなくなります(Java実行時に動くmainは「String[]の引数を取るもの」ということが決まっています)。
2019/05/23 08:08
>例えばString[]argsだと「文字列」以外の引数を渡さないようにする為に[]を利用しているのでしょうか?
ここをどう説明するかちょっと悩みますが、
特にString[]とした場合は任意の数渡ってくることが想定されています。
test.java aaa bbb ccc ddd
みたいな感じですね。
任意数なので引数の数が0でも1でも良いのですが、文字列以外は渡せないということになります。
外した場合についてはmaisumakunさんのコメント通りです。
mainでは試せないので下記のようなメソッドを作り
public void test1(String[] args){
}
public void test2(String arg){
}
引数を色々かえてみて試してみれば良いのではないでしょうか。
test1(1);
test1('a');
test2(1);
test2('a');
2019/05/23 08:08
[]の意味が全く分かりませんでしたが、ご教授いただき少し理解できたように思います。
今後学習を進めていき理解を深めたいと思います。
ありがとうございました。
2019/05/23 08:09
[]だけで見るとおそらく今後つまずくので
String[] で「1つの型宣言」と覚えてください。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/23 07:59
2019/05/23 08:00
2019/05/23 08:07