よくあるエラーも紹介!Javaプログラムにおけるコンパイルとは【初心者向け】
初心者向けにJavaプログラムにおけるコンパイルとは何か、コンパイルの仕方について解説しています。コンパイルする際によく起きるエラーもいくつかまとめています。Javaを扱うためには必ず必要なので、使い方を覚えておきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
この記事ではJavaプログラムにおけるコンパイルを説明します。
Javaはコンパイラ言語の一つです。処理を行う上でコンパイルは必ず必要になってくるので、しっかり理解しておきましょう。
なお本記事は、TechAcademyのJava講座の内容をもとに作成しています。
今回はコンパイルの仕組みについて勉強しよう。
田島メンター!コンパイルというと、Javaプログラムを実行する前に行うものですよね。実際にはどういうことをやっているんですか~?
コンパイルの役割は、ソースコードファイルをクラスファイルに変換することなんだ。なぜそのようなことをするのか、まずはそこから説明していこう。
お願いします!
コンパイルとは
一般にコンパイルとは、ソースコードファイル(人間の読み書きできる形式)を、コンピュータの実行できるプログラムファイルに変換することを指します。
Javaにおけるコンパイルとは、ソースコードファイル(.java)をクラスファイル(.class)に変換することを指します。
クラスファイルをJVM(Java Virtual Machine, Java仮想マシン)に読み込むことで、Javaプログラムを実行できます。
また、クラスファイルはプラットフォームに依存しません。つまり、Windows環境でコンパイルしてできあがったクラスファイルを、Mac環境で実行することも可能です。
ソースコードファイルとクラスファイルの違い
ソースコードファイルは人間が読み書きすることを前提にした形式です。一方、クラスファイルはバイトコードとも言い、機械(コンピュータ)が読むことを前提にした形式です。
一般に、クラスファイルを直接読み書きすることはありません。
コンパイルについての概要だね。
なるほど、コンピュータが分かるように変換する必要があったんですね。
次にコンパイルの手順と、エラーの例を見てみよう。
実際にやってみよう
環境
これから行う処理は、以下の環境を前提としています。
- Windows 10 64ビット版
- JDK 10
コマンドラインでコンパイルする方法
ソースコード C:UsersuserDocumentssrcHelloWorld.java をコンパイルするとします。
コマンドプロンプトを開きます。
次のコマンドでソースコードを置いてあるフォルダに移動します。
cd C:UsersuserDocumentssrc
次のコマンドでjavaファイルをクラスファイルにコンパイルします。
javac HelloWorld.java
コンパイルに成功すると、 HelloWorld.class ファイルができあがります。
次のコマンドでプログラムを実行します。
java HelloWorld
Eclipseでコンパイルする方法
Eclipseはデフォルトで自動でビルド(※)する設定となっています。
設定を無効化している場合は、画面上部のメニューを選択し、手動でビルドします。ショートカットコマンドはCtrl-bです。
(※)関連するソースコードをまとめてコンパイルすること。
ありがちなエラー
javacコマンドが見つからない
症状:javac と入力すると以下のエラーメッセージが表示されました。
原因:javacプログラムの置かれたフォルダにパスが通っていません。
対策:javacプログラムの置かれたフォルダにパスを通します。
シンボルを発見できない
症状:ソースコードをコンパイルすると以下のようなエラーになりました。
原因:未定義の変数を使用しています。
(自分では正しいと思っていても)変数名のタイプミスで発生しがちです。
対策:変数が定義済か確認します。
構文誤り その1
症状:ソースコードをコンパイルすると以下のようなエラーになりました。
原因:開きかっこと閉じかっこが対応していません。
対策:かっこの対応を訂正します。
構文誤り その2
症状:ソースコードをコンパイルすると以下のようなエラーになりました。
原因:行末のセミコロンが抜けています。
対策:行末にセミコロンを追加します。
参考
Eclipseでソースコードを記述している場合、エディタ上でこれらミスをわかりやすく警告してくれます。
警告メッセージをヒントに誤りを訂正します。
まとめ
ソースコードを実際に動作するプログラムに変換するため、Java開発ではコンパイルを繰り返し行います。
効率的に開発するため、Eclipseのような統合開発環境を使ったり、AntやMavenのようなビルドツールを使ったりするのが一般的です。
入門向けJavaの学習サイトもまとめているので、合わせてご覧ください。
コンパイルの方法と、いくつかのエラーメッセージについて解説したよ。
コンパイル時のエラーにはこういう意味があったんですね。
エラーの見方を知っていると、どこで間違っていたのかがすぐ参照できるようになるよ。ぜひ頭に入れておこう。
了解です。ありがとうございました!
また、オンラインのプログラミングスクールTechAcademyでは、Java講座を開催しています。
JavaやServletの技術を使ってWebアプリケーションの開発を学ぶことができます。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、習得することが可能です。
この記事を監修してくれた方
橋本紘希(はしもとこうき) 開発実績: Javaプログラムを用いた業務用Webアプリケーションや、基幹システム用バッチアプリケーションなどの設計構築試験。 |