2003 -0705 ver 1.10 バージョンごとのコンパイルエラーの記述追加 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃.&&&& **** %%%%.  JavaScript&Javaで目指そう!基本情報技術者試験  ┃ ┃&&&&&&******%%%%%%  http://www.yscon.co.jp/j/java/jmaga/      ┃ ┃'&┃&''*┃*''%┃%'      (C)2003 斎藤末広 jmaga@yscon.co.jp  ┃ ┗━┻━━┻━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 前回の発行部数 7991部(まぐまぐ:6687 melma!:718 Pubzine:479             ティアラオンライン:18 めろんぱん:89) ★解除・登録 :http://www2.odn.ne.jp/~egu33/jmaga/java-maga.html ★バックナンバー :http://www.yscon.co.jp/j/java/jmaga/ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓  第2期 第1号(通巻44号) 2003/06/29  Javaをコンパイル,実行するまで ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛  プログラムを作成する上での注意事項:  WindowsXP, SDK(JDK) 1.4.1,IE 6.0 を前提としています。  「ファイルの拡張子を表示する」に設定してください。 ========================================================================= 交換広告(交換希望の方は,jmaga@yscon.co.jpまで) ----☆PR☆--------------------------------------------------------------           コンピュータ関係の資格を取りたい方へ              毎日届く,宿題メールの勉強仲間に入りませんか? ..&&&& **** %%%%. &&&&&&******%%%%%% 登録: http://backno.mag2.com/reader/Back?id=0000001414 '&┃&''*┃*''%┃%' 発行元:末広ページ http://www.3721p.com --------------------------------------------------------------☆PR☆---- ======================================================================== ▼ お知らせ(再掲 パズル出題,回答受付延長)  書籍『C言語のしくみ』が好評発売中の平田豊氏が,Jマガのために,パズル 作成してくれました。4月25日を締め切りとしていましたが,6月いっぱいに 締め切りを延長します。  正解者の中から3名の方に,平田豊氏の著書,もしくは,私の著書を一冊差し 上げます。  JavaScript または Java のソースを添付して,jmaga@yscon.co.jp までお送り 下さい。  メールに,希望書籍の番号,Jマガの感想・要望も書いて下さい。  プレゼント書籍(お好きなものを一冊選んで下さい)  1『C言語のしくみ』(平田 豊 著)     http://www.amazon.co.jp/exec/obidos/ASIN/4875934181/suehirospage-22  2『ソフトウェア開発技術者独習合格ドリル〈平成15年度〉』(平田 豊 著)     http://www.amazon.co.jp/exec/obidos/ASIN/4881663119/suehirospage-22  3『これからはじめるPerl&CGI入門ゼミナール』(平田 豊 著)     http://www.amazon.co.jp/exec/obidos/ASIN/4881662686/suehirospage-22  4『正規表現入門 』(平田 豊 著)     http://www.amazon.co.jp/exec/obidos/ASIN/4875932537/suehirospage-22  5『どこでも学べる初級シスアド午後』(斎藤末広 著)  出題者HP http://cgi3.tky.3web.ne.jp/~yutakakn/ [問題]  次の数式を満たすように空欄を数字で埋めよ。ただし、数字は 1 から 9 まで が使用でき、かつ各数字が使用できるのは一回のみとする。つまり、空欄には 1 から 9 までの数字が格納されることになる。また、解は何通りあるだろうか。    □□+□□□+□□□□=3717 [解答例]  97 + 158 + 3462 = 3717 締切 6/30(延長しました) ======================================================================== ▼ 第2期開始  このメールマガジン『JavaScript&Javaで目指そう!基本情報技術者試験』は, この号より,第2期になります。  第2期では,基本的なJavaの文法と「オブジェクト指向」の理解を目標とし, また,一からの説明をします。今までのJマガをもとに,取捨選択して,発行し ていきます。内容的にはかなりの重複があります。  情報処理技術者試験のJava の問題は,2問出題されます。1問は,Java の文 法を通じて,オブジェクト指向の理解が問われます。もう1問は,データ構造と アルゴリズムの知識がJavaのプログラムを通じて,出題されます。第2期では, この前半部分を対象とします。後半の問12レベルは,次の第3期で扱います。  続く,第4期では,サン・マイクロシステムズ社のJava検定の範囲のうち,第 2期で説明を省いたものを説明していく予定です。 今後の予定です。   7月中旬まで 第2期 「オブジェクト指向」をJava文法で学ぶ  10月上旬まで 第3期 「データ構造とアルゴリズム」をJavaで学ぶ  10月下旬から 第4期 Java文法詳細(Java検定範囲)  では,さっそく,Java でプログラムが出来るように,パソコンを設定すること からはじめましょう。 ------------------------------------------------------------------------ ▼ Javaのプログラム作成の流れ  Java でプログラムを作成するには次のような流れでおこないます。  Javaプログラムを作成(エディターを使用,メモ帳でもよい)   ↓↓  コンパイル(Jマガ第2期では,SDK付属の javac.exe を利用)   ↓↓  実行(Jマガ第2期では,SDK付属の java.exe を利用) の3つのステップで行います。 ------------------------------------------------------------------------ ▼ コンパイルとは Java の場合  コンパイルというのは,人間が書いたプログラムをコンピュータが分かる形に 一括変換することです。コンパイルするプログラムをコンパイラといいます。  コンパイルというと,通常は,CPU が直接解読できるコードに変換しますが, Java の場合は,Java仮想マシン(Java Virtual Machine)が解読できる形にするだ けです。Java仮想マシンというのは,Javaが動作する仮のCPUをエミュレートする ソフトのことです。これによって,多くのコンピュータ上で,Javaが動作します。  このように本当の機械語のプログラムに変換せずに,仮の機械語に変換して, 実行時には仮想マシン(エミュレートソフト)上で動作させるやり方を中間言語方式 といいます。仮想マシン用の機械語のことを中間言語と呼んでいます。Javaの 場合は,この中間言語を,バイトコードと呼んでいます。Java の特殊な用語です。 拡張子が,.class となっているファイルに格納されています。 ------------------------------------------------------------------------ ▼ SDK を手に入れるには  Java のコンパイラとJava 仮想マシン,その他の開発用のツールは,Java SDK の中に入っています。  この SDK は,サンマイクロシステム社から無料で入手することができます。  コンパイラと開発環境を一式を,かっては,JDK(Java Developers Kit)と呼び ましたが,現在は,SDK(Software Development Kit) と呼びます。  SDK は,この原稿を執筆している時点の最新版は,  j2sdk-1_4_1_03-windows-i586.exe という名前です。1_4_1_03 というところが,バージョン番号になります。 j2SE 1.4.1 と言われます。初心者の場合は,1.4 の数字までを意識すれば十 分です。  SDK を入手するには,雑誌等の付録を利用すると簡単です。  雑誌月刊ジャバワールド  http://www.idg.co.jp/magazines/index_jw_edi.html  サン・マイクロシステムズ社サイト  http://java.sun.com/j2se/1.4.1/ja/download.html  URL は,変更になるときがあります。最新のURLは,末広ページの「日本語で Java」のページをご覧下さい。  日本語で Java  http://www.3721p.com/java ------------------------------------------------------------------------ ▼ SDK のインストール インストールフォルダは,c:\j2sdk1.4 にすること!  SDK をインストールします。インストールする前に,パソコンの c:\ の容量を 確認して下さい。100Mバイトほど空いていないと,インストールする作業はよし た方がいいです。  空き容量が十分であれば,j2sdk-1_4_1_03-windows-i586.exe を起動します。 いくつかの質問は,"accept(了解)","はい","次へ"等で結構です。インストー ル先を訊ねてきますので,そのとき,インストール先のフォルダを,c:\j2sdk1.4 に変更してください。そうすることで,これからの作業を楽にできます。  インストール中,"環境を設定しています"というところで,一瞬止まったよう にみえることがあります。5分以内に終了します。 ------------------------------------------------------------------------ ▼ 作業用フォルダを作成する。  これからの作業は,ファイルの拡張子が表示されないと,間違いのもとです。 あなたがお使いのパソコンでは,拡張子を表示するように設定して下さい。  これから,Java を勉強していくための作業用フォルダを作成します。好きな フォルダを用意すれば,いいですが,以後,説明を簡単にするために,c:\jwork フォルダを作成することにします。  マイコンピュータを開き,ハードディスクc: を開いて,jwork フォルダを作成 します。  以後,この c:\jwork フォルダで,プログラムを作成していきます。この c:\jwork フォルダのショートカットをデスクトップに出しておいて下さい。 ------------------------------------------------------------------------ ▼ コンパイルできるように設定する 作業開始用バッチファイルを作成する  コンパイルするために,javac という命令と,実行するためには,java という 命令を使います。この命令をコンピュータで動作させるためには,path の設定 が必要です。pathの設定というのは,命令が指示されたときにその命令がどこの 道(path)をとって探すかをコンピュータに教えます。  path の設定の仕方はいろいろありますが,ここでは,バッチファイルを利用し て,安全で確実,簡単な方法をお教えします。  c:\jwork フォルダを開きます。  そのフォルダの中に,jstat.bat という名前のテキストファイルを作成して, 内容を, WinXP,Win2000,WinNT の場合は rem Javaの開発の設定を行う。 path c:\jwork;c:\j2sdk1.4\bin;%path% cmd Win98の場合は rem Javaの開発の設定を行う。 path c:\jwork;c:\j2sdk1.4\bin;%path% doskey command として下さい。 この jstart.bat を閉じて,jstart.bat をダブルクリックで,実行して下さい。 そうすると,黒い画面が開きます。これは,コマンドプロンプト画面と呼ばれる ものです。その中で,javac と入力して,[Enter]キーを押して下さい。  そうすると,javac の使い方の説明が表示されます。初心者のうちは,使わない 機能の説明ですので,まだ,読む必要はありません。表示されたら,設定は成功し ています。 C:\jwork>javac 'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と表示された場合は,設定が失敗しています。  ほとんどの場合は,インストールときに「c:\j2sdk1.4」にしなかったかため です。その場合は,jstart.bat の中身の,c:\j2sdk1.4 のところを,インストー ルしたフォルダ名と同じにして下さい。インストールしたフォルダ名は,c:\ を みることで確認出来ます。j2sdk で始まっているフォルダがあると思います。そ れが名前です。この原稿を執筆している段階の最新版を省略値の設定で,インス トールした場合は, C:\j2sdk1.4.1_03 にインストールされます。 ------------------------------------------------------------------------ ▼ プログラムを入力しよう。 c:\jwork 内に,新規テキストを作成して,xHello.java と名前を変更してくださ い。大文字小文字も正しく入力します。  Java では,大文字小文字を区別をします。入力のさいに気を付けてやりましょ う。  xHello.java の中身は以下のようにして下さい。コピー&貼り付けすれがいいで す。 class xHello { public static void main(String[] xargs){ System.out.println("Hello"); } }  貼り付けが終わったら,xHello.java を閉じます。 ------------------------------------------------------------------------ ▼ いよいよコンパイル!  もし,先ほどの jstart.bat を閉じてしまった方は,再度,jstart.bat を起動 して,コマンドプロンプト画面を表示して下さい。 C:\jwork> と表示されているところの最後に文字を入力します。 C:\jwork>dir のように,dir といれて,[Enter]キーを押してください。そうすると,C:\jwork フォルダの中身の一覧が表示されます。そのこに,XHELL で始まるファイルが確認 できるれば結構です。もし,無ければ,上の「プログラムを入力しよう。」をやり 直して下さい。 次に C:\jwork>javac xHello.java と入力し[Enter]キーを押すと,コンパイルができます。コンパイルが成功したら, 何もメッセージが表示されません。もし,メッセージが出て,エラーが表示された ら, C:\jwork>javac xHello.java の入力ミスか,xHello.java のプログラムの中が間違っています。開いて直します。 直したら,再度コンパイルをしてください。 ------------------------------------------------------------------------ ▼ Java プログラムの実行  次に,キーボードの「↑」を押して下さい。そうすると,先ほど,入力した 命令が,表示されます。 C:\jwork>javac xHello.java  「←」「→」,[DEL]キー等を使って, C:\jwork>java xHello と修正して下さい。そうして,[Enter]キーも押します。以後,入力後に[Enter] キーを押すというのは特に記述しません。 Hello と表示されます。これで あなたが作成した Java プログラムが実行できました。 ------------------------------------------------------------------------ ▼ Java プログラムの修正  xHello.java をコピーして,xHello01.java を作成します。次のように直して下 さい。 class xHello { public static void main(String[] xargs){ System.out.println("Hello'); } } 直した所は,1カ所です。  "Hello" を "Hello' としています。 これで,エラーを含むプログラムになります。コンパイルするとエラーになるはず です。  では,どんなエラーがでるか,試してみましょう。この xHello01.java を閉じ て,コンパイルして下さい。コマンドプロンプト画面で,「↑」を押して, C:\jwork>javac xHello.java と表示して下さい。これを C:\jwork>javac xHello01.java に修正して,実行して下さい。そうすると,xHello01.java のコンパイルが始ま ります。  次のようなメッセージが表示されるはずです。これをコンパイルエラーといい ます。エラーが3つ出ていることを確認して下さい。 (コンパイラのバージョンが違うとエラーの数,メッセージが違っています。) C:\jwork>javac xHello01.java xHello01.java:3: 文字列リテラルが閉じられていません。 System.out.println("Hello'); ^ xHello01.java:3: ')' がありません。 System.out.println("Hello'); ^ xHello01.java:1: クラス xHello は public であり、ファイル xHello.java で 宣言しなければなりません。 public class xHello { ^ エラー 3 個  最初のエラーを再度,見てみましょう。 xHello01.java:3: 文字列リテラルが閉じられていません。 System.out.println("Hello'); ^  Hello のような文字の列を,専門用語では,文字列リテラルといいます。これは, "と"で囲まれている必要があります。しかし,後ろの"がないため,エラーとなっ ています。対応する " がないというエラーになっています。  ではこれを正しく"Hello"に修正して,再度コンパイルをしてみましょう。 class xHello { public static void main(String[] xargs){ System.out.println("Hello"); } } 今度もコンパイルエラーが出ました。 C:\jwork>javac xHello01.java xHello01.java:1: クラス xHello は public であり、ファイル xHello.java で 宣言しなければなりません。 public class xHello { ^ エラー 1 個  このエラーメッセージを理解するには,今の段階では難しいです。これは, 簡単に説明すると,class xHello とあれば,ファイル名も xHello.java にしな さいということを言っています。つまり,これは,xHello01.java というファイ ル名の時は, class xHello01 { public static void main(String[] xargs){ System.out.println("Hello'); } } としなくてはいけないということです。これは,他の言語などにはあまりない, java の規則です。  では,次のように修正して,再度コンパイルをして下さい。 class xHello01 { public static void main(String[] xargs){ System.out.println("Hello"); } }  今度は無事にコンパイルができました。 C:\jwork>java xHello01 として実行すると, Hello と表示されます。 ------------------------------------------------------------------------ ▼ 終了の仕方  コマンドプロンプト画面は,通常の窓のように,×ボタンを押すことで,終了 することもできますが,コマンド入力の所に, c:\jwork>exit と入力して終了するのが正式です。  exit のあと,win98の場合は,コマンドプロンプト画面に Ctrl+C を押しなさいというようなメッセージが出ます。Ctrlキーを押しながらC のキーを押して下さい。 ------------------------------------------------------------------------ ▼ 練習 練習1  xHello.java の中身を見ながら,xHello02.java を作成します。Hello と表示 する代わりに,「こんにちは」と表示して下さい。  コピー&貼り付けとかせずに,手で1文字ずつ入力して下さい。 ------------------------------------------------------------------------ ▼ 著作権について  このメールマガジンで公開している,プログラムソースは,著作権を当方スタッ フが所有しますが,プログラムソースの利用は,原則,商用を含めて,再利用, 改変,発表を制限しません。どんどんご利用下さい。  質問コーナのプログラムソースは,著作権に問題がある場合があるかもしれま せん。原則を適用しません。再利用の許可をしません。  画像や音などの素材は,それぞれ著作権があります。著作者に承諾なしに再利 用はできません。  本文に関しては,斎藤末広が著作権を所有します。再利用に関しては,承諾を 必要とします。 ------------------------------------------------------------------------ ▼アンケート(以下を返信してください)  この号のJマガに対するご意見をお待ちしています。ぜひ,ご返信下さい。 この号の内容 1 良かった 2 普通 3 良くなかった コメント,リクエスト,質問もお待ちしています。遠慮せずにどうぞ。