一番かんたんなJava入門

これからJavaを始めようという人の為の超入門サイトです。丁寧、簡単にこだわった解説なので初心者にぴったりです

Home » 一番かんたんなJava入門 » 【Java】コンパイルと実行

【Java】コンパイルと実行

time 2013/03/02

sponsored link

ソースファイル(プログラム)を作る

 さっそく簡単なプログラムを書いて動かしてみます。まずはプログラムを書く為のテキストファイルを用意します。

 デスクトップで右クリック → 新規作成 で、テキストファイルを作って下さい。名前はまだ特に付けなくて結構です。プログラムと聞くとなんか難しそうですが、普通のテキストエディタ(メモ帳)でできます。

 そのテキストファイルを開いて、以下の意味不明なアルファベット(プログラム)を入力してみましょう。

 Javaでは大文字と小文字は区別されるのでそこも間違いないように入力してください。読みやすいようにTabボタンを使って字下げしていますが、字下げはプログラムには影響しませんので今は適当にどうぞ。

 コピペはしないように!お手本のコードを写す場合でもコピペに頼らない方が絶対早く覚えられます。打ち間違いや見間違いが絶対あると思うのですが、それに気付いて修正するのはすごい勉強になります(コピペは自分で書いたコードを再利用する時だけにすることをお勧めします)。

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

 Test、String、Systemの頭文字はは大文字で他は全部小文字です。
 「;」セミコロンは抜けていませんか?[ ](){}の使う場所は間違ってませんか?
 「”」ダブルクォーテーションは抜けていませんか?

 間違いがなければ、このテキストを名前を付けて保存します。名前は「Test.java」としてください。ファイル名の「Test」も頭文字は大文字です。拡張子は「.java」です。これでJavaソースファイル(プログラム)の完成です。プログラムの内容に関しての説明は次回以降に譲るとして、まずはJavaのソースファイルをプログラムとして動かすにはどうすればいいのか?やってみましょう。

ソースファイルをコンパイルする

 作ったソースファイルを実行するには、コンパイルという作業が必要です。コンパイルというのは簡単に言うと人間が書いたコードをコンピュータが読める状態に翻訳することです。残念ながらコンピュータは英語が読めません。

 windowsのスタートボタンから「すべてのプログラム」の中のアクセサリの中にコマンドプロンプトっていうのがありますよね?それを立ち上げてください。

dos
 windowsのようなグラフィカルなユーザーインターフェイスが当たり前の昨今、こういう昔のパソコンみたいなコマンドによる操作に慣れていない人は多いと思います。僕も全然慣れていません。

 立ち上げて初めに出てくる文字(画面では「C:¥Users¥owner」)が今自分が居るディレクトリです(「居る」というのは比喩的表現で、本当は「操作できる」ディレクトリです。)。「owner」の部分はパソコンに設定してあるユーザー名なので、人によって違います(「Users」もOSによっては違うかも)。

 こういうコマンド操作というのは操作できるのは今居てるディレクトリ内だけなので、わざわざ操作したいファイルの場所に移動しないといけません。面倒ですよね。さっき作った「Test.java」というファイルはどこにありましたか?デスクトップですね。今のままではデスクトップに置いてあるファイルを触ることはできないので、まずはデスクトップに移動します。移動するには「cd」というコマンドを使います。

cd 移動先ディレクトリ(絶対パス)

 デスクトップはownerディレクトリの直下にあるので「cd C:¥Users¥owner¥desktop」と入力してEnter。(もちろんあなたのパソコンに合わせて変えて下さいね。)

 正しく入力できると、
cd
desktopディレクトリに移動できましたね。

 これで「Test.java」を触ることができます。ではコンパイルします。
 Javaのソースファイルをコンパイルするには「javac」というコマンドを使います。

javac ファイル名.java

compile
 はい、できました。
 コンパイルに成功した場合、今居るディレクトリがまた表示されるだけで他には特に何も表示されません。もし、何かエラーメッセージが出た場合は、コマンドの入力やソースファイルのどこかにスペルミスがあると思います。コマンドのファイル名TestのTは大文字にしましたか?
 ソースファイルを確認するには「Test.java」を開いて確認してもらいたいのですが、javaファイル(拡張子がjavaのファイル)をダブルクリックで開こうとすると、
javaファイルオープン
 こんなのが出てきて開けない人もいると思います(OSによる?)。けど、「インストールされたプログラムの一覧からプログラムを選択する」ってのを選んでOKをクリックすれば、javaファイルを開くためのアプリケーションが出てきます。それを選んで開くか、そもそもダブルクリックで開かずに右クリック→編集とすれば何故か開くと思うので、開けたらソースコードに間違いがないかよ~く確認して下さい。もし間違いがあって正しく修正できたら、もう一度コンパイルにチャレンジしてみてください。

 コンパイルに成功すると、デスクトップに新しいファイルが出来ているはずです。「Test.class」というやつです。この拡張子が「.class」のものをクラスファイルと言います。javaファイルからクラスファイルを作るのがコンパイルという作業なわけですね。その新しく出来たクラスファイルを実行すると先ほど書いたプログラムが走ります。

check point

  • ディレクトリの移動「cd 移動先の絶対パス」
  • コンパイル「javac ファイル名.java」
  • コンパイルが通ると、クラスファイル(拡張子が.class)が同じディレクトリ内にできる

クラスを実行する

 クラスを実行するのもコマンド操作でやります。今度は「java」コマンドを使います。
 コンパイルは「javac」コマンドで、実行は「java」コマンドです。コンパイルする時は拡張子が要りますが、クラスを実行する時は拡張子はつけたらダメです。

java クラス名(拡張子なし)

 どうでもいい人は読み飛ばしてもらってもいいのですが、なぜ、コンパイルの時は拡張子が必要で、実行の時は拡張子を書いてはいけないのか?実行というのはクラスファイルを指定するのではなく、その中に書いてあるclass自体を指定しているかららしいです。ファイル名とclass名は同じなのでどっちであろうと区別のつきようがないですが、ファイル名には拡張子を伴いますが、class名にはもちろん拡張子なんて関係ないですね。

 ではTestクラスを実行してみましょう。「java Test」と入力して下さい。

hello

 helloと出ましたね!パチパチパチ・・

 プログラムってこれだけかよ!と怒らないで下さい。千里の道も一歩から。まずはhelloとごあいさつです。今回作ったTestクラスは「hello」という文字を出力するプログラムでした。
 ぜひ「Test.java」の「hello」の部分を好きな文字に変えてみて下さい。ひらがなでも漢字でもいけます。ただし文字列を囲んでいる「”」ダブルクォーテーションを間違って消したりしないように。好きな文字に変えたらまたコンパイル → 実行してみて下さい。コンパイルするとまたクラスファイル(Test.class)が新しく作られますが、勝手に上書きされます。

 出来ましたか?あなたの入力した通りに文字が出ましたか?別に難しくはないですよね。これがJavaプログラミングの第一歩です。

check point

  • ディレクトリの移動「cd 移動先の絶対パス」
  • コンパイル「javac ファイル名.java」
  • コンパイルが通ると、クラスファイル(拡張子が.class)が同じディレクトリ内にできる
  • クラスの実行「java class名」

では、次回は今回書いたTestクラスの仕組みについて少し説明したいと思います。

今だけ→転職できなければ全額返金の「エンジニア転職保証コース」
絶対エンジニアになる!→テックエキスパート

フリーランスエンジニアの収入例を見てみる→レバテックフリーランス

全くの初心者がWordPressでブログを始める方法

全くの初心者がWordPressでブログを始める方法

sponsored link

Androidアプリを作ろう

コメント

  • 何度確認しても、正しく設定されているのですが、いざコマンドを入力すると、、、

    「javacは、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」

    と表示がされるだけで、先に進めず困っています。こちらの対策の指南をお願いできませんでしょうか。

    by yn €2014/06/17 10:39

  • JDK? Path? Java開発環境を作ろうをよく読んで間違っているところはないか?チェックしてみて下さい。

    インストールしたJDKのbit数は間違いないですか?
    pathを正確に通してますか?

    by Nobuo@管理人 €2014/06/17 15:35

  • ご返信まことにありがとうございます。再度、指定されたページを見ながら設定を行ないました(設定に関しては間違いは無いと思います)。

    >>インストールしたJDKのbit数は間違いないですか?
    pathを正確に通してますか?
    ⇒間違いないと思います。全て、指示通りです。

    しかし、『できません』。何がいけないのでしょうか?

    by yn €2014/06/17 17:00

  • 「javacは、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」でググったら、そのエラーメッセージが出てしまう原因がいろいろ見つかるはずです。

    どこが間違っているか頑張って探してみて下さい。

    by Nobuo@管理人 €2014/06/18 09:48

  • とても分かりやすい内容の解説で助かっています。
    ですがインストールしたJDKのbit数やpathも正確に設定できているはずなのにコンパイルしたものが実行でいません。コマンドプロンプトで『java Test』と入れ実行しようとすると
    C:\Users\(ユーザー名)\Desktop>java Test
    Exception in thread “main” java.lang.UnsupportedClassVersionError: Test : Unsupp
    orted major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    Could not find the main class: Test. Program will exit.

    という長文の分けの分からない文字が出てきます。
    いったい何事でしょうか。
    ちなみにこの文章を調べてみてもなにか英語のサイトが出てくるだけでさっぱりでした。

    by sm €2014/12/22 20:54

  • class名を小文字にしてしまってるとか??

    public class test{

    }

    by Nobuo@管理人 €2014/12/23 00:54

  • いえちゃんと大文字になってました。
    一回JDKとかダウンロードしなおした方がいいですかね。

    by sm €2014/12/23 17:02

  • う~ん、ちょっとよく分からないですね。お力になれずに申し訳ないです。

    by Nobuo@管理人 €2014/12/23 22:08

  • 作った「Test.java」のファイルが開きません。
    どこで間違えたのか、開く際に既定のプログラムでJava(TM) Platform SE binaryで開くようになっており、
    ダブルクリックしても一瞬で閉じてしまいます。
    どうすればよいでしょうか

    by Tattz €2015/04/14 16:53

  • 右クリックはどうですか

    by Nobuo@管理人 €2015/04/14 18:45

down

コメントする



一番かんたんなJava入門

Androidアプリの作り方

忘備録

私の作ったAndroidアプリ

おすすめプログラミングスクール

プログラミングスクール検索

受講スタイル

習得したいスキル

習得したい言語・フレームワーク

オプション

料金

 この本は全く何も分からない初心者の方にお勧めです。プログラミングをするには覚えなければならない事が無茶苦茶いっぱいありますが、この本は教えてくれる順番、その構成が素晴らしいです。RPGのゲームを作るというストーリーにのっとってちょっとずつ難しいことを教えてもらえます。
 無機質で膨大なデータが載っているような本は読む気にならないという方は、こういうストーリー仕立ての本でチャレンジしてみてはいかがでしょうか?(注:RPGを作る為の本ではありません。)

 ある程度、Javaを読み書きできるようになったら、オブジェクト指向について学ぶべきです。本書は、抽象的で分かったような分からんようなオブジェクト指向という考え方について、非常に分かりやすい例を出して説明してくれています。オブジェクト指向とは何なのか?という本質を掴むのにこれほど適した本はないと思います。
 オブジェクト志向の理念を理解できれば、より効率のいいコードをより楽に書けるようになるはずです。Java上級者を目指すなら必読の一冊![詳細]

管理人

Nobuo_CREATE

Nobuo_CREATE

WordPressテーマPrinciple、マテリアルを作ったり、Androidアプリを作ったり、Java入門サイトを作ったり、本を書いたりしています。大阪の北野田駅近くのマイスタイルという学習塾を経営しています。どうぞよろしく。 [詳細]



sponsored link

オススメ書籍

 この本は全く何も分からない初心者の方にお勧めです。プログラミングをするには覚えなければならない事が無茶苦茶いっぱいありますが、この本は教えてくれる順番、その構成が素晴らしいです。RPGのゲームを作るというストーリーにのっとってちょっとずつ難しいことを教えてもらえます。
 無機質で膨大なデータが載っているような本は読む気にならないという方は、こういうストーリー仕立ての本でチャレンジしてみてはいかがでしょうか?(注:RPGを作る為の本ではありません。)

 ある程度、Javaを読み書きできるようになったら、オブジェクト指向について学ぶべきです。本書は、抽象的で分かったような分からんようなオブジェクト指向という考え方について、非常に分かりやすい例を出して説明してくれています。オブジェクト指向とは何なのか?という本質を掴むのにこれほど適した本はないと思います。
 オブジェクト志向の理念を理解できれば、より効率のいいコードをより楽に書けるようになるはずです。Java上級者を目指すなら必読の一冊![詳細]

只今、急拡大中

JavaからのRuby on Rails入門

JavaからのRuby on Rails入門