今回解説するのはJavaのデータ型の1つである参照型です。
前回プリミティブ型をご紹介しましたが、参照型はプリミティブ型と異なり、値そのものを変数に代入するというものではありません。
参照型は値が置いてある場所(アドレス)を変数に入れるというものです。
初めて学ぶ人にとっては少し難しく感じるかもしれませんが、使用例なども交えてわかりやすく解説していきます。
今回は自分がよく使用する下記の4つの参照型ご紹介していきます。
- String型
- 配列型
- Date型
- List型
String型
まず一つ目はString型です。
これは文字列を格納することができるというものです。
下記ページでご紹介したchar型は1文字だけ格納することができましたが、このString型は複数文字を入れることができます。
Javaのプリミティブ型(データ型)解説【初学者・初心者用】 | エンジニアKISARAGIの備忘録 (kisaragi-it.com)
そして平仮名だけでなく漢字も入れることができるという優れもので、ソフトやアプリを作成する際は必ずと言っていいほど使用します。
使用頻度も高いのでぜひ覚えてみてください。
使用方法は下記の通りプリミティブ型とほぼ同様です。
String 変数名="値";
そして使用例とその実行結果は下記の通りとなります。
【使用例】
public class Main{
public static void main(String[] args){
String sentence="佐藤";
System.out.print("私の名前は"+sentence+"と申します");
}
}
【実行結果】
私の名前は佐藤と申します
配列型
次に解説するのは配列型です。
配列型は複数の値をまとめて1つの値として管理することが可能なデータ型です。
イメージとしては電車の車両が数珠つなぎとなっていて、一つ一つの車両に人(値)が入っているというものです。
因みに配列の中に入れる値はすべて同様のデータ型である必要があります。
使用方法としては何パターンかありますので、それぞれ解説していきます。
空の変数を作成
1つ目の方法は空の配列を作成するというもので、使用方法としては下記となります。
データ型 変数名[]=new データ型[インデックス];
上記方法で作成した場合ですと中身は空のため、この後に値を代入するという処理が必要になります。
配列変数宣言段階で入れる値がまだ決まっていない場合にこの方法を使用します。
使用例と実行結果については下記の通りとなります。
【使用例】
public class Main{
public static void main(String[] args){
int array[]=new int[5];
array[0]=70;
array[1]=90;
array[2]=85;
array[3]=59;
array[4]=65;
System.out.println("国語:"+array[0]+"点");
System.out.println("数学:"+array[1]+"点");
System.out.println("英語:"+array[2]+"点");
System.out.println("理科:"+array[3]+"点");
System.out.println("社会:"+array[4]+"点");
}
}
【実行結果】
国語:70点
数学:90点
英語:85点
理科:59点
社会:65点
ここで注意していただきたいのはarray[5]と5つの変数を用意しましたが、使用する場合はarray[0]~[4]の変数を使用することになります。
そしてarray[5]を使おうとすると実行でエラーが発生しますので、覚えておいてください。
始めに値を代入
2目の方法は初めから配列に値を代入するというもので、下記方法で使用します。
データ型 変数名[]={値1,値2,・・・};
これは配列変数を宣言したと同時に値を入れるため、後から値を入れる必要がありません。
最初から入れたい値が決まっていれば、この方法を使用することでコードの記載が1行ですみますので、作業量的も少なく、見た目もいいので使用をオススメします。
使用例と実行結果は下記のとおりです。
【使用例】
public class Main{
public static void main(String[] args){
String array[]= {"山田","青木","松下","中村"};
System.out.println("今回のチームは"+array[0]+"、"+array[1]+"、"+array[2]+"、"+array[3]+"で実施していくこととなった");
}
}
【実行結果】
今回のチームは山田、青木、松下、中村で実施していくこととなった
Date型
3つ目にご紹介するのはDate型です。
読んで字のごとく日付を表すデータ型です。
使用方法としては下記の通りとなります。
Date 変数名=new Date();
使用頻度としては今回ご紹介する参照型の中では少ないですが、日付を表示させたい場合には重宝しますので、覚えておいて損はないかと考えています。
使用例、実行結果は下記の通りとなります。
【使用例】
public class Main{
public static void main(String[] args){
Date date_now=new Date();
System.out.println(date_now);
}
}
【実行結果】
Sat Jan 21 14:30:50 JST 2023
少し人間にはわかりにくい表示方法となっていますが、これを分かりやすく表示するにはCalendarクラスやSimpleDateFormatクラスを使用します。
詳細はまた別記事で記載させていただきますので、今回は日付表現をするとなるとDate型という参照型を使用するのだなということだけ頭に入れておいてください。
今回の実行結果ですと、「2023年1月21日土曜日14時30分50秒」という現在の日時が表示されています。
因みにJSTとは日本標準時の事を表しています。
List型
最後にご紹介するのはList型です。
機能としては配列と似ていて、複数の値を1つの値として管理することができます。
ただ配列とは決定的に異なる点があります。
それは配列ですと宣言時に作成した要素数以上の値を代入することができませんが、List型ですと後から値を追加したいとなった場合にも簡単に追加することができます。
例えると電車の車両に後から新しく車両を連結させるというイメージです。
下記方法で使用します。
List<データ型> 変数名=new ArrayList<データ型>();
少し難しい記載方法ですが、ListがインタフェースでArrayListがクラスとなっています。
インタフェースやクラスに関してはまた詳しく解説しますが、イメージとしてはインタフェースは実体のない設計図、クラスは設計図を基に作成したモノという感じです。
使用例と実行結果は下記の通りとなっています。
【使用例】
import java.util.ArrayList;
import java.util.List;
public class Main{
public static void main(String[] args){
List<String> list=new ArrayList<String>();
list.add("徳島県");
list.add("香川県");
list.add("愛媛県");
list.add("高知県");
System.out.println("四国は"+list+"の4県である");
}
}
【実行結果】
四国は[徳島県, 香川県, 愛媛県, 高知県]の4県である
List内の値はString型となっています。
使用方法は少し難しいので、他のデータ型の使用方法にある程度慣れてきたときに手を出すのがいいと思います。
それとここで使用したListやArrayListを使用するとなると下記の通りにインタフェース・クラスをインポートする必要があります。
import java.util.ArrayList;
import java.util.List;
インポートは他のパッケージに記載されているインタフェース・クラスを使用するために記載する必要があります。
まとめ
今回の記事ではデータ型の参照型について下記手順で解説してきました。
- String型
- 配列型
- Date型
- List型
初心者には少し難しい内容となっていますが、まずはString型、配列型を覚えて使えるようになってください。
そしてある程度Javaに慣れてきたらDate型、List型を使い始めていくのがいいと思います。
具体的には
String型、配列型→Oracle認定資格のJava Bronze
Date型、List型→Oracle認定資格のJava Silver
の試験を受ける際に必要になってきますので、そのレベルに到達したら勉強し始めるのがいいでしょう。
あまり色々と一気に詰め込んでも忘れたり、途中で挫折してしまうだけですのでまずは簡単なところから始めることをオススメします。
以上で今回の解説は終了となります。
コメント