築身の周りの人たちと話をしていると，「Java の講義を受けたけど，結局プログラミングはできない。
」とか「本を買って勉強したけど，難しくてあきらめた。」という声をよく聞く。確かに，Java（プログラミング）ができるようになりたいという人はたくさんいるし，Java の良い本もたくさん出版されている。しかし Java の勉強をして，自分のさせたい処理をプログラミングできるようになった人はどれくらいいるのだろうか？

本書は，Java に挑戦したけど挫折を味わい，Java アレルギーを持っている人たちを対象に書いた本である。もちろん，そういう人たちの意見を参考に基礎の基礎から丁寧に書いたので，これから Java を学びたいというプログラミング入門希望者にもぜひ読んでいただきたい。
本書を読めばプログラミングができるようになるのか？
話はそう簡単ではない。論語にも「学びて思わざれば則（すなわ）
ち罔（くら）し」とあるように，読んだだけではプログラミングができるようにはならない。例題を写すだけでもダメだ。“ 自分自身で考え，オリジナルのプログラムを書く ” これくらいの気持ちで取り組まなければプログラミン

グはできるようにならない。このことは非常に大事な部分であり，皆さんもきっとわかっているはずである。

皆わかっているのになぜできるようにならないのか？
理由はそれぞれあると思う。Java の本は分厚すぎる，本に書いてある内容が理解できない，覚えないといけない文法が多すぎる，ソースコードが日本語じゃない，・・・。生真面目に最初から最後まできちんと学び，プログラムも考えながらやろうと思ったらとてもじゃないが挫折してしまう。

本書はそんな風にならないために，あきらめずに最後までたどり着けるように，できるだけページ数を少なくし，わかりやすい表現をするように心がけた。
Java の文法も最低限のものしか扱っていない。そのため，厳密でない表現もあるし，文法を全て網羅しているわけでもない。それでも，一通り読み，演習を行えば，君の Java レベルは数段上がり，またそれを自分自身で実感できるだろう。その頃にはもう Java アレルギーは無くなっているはずである。

2

また本書を一通り終えた後に，巷に溢れている Java の入門書を読んでいただきたい。今までわからなかったことがわかるようになり，また曖昧だった部分の理解もグッと深まるはずである。そのレベルに達すれば，簡単なプログラムであれば書けそうな気がしてくる。その時はぜひ，オリジナルのプログラムに挑戦してほしい。

細かいことにこだわらなくていい。させたい処理がきちんとなされれば立派なプログラムである。「自分流」，全然 OK。プログラムを自由自在に書けるようになってから，よりスマートなプログラムが書けるようになればいい。

幸いなことに「思いて学ばざれば則（すなわ）ち殆（あや）うし」という状態にはなりにくい。コンパイラーがそれを許してはくれない。心おきなく思索にふけ，君のその可能性をいかんなく発揮してほしい。

「皆さんが Java の波に乗る」そのきっかけに本書がなれば幸いである。
2013 年 4 月

山田 猛矢・比嘉 築

3

Chapter 1
1.1 Java とは

8

1.2 Java の特徴

8

1.3 プログラミングの流れ

9Chapter 2
2.1 ソースファイルの作成

14

2.2 コンパイル

16

2.3 実行21Chapter 33.1 プログラムの中身

24

コラム 1 算術演算子について

28

Chapter 44.1 変数の使い方

30

4.2 型が違うときの処理

32

Chapter 55.1 変数を使った計算

36

5.2 型変換38

コラム 2 コンピュータの計算で気をつけること

40

Chapter 66.1 関係演算子

44

6.2 if 文

44

Chapter 77.1 for 文
コラム 3 他のフロー制御の紹介

5459

Chapter 88.1 オブジェクト指向

62

8.2 クラス

63

Chapter 949.1 static なフィールドを使おう

68

9.2 static なメソッドを使おう

70コラム 4 main にくっついてる変なやつ

75

Chapter 10
10.1 AnimationFrame クラスを使うための準備

78

10.2 クラスからインスタンスを作ってみよう

79

10.3 インスタンスからメソッドを使おう81

コラム 5 配列84

Chapter 1 1
11.1 ウィンドウフレームに円を描こう

88

11.2 円の色を変えよう

90

11.3 ウィンドウフレームに画像を表示しよう

92

Chapter 1212.1 簡単なアニメーションを作ってみよう
Java 新人の君たちへ

96
102

付録 A 開発環境構築
A.1 JDK のインストール

104

A.2 Path の設定

107

A.3 拡張子の表示

111

A.4 テキストエディタのインストール

113

付録
B.1 コマンドプロンプトとは

118

B.2 コマンドプロンプトの起動

118

B.3 コマンドプロンプトを使ってみよう !!

119

B.4 ちょっと便利な「履歴機能」と「入力補完機能」

124

付録
C.1 JAR ファイルを作ろう

125

C.2 ダブルクリックで実行させるためには

126

注意

• 本書に記載されている社名，製品名などは，一般に各社の商標または登録商標です。
本文中では ©，®，TM，などの表記は省略しております。

• 本書に記載された内容は執筆時点の情報です。今後，本文中に記載されている URLや製品仕様等は予告なく変更される可能性があります。

• 本書に記載された説明，プログラム等を運用した結果について著者および発行所は一切責任を負いません。個人の責任の範囲でご使用ください。

5

いざ…

注意
• 本書に記載されている社名，製品名などは，一般に各社の商標または登録商標です。
本文中では ©，®，TM，などの表記は省略しております。
• 本書に記載された内容は執筆時点の情報です。将来，本文中に記載された URL や製品仕様等は予告なく変更される可能性があります。
• 本書に記載された説明，プログラム等を運用した結果について著者および出版社 は一切責任を負いません。個人の責任の範囲でご使用ください。

6

Chapter 1
Java の世界へごあんなーーい。
ここでは，Java の特徴に触れ，なぜ Java なのかを感じてほちーの。

Chap.1
Chap.2Java ってなんじゃらほい。

Chap.3

Java ってなん Ja ？

Java ってにんじゃ !!

Chap.4Java はプログラミング言語どえーーす。コンピュータにさせたい処理を書く

Chap.5

ための言語でーす。コンピュータは与えられた処理を正確にこなし，しかも文句も言わずに同じことをやり続けてくれまっしゅ。誰かさんとは違ーーう。

Chap.6で，Java の特徴を挙げときましゅ。

Chap.7▶１ OS 依存性がなーい

Chap.8っ て 意 味 わ か ら ん か も し れ な い け ど Windows 上 で も Mac 上 で もAndroid 上でも iOS 上でも他どこでも，同じように動くってことでーす。
どこでもそこでも動くんでーす。Java Java Java

Chap.9

キャッチフレーズは「Write Once, Run Anywhere」

Chap.10
Chap.11
Chap.12
付録
8

Chap.1

Chap.1▶２ オブジェクト指向だよーん

Chap.2

オブジェクト指向の 3 大機能（ カプセル化， 継承， ポリモーフィズム）が，・・・なーんてね。ちゃんと語ると難しくなるのでやめときまーす。だってChap.3

Java 原人向けだもーん。一応，一言で言っとくと，「オブジェクトに様々な処理をさせる」っていう考え方でーす。って意味わからんと思うけど，Chap.4

また Chapter 8 で軽ーく触れまーす。

▶３ インターネットとの親和性が高ーいChap.5Web ページとか見てるとよく Javaを 見 か け ま せ ん？ あ れ、 気 づ い て な
い？ Java は，ヒソかに Web 上でもよ
ネットとの相性がすごくいいんだもん。と，他にもいろいろありますが，難しい話になっていくのでこの辺でやめときましゅ。
ま，スマホや家電をみてもインターネット抜きじゃ語れない世界になってるし，Chap.8

その世界と相性が良く，また1 回書けばどこでも動くって魅力的じゃない？また最近のChap.9

プログラムはオブジェクト指向が主流になってきてるし。
Java 学ぶ理由は十分じゃな

Chap.11

Chap.10

Java 学びたくない？

本書では Windows7 の環境でプログラミングを行いまーーす。だってみんなWindows ばっかりなんだもん。
プ ロ グ ラ ミ ン グ を 行 う 際， 多 く の 人 は フ リ ー の 統 合 開 発 環 境（IDE:Integrated Development Environment） で あ る「Eclipse」 や「NetBeans」を使ってるけど，本書ではあえてそれを使わず，テキストエディタって呼ばれる付録もの（Windows に標準で入っているテキストエディタは「 メモ帳」）に プログ

Chap.12

い？

Chap.7

Chap.6

く使われていまーーす。だってインター9

Chap.1

ラムを書いて，コマンドプロンプトってやつで実行するという形を取りまーす。
IDE も様々な機能を持ち便利なんですが，IDE を使わない理由としては，機能Chap.2が多すぎてなんかよくわかんなくなったり，いろんなことをやってくれすぎて本質が見えにくくなったりしてるからでーす。
でも，便利なことには変わりないので，ある程度できるようになったら IDE

Chap.3も使ってみるといいと思いまーーしゅ。

Chap.4

テキストエディタ（エディタ）って何？
文字情報だけで文字の作成・編集などChap.5をするソフトだよーん「Word は？」って思うかもしれないけど，Word にはデザイン的な情報も入ってるんでChap.6

エディタじゃないんだよーん

コマンドプロンプトって何？

Chap.7コンピュータはコマンドって言われる命令によって操作することができるんだけど，Windows でコマンドを入力する画面のこと

Chap.8なんだだだChap.9

なぜ IDE を使わないの？
人間がコンピュータを操作するときにはChap.10

アイコンやボタンをマウスでクリックするけど，プログラムで操作したいってときには文字のコマンドを使うんだだってことで，Chap.11

コマンドはプログラマとして知っておくべき基礎知識
将来有望な君たちにできるだけ早くコンピュータの世界に触れてほしいのだだだ

Chap.12で，プログラミングの流れなんだけど，次のようになりまーす。

付録
10Chap.1

Chap.1

Chap.2

テキストエディタにプログラムを書くて書いてもらえばと思っとります。
（本書の内容だけであれば，メモ帳でも全然OK!!）
コマンドプロンプトの使い方も付録 B に丁寧に書いとります。
あと，肝心要の「Java の開発環境」がないって人も，付録 A にインストールの仕方等，丁寧に書いてるので，まずはそこを見ながら開発環境を整えてくだしゃーい。って，この開発環境整えるのがちょー大変なんで，近くに「Java 使い」がいたら，ぜひ手伝ってもらってちょ。
なお，Java のインストールやサクラエディタのインストールなど，本書で紹介するソフトやサイトについては，「卒 Java 原人」Web サイトからダウンロードできたりリンクしたりしてまっしゅ。また演習の解答例も載っけてるんで，ぜひぜひ利用してちょ。

Chap.10「卒 Java 原人」Web サイト

Chap.5が出ないので，付録 A.4 で紹介してる高機能エディタのサクラエディタを使っChap.6

なお，テキストエディタは，メモ帳を使って書いてもいいんだけど，行番号Chap.7

パイルについても後で説明しまーす。

Chap.8でそれぞれのやり方は，Chapter 2 で丁寧にやるんで心配しないでね。コン

Chap.9

コマンドプロンプトで実行する

Chap.4

Chap.3コマンドプロンプトでコンパイルする

付録

Chap.12

Chap.11

http://www.e3factory.com/book/sotsu-java-genjin/

11Chap.1

早速，始めま show。

次の道案内に従って進んでね。

Chap.2

Chap.3

Chap.4No

Chap.5

Yes

Chap.6

No

Chap.7

Yes

Chap.8Chap.9Chap.10

Chap.11

Chap.12

付録

12

Chapter 2
では早速プログラマーへの第一歩を踏み出していきましょう。
みんな初めてで何もわからないと思うんで，とりあえずプログラムを書いて実行するまでの流れを丁寧に説明しまーす。
Here we go!!

プログラミングの流れ「ソースを書く」→「コンパイル」→「実行」

でござるChap.1
Chap.2

早速，プログラムを書いてみよう !!
まずは，コマンドプロンプトに「Hello

ソースファイルって何？

Chap.3

Java」 と 出 力 す る プ ロ グ ラ ム。 こ れ，
どんなに偉大なプログラマーでもまず最初に作るプログラム。

プログラムを書いた

Chap.4

ファイルのことだよーん

まずはソースファイルの作成から。

Chap.5

とりあえず，エディタを開き以下のコードを入力してみよう。
内容については後で説明しまーす。

Chap.6

注意点• 英数字は半角で入力。全角文字は使いましぇーん。ってか，

Chap.7使うとエラーになりまーす。
• 大文字，小文字を間違えないようにね。
• 空白は半角スペースまたは TAB を使ってね。全角スペースは，

Chap.8

これまた使うとエラーが出まーす。
•「l」（エル）と「1」（イチ），「o」（オー）と「0」（ゼロ）を間違えないようにしましょう。

Chap.9Chap.10l1１
0Oo

Chap.11
Chap.12
付録
14

Chap.1

Chap.2

Chap.2

意味わからんかもしれんけど

1

class Step1{2^public static void main(String[] args){3^^4^}5}Chap.3

とりあえず書いてね ♡♡♡♡

SourceSystem.out.println("Hello Java");

Chap.4

最初の数字は行番号で，実際テキストエディタに書くのはその右側のアルファベットの部分だけだよーん^ は TAB 文字だよーん

Chap.5^ のところはキーボードの左側にある

Chap.8Chap.7

Chap.6

TAB キーを押してね♡

しましゅ。

任意の場所ってどこ？

どこに保存してもいいけど，特にこだというフォルダを作り，そこに保存してね。本書ではそこでコンパイルや実行をChap.10

わりがなければデスクトップ上に「java」
任意の場所がわかんなければ本文の通りにしてね♡行いまーす。
ファイル名は「Step1.java」で保存。これ絶対。理由は後で。
あと，もう一つ大事なこと。ファイルの種類は「すべてのファイル（*.*）」を付録

Chap.12

選択してね。これもちょー大事。しないとエラーが待っている。

Chap.11

入力が終わったら，任意の場所に保存

Chap.9図 2.1 サクラエディタに書くとこんな感じ

15

Chap.1
Chap.2

デスクトップ上のjava フォルダ

Chap.3

ファイル名は
Step1.java

Chap.4

ここ大事

すべてのファイルを選んでね♡

Chap.5

そうじゃないと，拡張子が「.txt」になるんで，Java のファイルだとコンピュータが認識できなくなるんだよーん

Chap.6

図 2.2 保存方法

Chap.7

保存後は，エディタが Java のソース

Chap.8

ファイルだと認識して，キーワードを強調表示してくれるんだよーん
図 2.3 保存後のエディタ

Chap.9

ソースファイルの作成はこれで完了。

Chap.10

まず，コンパイルの意味から説明しまーす。

Chap.11

コンパイルとは，人間が書いた Java のソースファイルをコンピュータが実行可能なファイルに変換することでーす。Java のコンパイルもだいたい同じ意味。ということで，ソースはコンパイルしないと実行できないんでよろしく baby。

Chap.12では，コンパイルの仕方。まずはそっけないコマンドプロンプトを開き，ファイルのある場所へ移動しまーす。
（コマンドプロンプトの使い方がわからない人は，「付録 B コマンドプロンプトを使ってみよう」を参照してちょ。
）

付録16

Chap.2

Chap.1

Chap.2

コマンド入力

Chap.3

図 2.4 cd コマンドで java フォルダへ移動

Chap.4一応，java フォルダ内にちゃんと Step1.java があるか dir コマンドで確認。

Chap.6

Chap.5

コマンド入力

Chap.7

ファイルを確認

図 2.5 dir コマンドで Step1.java があるか確認ということで，コマンドプロンプトに以下を入力し Enter キーを押してね。
command>javac Step1.java

少し時間がかかったかもしれないけど，図 2.6 のように何事もなくコマンド入力待ち状態になったら，めでたくコンパイル成功 !! 相変わらずそっけないやつ。
文字がだらだら出てきたら，残念ながらコンパイル失敗。そのときは先に 19

付録

Chap.12

ページの【残念ながらコンパイルが失敗した人たちへ】を見てね。

Chap.10

Chap.9javac ファイル名 .java

Chap.11

コ マンド書式

Chap.8いよいよコンパイル。コンパイルの仕方は以下の通り。

17

Chap.1
Chap.2
Chap.3
Chap.4

コマンド入力何 も 出 な い

Chap.5

図 2.6 javac コマンドを使って初めてのコンパイル

Chap.6

dir コマンドでファイルを確認してみてちょ。Step1.class というファイルができてるでしょ。これが実行ファイル。つまりChap.7「ファイル名 .class というファイルができた」=「コンパイル成功」ってこと。

Chap.8Chap.9
コマンド入力

Chap.10
ファイルを確認

Chap.11
Chap.12

図 2.7 Step1.class がちゃんとできてるか確認

付録
18

Chap.1

Chap.2

残念ながらコンパイルが失敗した人たちへ
今回が初めてのコンパイ気にすることはない

Chap.2● Path が通ってない？

だいたいみんな失敗するのだだだ

Path が通る？
何言ってんの「ʼjavacʼ は、 内 部 コ マ ンドまたは・・・」

Chap.4

うかでしゅ。下図のようにそんな人は付録 A の「A.2 Path の設定」を見るのだだだ

Chap.5とは Path が通っているかど

Chap.3ルということで，まず疑うこと表示された場合は，Path が通っていましぇん。付録 A「A.2Path の設定」できちんと設定ができているか確認してちょんま

Chap.7

Chap.6げ。

Chap.8

図 2.8 Path が通っていないときの表示●ソースが間違ってる？

次に疑うべきは，ソースが間違っているということ。

Chap.9

ソースが Java の書き方に合っていないと，Javac コマンドが「間違ってるよ！」と教えてくれましゅ。ソースが間違っててコ

Chap.10ンパイルが失敗することをコンパイルエラーっていいまーす。
例えば，3 行目の「System.out.println("Hello Java");」と書くべきところをChap.11「System.out.pripri("Hello Java");」プリプリと書いてしまったららら，

Chap.12「Step1.java:3: エラー : シンボルを見つけられません」

付録って表示され魔手。

19

Chap.1
Chap.2
Chap.3

図 2.9「シンボルを見つけられません」コンパイルエラー

Chap.4

他にも，3 行目の一番最後にある「;」が抜けていた場合，下図のようなエラーが表示され魔手。

Chap.5
Chap.6
Chap.7

図 2.10「;」がないときのコンパイルエラー

こんな時は，慌てず急がず，ソースをちゃんと修正して上書

Chap.8

き保存。コマンドプロンプトの履歴機能を使って再度コンパイルすればいいのさ。

Chap.9コンパイルが失敗したら，とりあえず次のことをチェックしてね♡

Chap.10• スペルは間違ってない？
• 大文字小文字はあってるー？
• 行の最後の「;」を忘れてないーー？

Chap.11•｛｝や（）の 始まり「{, (」と終わり「}, )」の数はあってるーーー？
• 全角スペースや全角文字は使ってないーーーー？

Chap.12Java 原人はコンパイルでしょっちゅう失敗すると思うけど，根気よく間違い探ししてね♡♡

付録
20

Chap.1

Chap.2

ちなみに・・・

Chap.2

エラー表示の 1 行目「Step1.java:3: エラー : ・・・」についての説明でしゅ。
最初の Step1.java はファイル名。次の「3」が役に立つ。ソーChap.3スの 3 行目にミスがあるってこと。ここに表示される番号の行

Chap.4あたりにミスがないか入念にチェックしてちょ。というわけで，コンパイルは成功したでしょうか？

Chap.6

Chap.5

次はいよいよ実行どえーす。

Chap.8java ファイル名

注意すべきは拡張子（「.class」の部分）がいらないこと。
では，実行させましょう。コマンドプロンプトに以下を入力し Enter を押してくだしゃい。
>java Step1

Chap.10commandChap.9

コ マンド書式

Chap.7

実行のさせ方は以下の通り。

付録

Chap.12

Chap.11どうなりました？図 2.11 のように「Hello Java」が出力されましたー？

21

Chap.1
Chap.2
Chap.3
Chap.4
コマンド入力実 行 結 果Chap.5

図 2.11 初めてのプログラム実行

Chap.6

おめでとうございまーーす。これであなたもプログラマーの一員？
こんな感じでプログラムは作っていきまーーす。

Chap.7

ソースを書くChap.8コンパイルする

Chap.9

エラー出た？

ソースを直す

何も出てない何か出た

Chap.10

実行する

Chap.11

次はいよいよプログラムの中身を説明していきまーす。

Chap.12「君はプログラマーになる覚悟はできているか。
」

付録
22

著者略歴
山田猛矢（やまだ たけし）

1975 年 誕生
2001 年 鹿児島大学理学部物理学科 卒業
2003 年 鹿児島大学大学院理工学研究科 博士前期課程 物理科学専攻 修了
2005 年 鹿児島大学大学院理工学研究科 博士後期課程 生命物質システム専攻 中途退学
2005 年 鹿児島第一高等学校 教諭
2006 年 第一工業大学工学部総合学科 講師2010 年 第一工業大学工学部情報電子システム工学科 講師
現在に至る

比嘉

築（ひが きずく）

1980 年 誕生
2003 年 鹿児島大学理学部物理科学科 卒業
2007 年 鹿児島大学大学院理工学研究科 博士前期課程 物理科学専攻 修了
前後にはプログラマ・システムエンジニア，専門学校講師として勤務
2012 年 フリーとなり E Cube Factroy 名で活動
現在に至る
E Cube Factroy：“Entertainment for Education and Enterprises” をコンセプトに，社会のあらゆる問題や要望を IT と物理学を通じて解決することを目指す。

卒 Java 原人

君は Java新人に進化できるか！？

2013 年 7 月 29 日

初版 1 刷発行

2013 年 8 月 28 日

初版 2 刷発行

著者

山田

猛矢・比嘉

イラスト

持増宏大

発 行 人比嘉築

発 行 所

E Cube Factory

築〒 904-0322 沖縄県中頭郡読谷村字波平1648
URL：http://www.e3factory.com/©2013 Takeshi Yamada, Kizuku Higa, Koudai Mochimasu

Printed in Japan

ISBN978-4-9907324-0-0
定価は裏表紙に表示してあります。

本書で使用するファイルや参考 Web ページへのリンク，正誤表などの補足情報はhttp://www.e3factory.com/book/sotsu-java-genjin/に掲載しております。ご感想やご意見，ご要望も同サイト掲載のメールアドレスで受け付けております。