Java基礎演習:初回

Javaの講座が始まりました。

真打登場

講座開始から4週間目が終わろうとしています。
これまでの授業ではHTML,CSSの講義と、JavaScriptの講義をそれぞれ並行して行ってきました。

そして遂に、サーバサイドのプログラミング言語であるJavaの講義が始まりました。それでは、この日学んだことを紹介していきたいと思います。

Java概論

冷蔵庫やテレビをはじめとする家電など、私たちの暮らしの中にある多くの機器でJavaが動いている、もしくは動かすことが出来ます。

Javaには他のプログラミング言語にはない、大きな特徴があります。

多くのプログラミング言語は、プログラムの処理方法によってインタプリンタ型(スクリプト型)と、コンパイル型に分けられます。

インタプリタ
コンパイルを行わない。
コンパイラ
コンパイルを行う。

コンパイルとは、コードを機械が読めるマシン語に変換することを言います。人が書いたコードは英語などを使って書かれていますが、コンピュータはこのままではコードを理解できません。
コンピュータにプログラムを実行させる為にはコンピュータが理解できる形、つまり0と1の羅列からなるバイナルコードに変換してやる必要があります。

この処理を、インタプリンタ型ではコードを読み込む際に一行ずつ翻訳しながら実行するのに対し、コンパイラ型では予め全てのコードを翻訳しておきます。

何故そのように分かれているのか、それぞれのメリット・デメリットを説明しながら確認していきます。

インタプリタ型のメリット・デメリット

  • 実行する際に都度コンパイルをかける必要がない
  • 実行速度が遅い

コンパイラ型のメリット・デメリット

  • 実行速度が速い。
  • 毎回コンパイルしないと実行出来ない
  • 他の環境で実行できない

上記のように、片方のメリットはもう一方のデメリットになっています。逆もまた然り。
プログラムを書いている時は当然何度もプログラムを実行し、エラーが出ないか等の動作確認を行うと思うので、都度コンパイルするのは手間がかかりますが、コードが膨大な量になってくるとインタプリタ型とコンパイラ型では実行速度が桁違いになることもあるようです。
そしてJavaコンパイラ型に属します。

しかし、Javaではそれぞれの型のいいとこ取りをしている点で他の言語と異なります。Javaではコンパイルする際に、最後まで翻訳しきるのではなく中間コードと呼ばれる途中の段階までのコンパイルを行います。この中間コードを用いることによって、動作環境をもつコンピュータならハードウェアやOSが異なってもコードに変更を加えることなく動作させることが出来ます。

Javaを動かしてみる

講義序盤で以上の概論を学び、ここからは早速Javaの実行動作環境を構築していきます。

配布元からセットアップウィザードをダウンロードします(講義では全員にWindows機が貸し出されています)。 後はウィザードに従ってセットアップを行いインストールします。

次に先に書いたように、Javaは実行する前にプログラムの書かれたファイルをコンパイルしてやる必要があるのですが、これはコマンドプロンプトから命令を与えるので、毎回Javaのデータがあるディレクトリまで移動する手間を省く為に任意のディレクトリから開始するよう、コマンドプロンプト環境変数の設定を行います。コマンドプロンプトのプロパティから"作業フォルダ"にJavaのファイルを入れているディレクトリまでの絶対パスを貼り付けます。

それでは準備が整ったので基本の出力を行うプログラムを書いていきます。

今までに触れてきた言語と違ったのはJavaでは最初にクラス宣言を行うこと。そしてそのクラス名はファイルの名前と同じでなければならないという点です。例えば'Hello.java'という、'Hello'という文字列を画面に出力するファイルの中身は、


        public class Hello {
          public static void main(String[] args){
            System.out.print("Hello");
          }
        }
      

このようになります。
public class Hello がクラス宣言です。

初めてのJavaは面白かった

これまでにProgateなどの学習サイトで幾つかの言語に触れてきましたが、コンパイラ型の言語は初めてでした。いきなりクラス宣言から入るところや、厳密にデータ型が決められているところなど、書き方の違いから多少戸惑うこともありましたが楽しくプログラムを書くことができました。特にプログラムに間違いがあるとコンパイルする際にエラーになり、コマンドプロンプトからエラーメッセージを吐かれるのが新鮮でした。エラーメッセージも今回設定した環境では日本語で返してくれるのでとっつきやすく感じます。プログラミングは思い通りにいかない時にあれかこれかと考えて、上手く行った時の達成感が醍醐味ですね。

また、Javaを教えてくれる講師の方も面白い方です。JavaScriptが6回目の講義で初めてif文に入ったのに対し、初回にしてif文とfor文を使った分岐処理,繰り返し処理を一通り試してしまいました。これから難しくなってきた時に置いて行かれないように予習と、このブログを活用して復習の両方をしっかりしていきたいと思います。

最後に

ここまで読んでいただき誠にありがとうございます。もし内容や言葉の使い方等の間違いがありましたら、ご指摘いただければ幸いです。

次回は私が受けているハロートレーニングという制度について書いていこうと思います。