Java 準備編　環境構築（JDK・Android Studio インストール）

## Java とは

https://and-engineer.com/articles/YaCYXBIAAB4AgJRT

https://www.javadrive.jp/start/install/index5.html

>Javaは世界的に利用されている汎用的なプログラミング言語です。Javaはサン・マイクロシステムズ社から1996年にリリースされましたが、同社が2010年にオラクルに吸収合併され、Javaの版権もオラクルに移行しました。

#### Javaの特徴

>▪Java自体は無償で利用が可能
▪C言語をベースに開発された人気の言語
▪プラットフォームに依存せず、JVM（Java仮想マシン）と呼ばれるソフトウェアを用いてWindowsやMac、LinuxなどあらゆるOS環境で動かすことができる
▪プログラムをモノとしてとらえるオブジェクト指向言語
▪ガベージコレクション機能により、メモリを浪費しない

といった点が挙げられます。


### ◎ JDK とは

JDKとは「Java Development Kit」の略語で、Javaのプログラム開発や実行に用いるプログラムのセット(キット)です。 __Java 開発環境__ などと呼ばれます。
JDKにはJavaプログラムを実行するためのJRE、Java プログラムのコンパイラ、デバッグツールなどが含まれます。 
JDKを用いることで、Java を使ったアプリケーション開発やアプリケーション実行までを一通り行えます。
JDKにはオラクル提供の「Oracle JDK」とOpenJDKコミュニティが提供する「OpenJDK」があり、「OpenJDK」はオープンソースで無償です。

### ◎ Javaを動かすために必要なもの

>JavaとJDKの関係はある程度理解されたかと思いますが、実際にJavaを動作させるには、Javaだけでは足りません。Javaを理解するには、Javaを動作させるために何が必要なのかを知っておく必要があります。Javaプログラム以外には次のものが必須です。

#### JVM（JREに含まれる）
JVMは「Java Virtual Machine」の略称です。 __Java 仮想マシン__ などとも呼ばれます。
Java で作成されたアプリケーションを Windows や Mac OS などで動かすために必要となるアプリケーションです。Javaのプログラムは、このJVM上で動作します。

Javaがプラットフォームに依存せず、あらゆるOSで動くのは、このJVMがプログラムとOSの橋渡しをしてくれるからです。
JVMはJavaを動かすために最低限必要なソフトをまとめたJRE（Java Runtime Environment）に入っています。これらは全てオラクル公式サイトからダウンロードの形で提供されています。

JVM が動作する OS 上であればどの OS 上でも同じ Java で作成したアプリケーションを実行することができますが、 Java アプリケーションを実行するには、実行する PC 上で事前に JVM がインストールされている必要があります。

#### API（JREに含まれる）
>APIはライブラリーのようなもので、Javaには次の3種類のAPIがあります。APIはJavaを動かすためには必須で、JREに含まれています。

>▪Java SE
「Java Platform, Standard Edition」の略称で、標準APIです。
▪Jakarta EE (Java EE)
「Java 2 Platform, Enterprise Edition」の略称、「Java SE」に企業（Enterprise）サーバー用の機能が追加されているAPIです。
▪Java ME
「Java 2 Platform, Micro Edition」の略称、情報家電や組み込み機器などに向けた機能セットのAPIです。

#### JRE

JRE とは Java Runtime Environment の略で Java のプログラムを実行するためのセットとなっています。 Java 実行環境とか Java ランタイムなどと呼ばれます。 JRE には先に解説した JVM や対応する API がセットになっています。

Java で作成されたアプリケーションは JVM 上で実行されますが、実際には JRE を各 OS にインストールすることで Java アプリケーションが実行できる環境が構築できます。 JRE は対応する Java SE のバージョンに合わせて、バージョン番号が付けられます。例えば JRE 8 とか JRE 13 とかです。

なお以前は JRE だけを単独でインストールすることが可能でしたが、 2019年12月 以降は JRE は単独で配布されておらず __JDK__ をインストールする必要があります。

#### コンパイラ（JDKに含まれる）
>人間が認識できる言語で書かれたプログラムを、コンピュータが解釈し、実行できる形式に変換するためのソフトウェアのことですが、コンパイラはJREではなく、JDKに含まれているので、プログラミングを行う場合は必ずJDKが必要です。
ちなみにコンパイル必須の言語を「コンパイラ言語」と称し、代表的なものとしては「Java」「C#」「C言語」などがあります。一方、コンパイルが不要な言語は「インタプリタ言語」と言い、「 PHP」「 Ruby」「Python」などがあります。

### ◎ API

__Java SE__ 、 __Java EE(Jakarta EE)__ 、 __Java ME__ の3つを目的に応じて使っていく

#### Java SE

Java SE とは Java Platform, Standard Edition の略で、 Java で使用される API をまとめたものです。 API とは Application Programming Interface の略で、 この場合は Java の機能やデータなどを利用するための呼び出し方を定義したものと考えてください。

Java で提供されている API は非常に多いのですが、 Java SE はその中でも基本となる API をまとめたものとなり、 例えば java.lang.String クラスなどが含まれます。

#### Jakarta EE (Java EE)

Java EE とは Java Platform, Enterprise Edition の略で大規模なシステムを開発する場合に必要となる API が含まれます。
Java EE は 2017 年に Oracle から Eclipse Foundation に移管されました。名称も Java EE から Jakarta EE という名前に変更しました。

デスクトップアプリケーションなどを開発する場合などは Java SE だけでもいい場合が多いのですが、企業のシステムなどより大規模な開発を行う場合には Jakarta EE を合わせて利用します。 

Jakarta EE は Java SE の拡張機能という位置づけになるので Jakarta EE を使用する場合には Java SE と合わせて使用することになります。

####　Java ME

Java ME とは Java Platform, Micro Edition の略です。
家電などの組み込み機器やモバイルデバイスで動作するアプリケーションを開発するために使用する API がまとめられたものです。 

### ◎ JDKインストール

Mac のインストール手順のため、PATHや環境変数の設定手順は取り上げていないのでご注意ください。

https://style.potepan.com/articles/30296.html

#### Javaのインストール状況を確認

JDKが端末にインストールされているかどうかの確認は、バージョン情報を表示することで確認出来ます。

```
java -version
```

バージョン情報が表示されれば、インストールされています。

#### ダウンロード

まずはOracleの公式ページから「dmg」ファイルまたは「gz」ファイルをダウンロードします。

Macの場合、__「macOS Installer」__ または __「macOS Compressed Archive」__ を選択するわけですが、特に理由がない場合 __「macOS Installer」__ を選択しておけば問題ありません。

#### インストール（参考サイト参照のこと）

ダウンロードしたファイルをダブルクリックで開きます。
表示されるポップアップから「JDK xxx.pkg」のアイコンをダブルクリックし、インストーラーを起動します。
インストローラーに従いインストールを完了します。


#### OracleJDK (JDK１７から再び無償化)

今回はこちらからインストールした。

https://www.oracle.com/java/technologies/downloads/#jdk17-mac

#### Java SE及びJDKに関するドキュメントを参照する

https://www.javadrive.jp/start/install/index3.html

https://www.oracle.com/jp/java/technologies/documentation.html


#### OpenJDK (無償)

オープンソースのため、無償で利用できる。

http://jdk.java.net/18/

### Android Studio　インストール　（参考サイト参照のこと）

#### Android Studio とは

__Android Studio（アンドロイド スタジオ）__ は、Googleが提供するAndroidプラットフォーム向けアプリケーションソフトウェア開発用の統合開発環境（IDE）。

今回はandroid アプリを制作するため公式サポートのあるAndroid Studio をインストールします。

https://codeforfun.jp/how-to-install-android-studio-windows-and-mac/#Mac

__公式サイト__

https://developer.android.com/studio/intro?hl=ja


#### 参考：Eclipse（エクリプス） のインストール方法

https://www.techfun.co.jp/service/magazine/java/mac-eclipse-install.html

Javaアプリケーション開発で最も使われている統合開発環境ソフト（IDE）。

インストール方法は参考サイトを参照のこと。