はじめにJavaには基本データ型と参照型の2つのデータ型があります。基本データ型Javaでは8つの基本データ型が用意されています。true,false基本データ型は、プリミティブ型とも呼ばれます。実際のプログラミングにおいても、基本データ型は頻繁に利用します。byte、short、charは、他のプリミティブ型に比べて利用する機会は少ないです。いえ実装者は、全てのプリミティブ型を理解して使い分ける必要があります。参照型Javaでは、基本データ型(プリミティブ型)以外は全て参照型です。参照型の変数は値が置いてある場所(メモリ上のアドレス)を保持します。参照型と参照先なので、同じ参照先をもつ変数がある場合、どちらかの変数を変更すると他の変数の値も変更されます。参照型の配列、文字列、クラスの動作を実装して確認しながら学習していきましょう。配列は連続したデータを格納することができます。データは0から始まる添字で管理します。変数配列aを宣言して値を出力してみましょう。a[1]);上記のコードを実行します。2この配列aの値を変数bに代入します。b[1]);実行します。2変数aと変数bは同じ値が出力されます。変数aと変数bが同じ参照先を指しています。配列bのb[0]に10を代入してみます。2配列bのb[0]だけでなく、配列aのa[0]の値も変わってます。これは、aとbが同じ配列を参照しているからです。a[0]とb[0]は全く同じアドレスを見ています。初心者のうちは間違えてしまうことも多いので、理解しておいてください。Stringクラスは参照型なのですが、基本型のように使うことができます。最初は戸惑うと思います。実際にコードで動きを確認してみます。s2)でオブジェクトの同一性をチェックしています。オブジェクトの同一性は比較演算子「==」で判定します。このコードを実行します。なっているので同じオブジェクトだと確認できます。値を書き換えてみます。worldfalse実行します。結果がfalseになりました。オブジェクトが異なってしまったということです。これはどういうことでしょうか。実は、Javaの文字列は定数です。定数なので値を作成したあとに変更はできません。Stringは新しくオブジェクトを生成します。は新しい文字オブジェクトを生成しています。重要なのは、s1のオブジェクトは変更されず、s2だけが別のオブジェクトとして扱われるようになることです。Stringの仕様は、最初は戸惑うと思いますが、慣れると基本型のように扱えるので重宝します。クラスクラス型はオブジェクトを生成して、基本データ型や参照型を保持できます。この講義ではUserクラスを作成して動作を確認します。変数user1と変数user2は同じ参照先です。なっているので同じオブジェクトだと確認できます。変数nameの値も同じです。user2のname属性の値を変更してみます。user2);実行して確認します。satosatotrueuser1.nameとuser2.name2の両方の変数が書き換わりました。trueなので、user1とuser2が同じオブジェクトを参照していることも確認できます。まとめこの講義では、Java言語でのデータ型の特徴について学習しました。Javaでは、基本データ型と参照型を理解することが、正しいコードを書くための第一歩です。同じ参照型であるStringと配列の挙動の違いは理解しにくいので、慣れも必要になります。演習この講義に関連する演習問題を用意しました。理解度を確認してください。