配列の宣言と初期化Java言語に限らず、プログラミングを行う際にはどの言語でも必ず変数を用いることになります。多くの場合、変数には宣言と初期化が必要です。宣言とは、ある変数をこれから使えるようにする、と宣言し、その変数のためにメモリ上に適切なサイズの領域を確保することです。初期化とは、最初にその領域に値を代入し、使えるようにすることです。言語の種類にってよっては、宣言を省略することも可能ですが、そのような言語の場合、最初に値が代入された段階で、宣言と初期化がなされたとみなされます。Javaで変数を使う際には、必ず宣言と初期化をしなくてはいけないという決まりになっています。a;としなくてはなりません。これにより、はじめて整数型変数aが使えるようになります。5;のように値を代入すると、初めて変数aが使えるようになります。変数を宣言し、最初に初期値を代入することを初期化と言います。この初期化を行わずにaの値を元にして何らかの演算処理などを行おうとすると、例外が発生し、プログラムが強制終了されてしまいます。Javaの配列変数は自動的に初期化されるただ、配列の場合は少し事情が異なります。配列の宣言は、以下のように行います。double[5];これらはそれぞれ、長さ10の整数型配列であるn、長さ5の実数型配列dの宣言です。この状態で、値は0で自動的に初期化されるのです。配列変数に関しては、初期化を省略することが可能なのです。Java言語は、C言語をもとにして作られた言語なのですが、C言語では、配列を宣言した状態では値が初期化されることは無く、宣言と初期化の二度処理をしなくてはならず、大変面倒でした。Java言語はその教訓を活かして、プログラマーの手間を省けるように工夫されているのです。初期化が必要なのか変数の初期化が必要な理由は、もしも初期化をしない状態でその変数を用いて演算処理を行おうとすると、例外(実行時エラー)が発生し、プログラムがとまってしまうからです。前述の通り、配列変数の場合は例外です。配列変数は、配列変数を宣言した状態で、初期化が行われています。配列以外の変数の場合は、一つだけ値を設定すればよいので楽ですが、配列の場合数が多いので、初期化をするのは大変です。そのため、Java言語では、宣言をした状態で、0などのデフォルトの値が設定されるようになっており、初期化の手間を最小限にできるような仕組みがあらかじめ用意されているのです。ちなみに、配列の値が文字列の場合は、空文字列(くうもじれつ)となります。これは、中身が空っぽの文字列と言う意味で、文字列自体は存在するものの、長さが0、つまり何も書かれていない空っぽの文字列という意味です。データが何も無いというnullとは明確に意味が違いますので、注意が必要です。一次元配列の初期化Javaでは、配列が自動的に初期化されるものの、配列でも0もしくは空文字ではないあらかじめ決められた値で初期化をしたい場合も少なくありません。そのような場合、配列の一つ一つの値を順次値を代入していくのは大変です。そこで、Java言語には、初期化子(しょきかし)という、配列変数の初期化を容易にする非常に便利な仕組みを用意してくれています。};のように宣言すると、自動的に以下のような処理をしたのと同じことになります。文字列の場合も同じです。“orange”;つまり、初期化子を使えば、配列の宣言と初期化を同時に行うことが出来ます。これにより、ソースコードが非常に短く出来ると共に、すっきりとして大変読みやすくなります。長さが極端に長い配列は別として、あらかじめ数がわかっていて、初期化する値が決まっている場合は、この初期化子を用いると、配列の扱いが手軽に出来ます。初期化子は、一次元配列のみならず、多次元配列でも用いることが出来ます。5}};二次元配列の初期化とすると、以下と同じ処理を行ったことになります。これにより、3×3の格子の中に初期値が自動設定された状態で配列変数numを利用することが可能なのです。このような初期化は不揃いでもかまいません。3},{4},{5,6,7,8}};ジャグ配列の初期化とすると、不揃いな形の配列が出来上がります。array)といいます。このジャグ配列という言葉は正式な呼び名ではなく、マイクロソフトが開発したC#言語の用語のものです。ちなみに、ジャグ(jagged)とは、「ギザギザ」という意味で、文字通りぎざぎざの形状をした配列のことです。初期化の際の注意点このように大変便利な配列の初期化子なのですが、使用する際には制約があります。それは、配列を宣言する段階で、初期化する全て値が決まっていることです。初期化しなくてはならないようなデータがたくさんある場合も不向きです。理論的には、100個でも、1000個でも、初期化子を用いて宣言と初期化を行うことは可能ですが、プログラマーがそれを行うことはほぼ不可能でしょう。初期化子を用いる場合、データはあくまでもプログラマーが視認できる範囲内の数に抑えておく必要があります。配列の初期化を行う場合には、通常のように宣言と初期化の処理を分けるか、それとも初期化子を用いるかは、状況に応じて臨機応変に変えていく必要があります。初期化子を含むJavaのソースコードは気をつけないと複雑になりがちです。そのため、配列以外にもコメントをつけるなどして、少しでもソースコードを読みやすくする工夫も必要です。以上がJavaの配列の初期化の説明です。Java言語には、プログラマーが配列変数を扱う際に宣言と初期化をするたに様々な仕組みが用意されていることがわかります。プログラマーはこの仕組みを有効に活用すると、読みやすく、かつデバッグのしやすいプログラムを作ることが可能なのです。▶Java案件のイマがわかる!知って見つかる最適案件ポテパンが提供するサービスについて本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。ポテパンフリーランスフリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。>>ポテパンキャリアエンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。>>ポテパンキャンプポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。本スクールは受講料25万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。>>株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。初心者のためのJava講座。正規表現を使って「〜以外」をマッチさせてみる正規表現は、文字・文字列のパターンを表現するものです。プログラミングの適性があるかチェックしてみよう!プログラミングには適性があります。プログラマーの単価相場とはどれぐらいか。エンジニアキャリア領域を得意とし5000名以上のキャリア相談実績あり。エンジニアキャリア領域を得意とし5000名以上のキャリア相談実績あり。日本人が開発したプログラミング言語というくらいは耳にしたことがあるかと思います。正規表現を使って「〜以外」をマッチさせてみる正規表現は、文字・文字列のパターンを表現するものです。NULL判定や、Switch文のような分岐をする方法たまに使うと、構文エラーを連発してしまうSQLのif文。USポテパンはエンジニアと企業の最適なマッチングを追求する企業です。敷居が高いのが良かった!!就業経験なしから2社内定を貰いRubyエンジニアに転職成功!!。