2003 -0717 ver 1.20 誤字等修正と加筆 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃.&&&& **** %%%%.  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期 第2号(通巻45号) 2003/07/14  第2期は,Java 入門です。JavaScript は扱いません。  プログラムの基本 ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛  プログラムを作成する上での注意事項:  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☆---- ======================================================================== ▼ 前回の質問から 〔Q〕次のエラーが出てコンパイル出来ません。  C:\jwork>javac xHello.java  エラー: xHello.java を読み込めません。  エラー 1 個 〔A〕xHello.java が見つからないというエラーです。あるはずなのに,このエラー 出るときは,ファイルの拡張子の表示をしていないときによく起こります。自分で は,xHello.java を作成したつもりが,xHello.java.txt となっているときがあり ます。xHello.java.txt を xHello.java に修正して下さい。 〔Q〕xHello.javaをコピーしてxHello01.javaを作成し、コンパイルすると3つエ ラーが出るとありますが、2つしかエラーが出ませんでした。 〔A〕インストールした,SDK のバージョンの違いです。気にせずにどうぞ。 〔Q〕ファイル名と class 名をそろえないとコンパイルエラーが出るとありまし たが、エラーが出ませんでした。しかし、そのまま実行すると、  Exception in thread "main" java.lang.NoClassDefFoundError: xHello02 という実行時エラーが出て実行できなかったので、そろえる必要はあるみたいで す。 〔A〕インストールした,SDKのバージョンが違うとエラーの出方が違います。Jマ ガ第2期は,SDK(JDK) 1.4.1 を利用しています。すこしメッセージが違います が,Jマガ第2期は,古いバージョンでも勉強することができます。 〔Q〕私はWinMeですが、XPと同じやり方で大丈夫ですか? 〔A〕WinMe は,Win98 とほぼ同じです。jstart.bat は,Win98 用をお使い下さ い。Jマガ第2期では,WinXP と Win98 との違いが問題になるところは, jstart.bat の中身ぐらいです。 〔Q〕研修とかに使わせて頂けるとありがたいかもです。一応教える立場な者です ので。 〔A〕サンプルソースは,著作権フリーです。引用明記等は必要ありません。本文 内容を配布する場合は,メールで相談して下さい。 ========================================================================= ▼ 最初のプログラム  前回は,コンパイル&実行で終わりました。そのときに使った,プログラムの 説明がなく,もやもやしている人も多いでしょう。今回は,その解説をします。 1: class xHello { 2: public static void main(String[] xargs){ 3: System.out.println("Hello"); 4: } 5: }  前についている数字とコロン(:)は,行番号といいます。説明のために表示して るだけで,必要がありません。行番号部分をとると, class xHello { public static void main(String[] xargs){ System.out.println("Hello"); } } です。 ========================================================================= ▼ キーワードと命名規則  プログラムを書くときに,Java の文法上の規則として,使い方があらかじめ決 められいる言葉があります。xHello.java において,class,public,static, void がそうです。これらの英単語を,キーワードといいます。他のプログラム言 語では,予約語と呼ばれています。これの綴りを間違えると,通常は,コンパイル エラーとなります。  他にどの様なキーワードがあるか,号を追って説明していきます。  参考 Java キーワード一覧表  http://www.yscon.co.jp/j/java/jmaga/keywords.htm  プログラムを書くときに,キーワードではないですが,決まった名前を使う必要 がある英単語があります。これは,他の人の書いたプログラムの一部を利用すると き,また,特別な約束に従うときに,必要になります。xHello.java で言うと, main,System,out,println がそれにあたります。この文字を間違えても,たい ていは,コンパイルエラーとならず,別の名前と認識されてしまします。その場合, 当然ですが,思うような動作をしません。  上のプログラムで,xHello,xargs は,このプログラムを書く人が名前を決め ることができます。Jマガでは,このように,自由に名前を決めることができる言 葉を明確にするために,x で初めています。  自分で名前を決めるときは,通常のアルファベットと数字が使えます。いくつ かの記号(_, $)と日本語文字等Unicode(ユニコード)も利用できます。  日本語の文字と$記号は,使えますが,プログラム上の名前としては,一般的 には利用しません。数字から始まる名前は利用できません。  名前として使える例 a   Book_01 _redApple  名前として使えない例   3abc abc-3 a%  名前として使えるが,通常は使わない例 $abc   林檎   林檎01 ========================================================================= ▼ 空白,段付け(インデント,字下げ),改行  プログラムを書くときに,空白と改行で,英単語を区切ります。また,プログラ ムを見やすくするために利用します。(注1) class xHello { public static void main(String[] xargs){ System.out.println("Hello"); } }  単語と単語を区切る時には,一般の英語のように,空白を用います。改行でも 区切ることができます。空白と改行は一つ以上あれば,いくつあっても,プログ ラム上は意味がありません。特定の記号でも単語を区切ることができます。  上のプログラムで,  class xHello  の間の空白は,class と xHello を分けています。classxHello とすると, これで一つの単語になります。class は予約語ですが,予約語を含んでも,余分 な文字がつくと,別の単語となり予約語とは別のものになります。  xHello { は,xHello{ と付けても同じです。{ が自体が区切り記号となります。  次のように詰めて書いても,プログラム上は,まったく同じ意味になります。 class xHello{public static void main(String[]xargs){System.out.println ("Hello");}}  このように書くと,分かりにくいため,空白,改行を入れてプログラムを書い ています。 class xHello { public static void main(String[] xargs){ System.out.println("Hello"); } }  の様に,行の始めに空白をつけることで, class xHello { } の中に, public static void main(String[] xargs){ } があり,その中に System.out.println("Hello"); があると明確にしています。このように書くことを,インデントを付けると言って います。 ========================================================================= ▼ プログラム名とファイル名の一致  再度,サンプルをみましょう。 1: class xHello { 2: public static void main(String[] xargs){ 3: System.out.println("Hello"); 4: } 5: }  Java のプログラムは,class 名前 { } が一つの固まりで,これが一つのプロ グラムです。このプログラムの名前は,xHello です。Java では,プログラム名 とファイルの名前と一致させる必要があります。他のプログラム言語では,ファ イル名とプログラム名は一致する必要がない場合が多いです。ファイル名は, .java を付けて,xHello.java とする必要があります。大文字と小文字は区別さ れます。  このプログラムの中身は, 2: public static void main(String[] xargs){ 3: System.out.println("Hello"); 4: } です。これは,main という一つの仕事を定義しています。この仕事の定義のこと を,メソッドといいます。2 行目から,4 行目までで,main メソッドの定義をし ています。  2 行目の,public static void と main の前の付いていますが,この解説は, おいおいしていきます。現在は,main メソッドはこのように書くと覚えておい て下さい。 3: System.out.println("Hello");  これは,main メソッドの実際の仕事を書いています。Hello と画面に表示し ます。  System.out.println("Hello"); で,使われている,ピリオドは,日本語の "の"みたいなものです。この場合,Systemのoutのprintlnに"Hello"を渡して, 仕事をしてもらう,そんな感じです。println は仕事(メソッド)の一つです。  main メソッドは,その中で,printlnメソッドを実行しています。println メ ソッドが,どういう仕事を実際するのかは,System の中にある,out が,知って います。  この号は,これで終わりです。以下の練習問題に挑戦してみて下さい。  次号で,前回のクイズの解説を行います。 ------------------------------------------------------------------------ ▼ 練習 練習1 1: class xHello { 2: public static void main(String[] xargs){ 3: System.out.println("Hello"); 4: } 5: } のプログラムは,xHello.java で保存されているときに,変更できる名前は, xargs だけです。xargs を次のように変えて,コンパイルして下さい。  xargs を  x にして,コンパイルする。  x% にして,コンパイルする。  _x にして,コンパイルする。(_ は,アンダーバー)  -x にして,コンパイルする。(- は,ハイフン)  x を,日本語の,エックス として,コンパイルする。  x を予約語の void にして,コンパイルする。  x を xvoid にして,コンパイルする。  x を out にして,コンパイルする。 ------------------------------------------------------------------------ ▼ 補注 注1 空白をプログラムソースにいれるときは,Tab(タブーキー)も使えます。 ------------------------------------------------------------------------ ▼ 著作権について  このメールマガジンで公開している,プログラムソースは,著作権を当方スタッ フが所有しますが,プログラムソースの利用は,原則,商用を含めて,再利用, 改変,発表を制限しません。どんどんご利用下さい。  質問コーナのプログラムソースは,著作権に問題がある場合があるかもしれま せん。原則を適用しません。再利用の許可をしません。  画像や音などの素材は,それぞれ著作権があります。著作者に承諾なしに再利 用はできません。  本文に関しては,斎藤末広が著作権を所有します。再利用に関しては,承諾を 必要とします。お問い合わせ下さい。 ------------------------------------------------------------------------ ▼アンケート(以下を返信してください)  この号のJマガに対するご意見をお待ちしています。ぜひ,ご返信下さい。 この号の内容 1 良かった 2 普通 3 良くなかった コメント,リクエスト,質問もお待ちしています。遠慮せずにどうぞ。