<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>処理系の使い方</title><revhistory><revision><revnumber>32</revnumber><date>2011-09-16 01:04:44</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>31</revnumber><date>2011-09-15 14:05:30</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>30</revnumber><date>2011-09-15 13:55:12</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>29</revnumber><date>2011-09-15 13:51:43</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>28</revnumber><date>2010-09-17 01:52:09</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>27</revnumber><date>2010-09-17 01:48:32</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>26</revnumber><date>2009-09-19 12:08:30</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>25</revnumber><date>2009-09-19 12:03:42</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>24</revnumber><date>2009-09-19 12:01:38</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>23</revnumber><date>2009-09-19 11:50:55</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>22</revnumber><date>2009-09-19 11:49:45</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>21</revnumber><date>2009-09-19 11:47:49</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>20</revnumber><date>2009-09-19 11:45:20</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>19</revnumber><date>2009-09-19 11:43:22</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>18</revnumber><date>2009-09-19 11:42:05</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>17</revnumber><date>2009-09-19 11:40:30</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>16</revnumber><date>2009-09-19 11:38:37</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>15</revnumber><date>2009-09-19 11:35:31</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>14</revnumber><date>2009-09-19 11:28:22</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>13</revnumber><date>2009-07-27 05:38:32</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>12</revnumber><date>2008-11-19 00:42:33</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>11</revnumber><date>2008-10-01 01:23:51</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>10</revnumber><date>2008-10-01 00:03:07</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>9</revnumber><date>2008-09-26 06:38:14</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>8</revnumber><date>2008-09-26 06:37:22</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>7</revnumber><date>2008-09-22 05:21:31</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>6</revnumber><date>2008-09-22 03:35:36</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>5</revnumber><date>2008-09-22 01:51:20</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>4</revnumber><date>2008-09-22 01:49:32</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>3</revnumber><date>2008-09-22 01:49:06</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>2</revnumber><date>2008-09-19 07:15:10</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>1</revnumber><date>2008-09-19 01:50:52</date><authorinitials>masahiko</authorinitials></revision></revhistory></articleinfo><section><title>処理系の使い方</title><para>Cのプログラミングを学習済みとして説明しています。 </para><!--rule (<hr>) is not applicable to DocBook--><section><title>ソースプログラム</title><itemizedlist><listitem override="none"><para>ソースプログラムはエディタを使って作成します。 </para></listitem><listitem override="none"><para>Javaプログラムはクラスを定義するものです。 </para></listitem><listitem override="none"><para>クラス名の<emphasis role="strong">１文字目</emphasis>は大文字にします。 </para></listitem><listitem override="none"><para>ファイル名はクラス名の後に <emphasis role="strong">.java</emphasis> をつけたものでなければならない。 </para></listitem></itemizedlist><section><title>Javaソースプログラムの構造</title><itemizedlist><listitem override="none"><programlisting format="linespecific" language="java" linenumbering="numbered" startinglinenumber="1"><![CDATA[ ]]><token><![CDATA[public]]></token><![CDATA[ ]]><token><![CDATA[class]]></token><![CDATA[ ]]><methodname><![CDATA[クラス名]]></methodname><![CDATA[ {]]>
<![CDATA[        ...]]>
<![CDATA[        ...]]>
<![CDATA[ }]]>
</programlisting></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--></section></section><section><title>コンパイル</title><itemizedlist><listitem override="none"><para>コンパイルするには次のコマンドを使います。 </para><screen><![CDATA[ > javac ソースファイル名]]></screen></listitem><listitem override="none"><para>ソースファイル名はクラス名の後に <emphasis role="strong">.java</emphasis> をつけたものですから次のように考えても同じです。 </para><screen><![CDATA[ > javac クラス名.java]]></screen></listitem><listitem override="none"><para>コンパイルによりJava仮想マシンの機械語であるバイトコードが生成されます。 </para></listitem><listitem override="none"><para>ソースプログラム Abc.java がコンパイルされるとクラスファイル Abc.class が作られます。(Abcの部分はクラス名) </para></listitem><listitem override="none"><para><inlinemediaobject><imageobject><imagedata fileref="http://ei-www.hyogo-dai.ac.jp/~masahiko/moin.cgi/%E5%87%A6%E7%90%86%E7%B3%BB%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9?action=AttachFile&amp;do=get&amp;target=java11.png"/></imageobject><textobject><phrase>java11.png</phrase></textobject></inlinemediaobject> </para></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--></section><section><title>実行</title><itemizedlist><listitem override="none"><para>実行は仮想機械(JVM)上で行います。 </para></listitem><listitem override="none"><para>コマンド </para><screen><![CDATA[ > java クラス名]]></screen></listitem><listitem override="none"><para>を入力するとJVM上で、指定クラスのmainメソッドが実行されます。 </para></listitem><listitem override="none"><para><inlinemediaobject><imageobject><imagedata fileref="http://ei-www.hyogo-dai.ac.jp/~masahiko/moin.cgi/%E5%87%A6%E7%90%86%E7%B3%BB%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9?action=AttachFile&amp;do=get&amp;target=java12.png"/></imageobject><textobject><phrase>java12.png</phrase></textobject></inlinemediaobject> </para></listitem><listitem override="none"><para>Lesson1.java をコンパイルしてできた Lesson1.class (内のmain)を実行するには </para><screen><![CDATA[ > java Lesson1]]></screen></listitem><listitem override="none"><para>と入力します。 </para></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--></section><section><title>mainメソッドを含むプログラム</title><itemizedlist><listitem override="none"><para>javaコマンドを用いて直接実行できるのは、mainメソッドを含むクラスに限ります。 </para></listitem><listitem override="none"><para>mainメソッドを含まないクラスを定義することもできます。 </para></listitem><listitem override="none"><para>mainメソッドを含むソースプログラムの構造は次のようになります。 </para><programlisting format="linespecific" language="java" linenumbering="numbered" startinglinenumber="1"><![CDATA[ ]]><token><![CDATA[public]]></token><![CDATA[ ]]><token><![CDATA[class]]></token><![CDATA[ ]]><methodname><![CDATA[クラス名]]></methodname><![CDATA[ {]]>
<![CDATA[        ]]><token><![CDATA[public]]></token><![CDATA[ ]]><token><![CDATA[static]]></token><![CDATA[ ]]><token><![CDATA[void]]></token><![CDATA[ ]]><methodname><![CDATA[main]]></methodname><![CDATA[(]]><methodname><![CDATA[String]]></methodname><![CDATA[[] ]]><methodname><![CDATA[args]]></methodname><![CDATA[) {]]>
<![CDATA[                ...]]>
<![CDATA[                ...]]>
<![CDATA[        }]]>
<![CDATA[ }]]>
</programlisting></listitem></itemizedlist><section><title>例</title><itemizedlist><listitem override="none"><para>Hello, World ! と表示するプログラム。 </para><programlisting format="linespecific" language="java" linenumbering="numbered" startinglinenumber="1"><![CDATA[ ]]><token><![CDATA[public]]></token><![CDATA[ ]]><token><![CDATA[class]]></token><![CDATA[ ]]><methodname><![CDATA[Lesson1]]></methodname><![CDATA[ {]]>
<![CDATA[        ]]><token><![CDATA[public]]></token><![CDATA[ ]]><token><![CDATA[static]]></token><![CDATA[ ]]><token><![CDATA[void]]></token><![CDATA[ ]]><methodname><![CDATA[main]]></methodname><![CDATA[(]]><methodname><![CDATA[String]]></methodname><![CDATA[[] ]]><methodname><![CDATA[args]]></methodname><![CDATA[) {]]>
<![CDATA[                ]]><methodname><![CDATA[System]]></methodname><![CDATA[.]]><methodname><![CDATA[out]]></methodname><![CDATA[.]]><methodname><![CDATA[printf]]></methodname><![CDATA[(]]><phrase><![CDATA["Hello, World !\n"]]></phrase><![CDATA[);]]>
<![CDATA[        }]]>
<![CDATA[ }]]>
</programlisting></listitem><listitem override="none"><para>Lesson1 というクラスを定義しています。 </para></listitem><listitem override="none"><para>クラス名が Lesson1 のときファイル名は Lesson1.java になります。 </para></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--></section></section><section><title>別の環境(OS)で利用する</title><para><emphasis role="strong">実行</emphasis> </para><itemizedlist><listitem override="none"><para>実行したいOS上にJVMが存在すれば、クラスファイルをコピーするだけで、修正なく同様に実行できます。 </para></listitem></itemizedlist><itemizedlist><listitem override="none"><para>コンパイルしたのと同じOS上で実行できるのはあたりまえ。 </para></listitem><listitem override="none"><para>Windows上でコンパイルしてLinux上で実行することも可能です。 </para></listitem><listitem override="none"><para>Linux上でコンパイルしてWindows上で実行することも可能です。 </para></listitem><listitem override="none"><para>MacOSや他の多くのプラットフォーム上にも用意されています。 </para></listitem></itemizedlist><para><emphasis role="strong">コンパイル</emphasis> </para><itemizedlist><listitem override="none"><para>別のOS上で作成されたソースプログラムをコンパイルするときは文字コードの扱いに注意が必要です。 </para></listitem></itemizedlist><itemizedlist><listitem override="none"><para>OSの標準とは異なる文字コードで記述されたプログラムをコンパイルするときは -encoding オプションで文字コードを指定します。 </para></listitem><listitem override="none"><para>SJISで記述したプログラムを別のOS上でコンパイルするときには </para><screen><![CDATA[ > javac -encoding SJIS filename.java]]></screen></listitem><listitem override="none"><para>のようにします。 </para><itemizedlist><listitem><para>Windowsでの標準の文字コードはSJISです。 </para></listitem><listitem><para>演習用サーバ(Linux)での標準の文字コードはUTF-8です。 </para></listitem></itemizedlist></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--></section><section><title>コマンドオプション</title><itemizedlist><listitem override="none"><para>javac java どちらのコマンドにもオプションを指定することができます。 </para></listitem><listitem override="none"><para>使えるオプションは </para><screen><![CDATA[ > javac -help]]></screen><screen><![CDATA[ > java -help]]></screen></listitem><listitem override="none"><para>で調べられます。 </para></listitem><listitem override="none"><para>バージョンを調べるには </para><screen><![CDATA[ > javac -version
 > java -version]]></screen></listitem><listitem override="none"><para>とします。 </para></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--></section><section><title>Javaのバージョン</title><itemizedlist><listitem override="none"><para>書籍やネット上の情報などでは Javaのバージョンと処理系のバージョン表記に違いがあるので注意してください。 </para><informaltable><tgroup cols="2"><colspec colname="col_0"/><colspec colname="col_1"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para>Javaのバージョン</para></entry><entry colsep="1" rowsep="1"><para>処理系のバージョン</para></entry></row><row rowsep="1"><entry align="center" colsep="1" morerows="1" nameend="col_0" namest="col_0" rowsep="1"><para>Java</para></entry><entry colsep="1" rowsep="1"><para>Java 1.02</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para>Java 1.1</para></entry></row><row rowsep="1"><entry align="center" colsep="1" morerows="2" nameend="col_0" namest="col_0" rowsep="1"><para>Java2</para></entry><entry colsep="1" rowsep="1"><para>Java 1.2</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para>Java 1.3</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para>Java 1.4</para></entry></row><row rowsep="1"><entry align="center" colsep="1" morerows="1" nameend="col_0" namest="col_0" rowsep="1"><para>Java5</para></entry><entry colsep="1" rowsep="1"><para>Java 1.5</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para>Java 1.6</para></entry></row></tbody></tgroup></informaltable></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--></section><section><title>実習室での注意</title><itemizedlist><listitem><para>この授業用のフォルダ(ディレクトリ)を作成し、そのフォルダ(ディレクトリ)内にここで使う.javaファイルや.classファイルなどを置きましょう。 </para></listitem><listitem><para>Windowsを使う場合、フォルダ名は直接入力で入力できる文字で付けること。 </para></listitem><listitem><para>上の使い方の説明で＞の記号はプロンプトを表しています。 </para><itemizedlist><listitem override="none"><para>Windowsではドライブ名、フォルダ名に続いて &gt; が表示されます。 </para></listitem><listitem override="none"><para>Linuxではディレクトリ名に続いて $ が表示されます。 </para></listitem></itemizedlist></listitem></itemizedlist><para>コンパイルと実行の例 </para><itemizedlist><listitem override="none"><para>Linux(演習用サーバ)の場合 </para><screen><![CDATA[ [name@linux ~]$ cd proa
 [name@linux proa]$ javac Sample.java
 [name@linux proa]$ java Sample]]></screen></listitem><listitem override="none"><para>Windowsの場合 </para><screen><![CDATA[ z:\> cd proa
 z:\proa> javac Sample.java
 z:\proa> java Sample]]></screen></listitem></itemizedlist><para><emphasis role="strong">できるだけ演習用サーバを利用してください。</emphasis> </para></section></section></article>