ここから本文です

Java 配列の使い方 初心者です. int[] test={5,10,3}; という書き方で覚え...

bbo********さん

2019/1/2222:00:45

Java 配列の使い方

初心者です.

int[] test={5,10,3};
という書き方で覚えました.

しかし,
int[] test;

test=new int[3];
という書き方もネットで見かけます.
(要素数を含めた宣言のみで初期化はしていないということでしょうか?)

このnewとはなんですか?
またこの書き方をする利点,必要性はなんですか?

閲覧数:
46
回答数:
2

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

ii3********さん

2019/1/2223:05:45

int[] test;
↑ 変数testの宣言。testはint型の配列。testの中身はnull。
test = new int[3];
↑ 変数testの初期化。testはint型の配列だから、"new int[];"で初期化する。[]の中の3は要素数を表す。初期化して要素数を3に決めただけだから、配列の中身は初期値(= 0)のまま。要は{0, 0, 0}の状態。

int[] test = new int[3];
この様↑に、宣言と初期化をいっぺんに書く方法もある。


int[] test = {5,10,3};
↑ これは変数の宣言や初期化などを一発で書いてるだけ。細かく分割して書くと、
int[] test;
test = new int[3];
test[0] = 5;
test[1] = 10;
test[2] = 3;
となる。


コーディングの段階で配列の中身が決まっているなら、
int[] test = {5,10,3};
と書いても構わない。
けれど、最初から中身が分かってるなんてのは序盤のうちだけ。
配列の要素数や配列の中身は、実行時に決まることの方が多い。
そういう時に
int[] test;
の方を使う。

例)生徒のテストの点数を入力して平均点や最高得点を出すようなプログラムを作る。
生徒の人数に制限は無い。
最初に生徒の人数を入力し、その後、各生徒の点数を入力する。

int[] test;
int cnt = 生徒の人数の入力;
test = new int[cnt];
for (int i = 0; i < test.length; i++) {
test[i] = i番目の生徒の点数の入力;
}

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

あみやさん

2019/1/2223:07:02

new はオブジェクトを生成する時に使います。
JAVAでは配列もオブジェクトの一つなのです。
newを使った書き方でも自動的にデフォルトの値で初期化されます。

int[] test={5,10,3};
と書いた場合は、それらの処理を自動的にやってくれています。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる