== プログラムの書き方 == === 文法どおりに書く ===  守らないとコンパイルできなかったり、実行できなかったりします。  文法は'''構文図'''を使って説明します。 === 慣習にしたがって書く === 文法として規定されているのではありませんが、プログラムを読みやすくするために、 次のような慣習があります。 できるだけ従いましょう。 インデント * 空白を使って位置ぞろえをして読みやすくすることを言います。 名前の付け方 * 1文字目は英字、2文字目以降は英字または数字。 * 大文字と小文字は区別される。 * $と_(アンダーバー)は英字と同じ扱いだが、使い方は慣習で決まっている。 * 普通の変数などはアルファベット小文字を使って分かりやすく、意味のある名前にします。 goukei, takasa, kouho1, kouho2 * i, j, k は繰り返しに用いる。 * クラス名は1文字目をアルファベット大文字にします。 Lesson1, Onigiri, Tokei * 定数はすべて大文字にします。 SEIGEN, XSIZE コメント * プログラム先頭のコメントとして、プログラムの情報を書くようにしましょう。 * 数行にわたるコメントは '''/''''''*''' と '''*''''''/''' ではさんで書きます。 * '''//''' から行末までもコメントです。 ---- === 構文図 === 構文図は文の正しい書き方を表すための図です。 {{attachment:parts1.png}}、{{attachment:parts2.png}}、{{attachment:parts3.png}} と矢印を使って表します。 * 矢印に示す順に入り口から出口までたどることで、文法的に正しい結果が得られます。 * {{attachment:parts1.png}}または{{attachment:parts2.png}}の部分はその中に書かれた文字のとおりに書きます。 * {{attachment:parts3.png}}の部分には対応する内容を書きます。 ---- === クラス === Javaのプログラムはクラスの集まりです。 1つのファイルに1つのクラスの定義を書くのが普通の方法です。 別の方法については、機会があれば説明します。 クラスの書き方は次の構文図のとおりです。 ファイル名はクラスの名前に .java をつけたものとします。 {{attachment:class.png}} ---- === メソッドの定義 === Cの関数に相当します。オブジェクト指向プログラムではメソッド呼びます。関数以外の役目もあります。 {{attachment:method.png}} ---- === mainメソッド === コマンド {{{ > java クラス名 }}} を入力するとJVM上で、指定クラスのmainメソッドが実行されます。 実行するためには、対応するクラスの修飾子は public であり、mainメソッドの修飾子は public と static の2つが指定されていなければなりません。 したがって、mainメソッドをもつクラスの定義はつぎのようになります。 {{{#!java public class Lesson1 { public static void main(String[] args) { ... ... } } }}} この例ではクラス名がLesson1ですので、ファイル名はLesson1.javaになります。 ---- === 演習 === 文字を表示するプログラムを作成し、コンパイル実行できることを確かめなさい。 . 文字を表示するメソッド(関数)の1つにSystem.out.printfがあります。 {{{ System.out.printf( 内容 ); }}} . 内容の部分の書き方はCと同じです。 ファイル名は Lesson1.java とすること。 (1) 実行すると次の2行の表示を行うプログラムを作成しなさい。 {{{ abcdefghijklmnopqrstuvwxyz !@#$%^&*()<>[]{}\:;'" }}} (2) linux, windowsの一方でプログラムを作成コンパイルし、もう一方で実行しても結果が同じになることを確かめなさい。