
―Javaプログラミングの前提知識―
2003/2/27
| 明示的な割り当てをしない配列 |
| ワンポイントQuestion |
次のjavaコマンドでArray.classを実行したときの出力結果を説明している文として、正しいものはどれですか? (単一選択)
>java CreateArray aa bb cc dd |
1: class Array{ |
|
| 配列の宣言方法 |
本設問にあるArrayクラスはint型のiとString型のstrと2つの配列をメンバ変数として定義しています(プログラム2、3行目)。
メンバ変数に明示的に初期値を設定しない場合、変数の型に応じて自動的にデフォルト値が割り当てられます。
変数がint型であればデフォルト値は0、String型であればnullとなります。
本設問では配列iとstrは宣言と領域確保のみで、明示的な初期値の設定なしにprintArrayメソッド(5〜8行目)の処理に利用されています。
よって、int型である配列iの初期値には「0」、String型の配列であるstrの初期値には「null」が配列要素として代入されます。
問題文のプログラムでは、13、14行目にてArrayクラスのオブジェクトをつくりprintArrayメソッドを実行し、配列iとstrの3番目の要素を出力しています。このとき出力されるのは自動的に割り当てられたデフォルト値です。
次に、16行目からのfor文にてコマンドラインから入力した値を配列strに順次代入し、その結果を出力します。
処理はfor文で繰り返し処理をおこないますが、繰り返しの終了条件が「j < args.length」なので、問題文にあるようにプログラム実行時に値を4つ入力すると終了条件がj<4となるため、str配列の要素数3よりも1回多く繰り返しがおこなわれることになり、正常終了しません(下図)。その際、ArrayIndexOutOfBoundsExceptionの例外が発生します。
![]() |
| 配列の外をアクセスしたようす |
| POINT | ||||||||||
|
クラス要素として宣言される変数をメンバ変数といいます。メンバ変数は明示的に初期値を設定しないと、変数の型に応じたデフォルト値が自動的に割り当てられます。各基本データ型変数に定義されたデフォルト値の一覧では次のとおりです。
参照データ型変数のデフォルト値はnullです。配列は参照データ型の変数なので、デフォルト値はnullになります。 |
| KEYWORD |
|
■メンバ変数とローカル変数 |
| ワンポイントQuestionの解答 |
正解 C
| Java2ラーニングブック
−310-035 編− 本記事は@ITハイブックスシリーズ「Java2ラーニングブック −310-035 編−」(技術評論社)から、一部の内容を編集し転載したものです。本書の詳細は「@ITハイブックス」サイトでご覧いただけます。 |
![]() |
ホワイトペーパー(TechTargetジャパン)
- Webの表示速度を遅くする「SSLハンドシェイク」とは (2010/2/9)
安全性を担保しようとWebページにSSLを適用すると、負荷の高い処理が実行される。速度と安全性は両立できるのか? - クラウド活用「雲活」のために押さえるべき39のポイント (2010/2/2)
活用するべきサービスか否か、クラウドの利点・問題点、クラウドプラットフォーム提供企業になるための条件、開発者がするべきことに分けて紹介 - 再利用性の高いクラス作成に重要な“アクセス制御” (2010/1/28)
Javaのアクセス修飾子public、private、protectedや、Eclipseで簡単に作れるアクセサメソッドgetter、setterについて解説 - DB設計の神ツール「ERMaster」なら、ここまでできる (2010/1/21)
直感的なUIに、カスタマイズ可能な、Excel出力のテーブル定義書、辞書機能など多機能なERモデリングの無料Eclipseプラグインです
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |








