Javaの開発を行う方法は色々あります。ここでは学習の方法としていくつか紹介します
コマンドプロンプトでの実行環境作り
一番基本のコマンドプロンプトを使った開発実行環境を順番に紹介していきます
JDKのインストール
JDkはJava Development Kitの略で、これをインストールすることで開発と実行ができます。JREはJava Runtime Equipmentで実行環境だけです。
Javaには短いながらも歴史があり、徐々に機能が変わっています。またOracleが一時有償サポートをうたったために、oracleから離れた各社がそれぞれにOpenJDKを出したためにさらにバージョンが増えてしまいました。
現在はまた無償での実行が可能になったのですが、別れたままなので、どのバージョンに設定するか迷うところです。以前は私もMicrosoftで授業をしていましたが、今回はoracleに戻って解説をします。
現在の(2024/4/1現在)最新バージョンはjava22です。しかしLTS Long Time Supportといって長期保障のバージョンがあるので、java21を使用します。
では、ブラウザで「java download」で検索して、「Java Downloads | Oracle 日本」を探します。
java downloadのページでjava21を選択し
その中からwindowsを選択し、msiをダウンロードします。
downloadできたらダブルクリックしてインストールを開始します
installerが起動されます
フォルダーは変更せずにインストールしました。変えてもかまいませんがpathの指定が変わります
インストールが終了しました
pathの設定
コマンドプロンプトでプログラムを実行する際に、そのプログラムがどこに保存されているかという経路を表すpathの設定が必要になります。
デスクトップにPCのアイコンがあればそれを、もしなければファイルエクスプローラーを開いて左上にある「一つ上の階層へ」の上向きのアイコンを何回かクリックしてPCを表示して、右クリックして
プロパティを選択します
表示された詳細情報の下の方にある関連設定から「システムの詳細設定」を選んでください。
システムのプロパティが表示されたら「環境変数」を選択
システムの環境変数に「JAVA_HOME」を追加、値としてさきほどインストールしたjdkのフォルダーへのpathを入力します。pathの最後に\はいりません。
つづいて 「path」の設定を編集で開き、「%JAVA_HOME%\bin」を追加して、一番上に移動させます。
OKで2回閉じて設定終了です。
確認
ここで、新たにコマンドプロンプトを開きます。この作業前に開いてあったコマンドプロンプトではだめです。
コマンドで「path」と入力します。表示されたpathの順の先頭にJDKのpathが出ていれば成功です。そうでなければ前に戻って修正してください
「java -version」と「javac -version」と入力して、インストールしたjavaのバージョンが表示されれば成功です
VsCodeでコーディング、コンパイル、実行
javaの実行環境はできましたが、ソースがなければ動きません。以前は、色々なエディターがあって個人の趣味で色々ありましたが、個人的には今やVsCode一択と言っていいのではないでしょうか。
VsCode(Microsoft Visual Studio Code)はMicrosoftが開発した汎用のエディターですが、Mavenというツールと組み合わせたりすると開発環境としても使えます。それは次の章で行います。
まずVsCodeをダウンロードします。「vscode インストール」で検索をかけて、visualstudio.comのサイトを開きます。
downloadの中からWindowsのsystem installerをクリックしてダウンロードします。
ダウンロードフォルダーにダウンロードされたら実行します。インストールはすぐ終わります。
デスクトップにアイコンができるので、ダブルクリックして起動してください。まず英語版で起動されますが
起動直後に右下に次のようなメッセージが表示されます。ここの表示には気を付けてください。初めて何かを起動するとその瞬間にそれに必要なものを提示してきますので、その場でインストールしてください。その機会を逃さないように。
インストールするとvscodeが再起動されて、日本語に変わります。これらの機能は拡張機能というもので、左側に縦に並んだアイコンの上から5番目に入っています。今入れたのはJapanese Language Pack for Visual Studio Codeというもので、インストールしたりアンインストールしたり、検索したりできます。
さて、これからコーディングしていくわけですが、ファイルを開く方法が色々あります。
人によってそれぞれとは思いますが、私は3番目のフォルダーを指定する方法が好きです。というのは、VsCodeを色々な言語で、色々な実行環境で開くので、フォルダーごとに分類して作っています。そこでフォルダーを指定するとその言語用の設定が自動適用されるようにしたいのです。ではドキュメントフォルダーの中に試しにワークスペースとしてのフォルダーを作成し、教科書のチャプターを作成し、ソース用のフォルダーを作ってその中にソースを作る流れをやってみましょう。
最初はまずドキュメントフォルダーを指定しておきます。次回からはドキュメントフォルダー中のそれぞれのフォルダーを指定します。
フォルダーを新規に作成するときは、以下のようにフォルダーのファイルが無い部分をクリックして青い枠を描画させてから右上のフォルダー作成アイコンをクリックします。
今回は「javatest」というフォルダーを作成しました。
続いてさらにその下に「chap00」というフォルダーを作りました。その下にさらに「Code1」というソース作成実行用のフォルダーを作りました。
さて、ようやくここからソースファイルを作成します。新規ファイルのアイコンをクリックして、「Main.java」を作ります。
すると、その瞬間に今度はjava関連の拡張機能のインストールを促されます。もちろんインストールします。
インストールされるのはExtension Pack for Javaという拡張機能で複数のツールのセットです。
インストールが終わるとJDKを入れましょうと言ってきますが、すでに最初に入れてあるので無視して×で閉じてください。拡張機能の画面からソースの入力に戻るには左の一番上のアイコンのエクスルローラーをクリックします。そしておなじみにHello worldを入力します。
CTRL+Sで保存しましょう。エクスプローラーで確認します。
Main.javaが保存されていたら、エクスプローラーのファイル階層が表示されている場所の右側の文字が入力されていない部分をマウスでクリックします。
するとコマンドが手入力できるようになりますのでここで「cmd」と半角小文字で入力してエンターキーを押します。これがコマンドプロンプト呼び出しです。
このようにしてコマンドプロンプトを呼び出すと、自分が実行したいフォルダーをカレントフォルダーとしてコマンドプロンプトを開くことができます。
続けて、javaのコンパイル「javac -encoding utf-8 Main.java」と実行の「java Main」を入力します。
コンパイルはjdkをインストールしてjavac.exeへのpathが通っているのでこのフォルダーで実行ができるようになったのです。もしpathが設定されていなければこのフォルダーでコンパイルを実行するのはもっと面倒になります。
java18以降、javaのencodingのデフォルトがutf-8になったのでスイッチはいらなくなりました。(java 18 JEP 400 UTF-8 by Default)またコンパイルする際に「-encoding utf-8」というスイッチを追加しています。これは実はVsCodeに関係があります。VsCodeではなにも指定していないとソースコードはutf-8エンコーディングで作成されます。VsCodeの右下の青い帯の部分にUTF-8 CRLFと書いてあるのが見えるでしょう。もしエンコーディングを指定しないとjavacはこのコマンドプロンプトのデフォルトの設定であるShift-JISでコンパイルを始めてしまいます。すると文字化けが発生してコンパイルがエラーになってしまいます。そこでこのスイッチを指定するのです。
実行するときはjavaを呼び出してクラス名を指定します。Main.classとするとエラーになります。じつはコンパイルしなくても「java Main.java」でも動きます。こまったことに。