2019/02/06
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のスタートボタンから「すべてのプログラム」の中のアクセサリの中にコマンドプロンプトっていうのがありますよね?それを立ち上げてください。
windowsのようなグラフィカルなユーザーインターフェイスが当たり前の昨今、こういう昔のパソコンみたいなコマンドによる操作に慣れていない人は多いと思います。僕も全然慣れていません。
立ち上げて初めに出てくる文字(画面では「C:¥Users¥owner」)が今自分が居るディレクトリです(「居る」というのは比喩的表現で、本当は「操作できる」ディレクトリです。)。「owner」の部分はパソコンに設定してあるユーザー名なので、人によって違います(「Users」もOSによっては違うかも)。
こういうコマンド操作というのは操作できるのは今居てるディレクトリ内だけなので、わざわざ操作したいファイルの場所に移動しないといけません。面倒ですよね。さっき作った「Test.java」というファイルはどこにありましたか?デスクトップですね。今のままではデスクトップに置いてあるファイルを触ることはできないので、まずはデスクトップに移動します。移動するには「cd」というコマンドを使います。
cd 移動先ディレクトリ(絶対パス)
デスクトップはownerディレクトリの直下にあるので「cd C:¥Users¥owner¥desktop」と入力してEnter。(もちろんあなたのパソコンに合わせて変えて下さいね。)
正しく入力できると、
desktopディレクトリに移動できましたね。
これで「Test.java」を触ることができます。ではコンパイルします。
Javaのソースファイルをコンパイルするには「javac」というコマンドを使います。
javac ファイル名.java
はい、できました。
コンパイルに成功した場合、今居るディレクトリがまた表示されるだけで他には特に何も表示されません。もし、何かエラーメッセージが出た場合は、コマンドの入力やソースファイルのどこかにスペルミスがあると思います。コマンドのファイル名TestのTは大文字にしましたか?
ソースファイルを確認するには「Test.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とごあいさつです。今回作ったTestクラスは「hello」という文字を出力するプログラムでした。
ぜひ「Test.java」の「hello」の部分を好きな文字に変えてみて下さい。ひらがなでも漢字でもいけます。ただし文字列を囲んでいる「”」ダブルクォーテーションを間違って消したりしないように。好きな文字に変えたらまたコンパイル → 実行してみて下さい。コンパイルするとまたクラスファイル(Test.class)が新しく作られますが、勝手に上書きされます。
出来ましたか?あなたの入力した通りに文字が出ましたか?別に難しくはないですよね。これがJavaプログラミングの第一歩です。
check point
- ディレクトリの移動「cd 移動先の絶対パス」
- コンパイル「javac ファイル名.java」
- コンパイルが通ると、クラスファイル(拡張子が.class)が同じディレクトリ内にできる
- クラスの実行「java class名」
では、次回は今回書いたTestクラスの仕組みについて少し説明したいと思います。
今だけ→転職できなければ全額返金の「エンジニア転職保証コース」
絶対エンジニアになる!→テックエキスパート
フリーランスエンジニアの収入例を見てみる→レバテックフリーランス
コメント
何度確認しても、正しく設定されているのですが、いざコマンドを入力すると、、、
「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