未分類

コンパイルのしくみを知る

投稿日:2020年5月10日 更新日:

コンピューターの画面に「HelloWorld!!」という文字を表示するプログラムを作成していきましょう。

前回ダウンロードしてもらったサクラエディタに上記のソースコードを入力してください。ファイルに名前を付けて保存しましょう。Sample1_03_1.javaにしましょう。最後の「.java」は拡張子といいます。

まずWindows(C:)の下にWorkSpaceフォルダを作成して下さい。

Javaのコードをバイトコード(byte code)と呼ばれる特殊な形式のコードに変換しましょう。この作業にはコンパイラ(compiler)と呼ばれるソフトウェアを使います。

コンパイラを実行する

Windowsの検索欄でcmdと入力しコマンドプロンプトを起動します。コマンドプロンプトは命令文を入力することでWindowsコピューターに様々な処理を実行させることが可能な、人間とPCで対話するためのツールです。

cdというコマンドを使って、ソースファイルが保存されているディレクトリに移動する作業をします。

cd C:\WorkSpaceを入力しEnterを押してください。コンピューターの意識がWorkSpace内に移動したことになります。

次にjavac Sample1_03_1.javaを入力します。特に何も表示されずに、「C:\WorkSpace>」ともう一度表示されたら、コンパイル完了です。ソースファイルが保存されているディレクトリに「Sample1_03_1.class」というファイルが新しく作成されます。

プログラムを実行する

JDKでプログラムを実行するには、インタプリタというソフトウェアを使います。

「java」に続けて一つ空白を開けてSample1_03_1と入力しEnterキーを押します。するとプログラムが実行され、画面上に「HelloWorld!!」文字が表示されます。

うまく実行できたでしょうか?インタプリタは、バイトコードを解釈して、コンピューターに命令を実行させる役割をもっています。では、この章で学んだプログラムの作成・実行手順をまとめておきましょう。

  1. テキストエディタにJavaのコードを入力する→ソースファイルを作成する。
  2. コンパイラを起動してソースファイルをコンパイルする→クラスファイルが作成される。
  3. クラス名を指定してインタプリタを起動する→プログラムが実行される。

なお、開発ツールによってはプログラムの作成・実行を一括して行うことができる場合もあります。ただし、いずれの場合も上記の流れでおこなわれますので、覚えておくことが大切です。

デバック

  • ソースコードは文法に従って記述しなければなりません。全角スペースなどの間違いを含んだソースコードをコンパイルすると、バイトコードファイルは生成されません。
  • エラーの原因を究明・除去することで正常に稼働するように対処することをデバックと言います。
  • デバックを行う際はエラーメッセージを参考にしましょう。
  • デバックの秘訣は、エラー箇所と原因を推察する。正常なソースコードと見比べることです。

Java プログラムをほかの環境で使う

こうして作成したJavaのクラスファイルは、WindowsでもUNIXでも、原則として同じように実行することができます。異なる環境のコンピューターであっても、クラスファイルさえあれば、誰でも同じようにプログラムを実行することができるわけです。

通常、ほかのプログラミング言語では、このようにはいきません。Windows、UNIXといったコンピューターの環境ごとに、実行形式のプログラムを作成しなおす必要があります。さまざまな環境のコンピューターがネットワークを介して利用されている中で、Javaの強みとなっています。

これまでは、入力したJavaのコードが意味する処理の内容についてはふれませんでした。これから、Javaのコードの内容について学んでいくことにしましょう。

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

サンプルイメージ

練習問題(日付クラス)

         練習12-1 実行した日を含め30日を画面に表示してください。 練習12-2 CharacterオブジェクトをyyyyMMdd形式の文字列に変換するメソッド、formatYMDを作成 …

サンプルイメージ

練習問題(配列)

練習7-1   BirthStone.java 誕生月を入力すると、その月の誕生石を表示するプログラムを、下の空欄を埋めて作成してください。 練習7-2   DispArray1.java 以下のプロ …

サンプルイメージ

演算子の優先順位

a + 2 * 5  2*5が先に評価されます。 この式では、+演算子と*演算子の2つが使われています。通常の四則演算では、たし算よりかけ算を先に計算します。これは、かけ算の方が 優先順位が高い から …

サンプルイメージ

論理演算子

これまでいろいろな条件判断文を記述してきました。もっと複雑な条件を書ければ便利な場合があります。 スコアが「Sランク」であり、かつ、ゴールドがあったら・・・ →最強の装備にする このような複雑な条件を …

サンプルイメージ

抽象クラス

          このクラスは「いきもの(Creatures)」というモノについてまとめたクラスです。クラスの先頭部分に、abstractという(修飾子)がついています。この修飾子がついているクラス …