―Javaプログラミングの前提知識―
2003/2/27
配列の宣言方法(1) ― 宣言の基本 ― |
ワンポイントQuestion |
Javaでの配列宣言として正しいものを選んでください。(複数選択)
|
配列の宣言方法 |
配列とは、集合型データを扱うことができるデータ型の1つで、その特徴は以下のようになります。
- 1つの配列では1つのデータ型しか扱うことができません。
- 宣言されて大きさが決まった配列はサイズを変更することができません。
配列は以下の手順で作成、使用します。
(1)配列を宣言
代入する値の型で配列を宣言します。宣言方法は以下の2通りあります。
データ型名 配列名[]; または データ型名[] 配列名; 例) int num[]; または int[] num; |
(2)配列の領域確保
配列の領域をメモリ上に確保します。使用するnewはJava言語の予約語です。
配列名 = new データ型名[要素数]; 例) num = new int[4]; |
領域が確保された配列に値を代入する場合は、添字を指定して配列の何番目に値を代入す るか指定します。添字は0から始まります。
例) num[0] = 10; (配列numの先頭要素に10を代入) |
配列の様子 |
上述の手順で配列を使用することが可能ですが、「宣言と領域確保」と「宣言と領域確保と値の代入」を同時に行うこともできます。
■「宣言と領域確保」を同時に行う場合
データ型名 配列名[] = new データ型名[要素数]; 例) int num[] = new int[4]; |
■「宣言と領域確保と初期化」を同時に行う場合
データ型名 配列名[] = {値1, 値2, 値3, 値4 …}; 例) int num[] = {10,8,10,9}; |
main()メソッドの引数の型は、String型の配列です。javaコマンドのコマンドラインから渡される引数を処理するコードは、例えば以下のようになります。
main()メソッドの引数処理 |
public static void main(String args[])
{ |
本設問の選択肢Aは配列名の宣言をおこなおうとしている、もしくは宣言と領域確保を同時にしていますが、このコードは間違いです。
正しくは、
宣言のみの場合 | int data[]; |
宣言と領域確保の場合 | int data[] = new int[5]; |
となります。
選択肢Bは宣言と領域確保を同時におこなおうとしていますが、配列名dataの後に[]が抜けているため間違いです。正しくは、
int data[] = new int[5]; |
となります。
選択肢Dは多次元配列の宣言です。「配列の宣言(2)」を参照してください。選択肢Fは宣言と領域確保と初期化を同時におこなおうとしていますが、代入される初期値が「{}(中カッコ)」で囲まれていないため間違いです。正しくは、
String str[] = {"あいうえお"}; |
となります。
POINT | ||||||
●配列も参照データ型の1つです。 ●配列名.lengthとして配列の大きさを調べることができます。
●確保した領域の外をアクセスした場合、例外が発生します。
●配列の領域確保時に負の値を指定してしまうと例外が発生します。
|
KEYWORD |
■java.utilパッケージ |
ワンポイントQuestionの解答 |
正解 C、D、E
Java2ラーニングブック
−310-035 編− 本記事は@ITハイブックスシリーズ「Java2ラーニングブック −310-035 編−」(技術評論社)から、一部の内容を編集し転載したものです。本書の詳細は「@ITハイブックス」サイトでご覧いただけます。 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|