未分類

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

投稿日: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

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

関連記事

サンプルイメージ

配列のしくみ①

プログラムの中ではたくさんのデータを扱う場合があります。例えば、50体のキャラクターの攻撃力や体力や属性を扱うプログラムを考えてみましょう。 たくさんの変数が登場するので、コードが複雑で読みにくくなり …

サンプルイメージ

練習問題(メソッド)解答例

次の章ではクラスのアクセス制限、オーバーロード、コンストラクタについて学んでいきましょう。

サンプルイメージ

練習問題(for)解答例

以下に問題の解答例を記述します。 いかがでしょうか。多くの人は文法は理解できたが、それをどこでどのように使えばいいのかわからないと思っている人がほとんどでしょう。 何かを作成するまで処理の流れや組み合 …

Android 練習問題(文字、図形の描画)

     問題1-1 Kuku 九九の表を表示してください。 問題1-2 CheckerBoard 下図のように表示させてください。正方形の大きさは適当でよい。 問題1-3 AslantLine 以下 …

サンプルイメージ

スレッドの基本

        これまでのプログラムは、main()メソッドから始まって、順番に文を実行、条件判断文をたどっていました。 Javaでは、この「処理の流れ」を複数もつことができます。 コード上から複数の …