プログラムの構成Java/開発環境で作成したSample.javaの内容を元に、 Javaプログラムの構成を見ていきましょう。 main()メソッド最初に、
と書かれている行を見てください。Javaのプログラムは、原則としてこの main() と記述されている部分から 処理が行われます。直ぐ下の中括弧"{"から、同じインデントの中括弧"}"までが、Javaでは特別にmain()メソッドと呼ばれています。 今回の例は、最初に実行される命令が[System.out.println("ようこそJavaへ!");]です。 もし、この下にも命令行が記述されていれば、特殊な命令を使用しない限り、原則として上の行から1文ずつ順に実行されていきます。
ブロック中括弧"{}"で囲われている部分をブロックと言います。 先の例では、class Sample{}と、public static void main(String args[]){}という2つのブロックが存在していることになります。 クラスJavaのコードは、classという言葉が先頭についたブロックから成り立っています。 class の次に書かれている言葉(例では"Sample")を、クラス名と言います。 Javaのプログラムには、クラスが最低1つ以上無ければなりません。例えば、Sample.javaには、[Sample]というクラスが1つあります。 クラスの名前は、自由につけることができます。 見やすいコードの書き方改行とインデントまず、下記の2つの例を見てください。
どちらのプログラムもコンパイルできますし、実行することができます。また、実行結果も同じです。 例1の方が、見やすく感じられると思います。見やすいプログラムのコツは、
などがあげられます。Javaでは、文の途中やブロックの中で改行してもよいとなっているため、 ブロック部分が分かりやすくなるように、"{"の部分で改行し、内部の行頭を少し下げています。 なお、出力する文字列"ようこそJavaへ!"の中で改行することはできません。 コードの中で字下げを行うことをインデントと言います。複雑なコードを書く際や、 プログラム作成期間が長い場合は、特に読みやすいコードを書くことを心がけましょう。 コメントプログラムの処理とは直接関係のない自分の言葉を、プログラム上に記述することができます。 これを、コメントと言います。通常、分岐処理や、複雑な条件式の上などに使用します。 コメントの書き方は、
単一行をコメントとする"//"と、複数行をコメントとする"/* ・・・*/"と、2種類あります。 クラスや変数の命名クラスや変数については、後にじっくりと解説しますが、これらの命名について説明します。 クラスや変数の名前は、その名前を見れば何を意味しているのか、何をするクラスなのかがある程度 理解できる方が望ましいです。
例えば、a, b, c, dといった変数を使用していれば、後で見直したときなど理解に苦しむと思います。 合計を計算するのであれば、calc_sum()という命名などが例になります。"calc" はCalculate:計算する の略で、"sum" は足し算を意味します。
標準入出力用途標準入出力とは、通常画面の入出力を意味します。ここでは、画面への出力の用途について、説明しておきます。 "画面へ文字を出力する"といった処理は、
といった用途があります。特に2つ目は、プログラム作成途中で最も活躍する用途です。 通常、プログラムが複雑になればなるほど、バグが多く含まれます。その解析(デバッグ)の 手法としても使用することができます。 printlnを使う"println"を使用して、画面に文字を出力することができます。 正確には、"System.out.println(Strings)"と記述します。Stringsを文字列と言い、この部分が 画面に出力されます。文字列については、後にじっくり解説します。最初に記述されている"System.out"とは、標準出力と呼ばれ、コンピュータの装置と結びつけられている言葉です。 printを使う"println"と同様に、画面に出力する処理ですが、違いがあります。 "println"では、1つの処理毎に改行されますが、"print"では続けて処理されることになっています。
リテラル文字と数値まず、下記のコードと実行結果を見てください。
例5では、様々な文字や数値が出力されています。このコードの中のAや"あかさたな!"、123 といった特定の文字や数値の表記を、Javaではリテラルと呼んでいます。 リテラルには、次のようなものがあります。
文字リテラルは、例にあるように1つの文字を' 'でくくって表します。 文字列リテラルは、複数の文字を" "でくくって表します。 n進数の表記n進数とは、基数をnとした数値の表現方法です。桁が1つ移動する毎に、値の重みがn倍になります。 例えば、私たちが日頃用いている10進数は0~9までの数字で数を表し、10になると次の桁が1増えます。 一方、コンピュータの世界では、2進数や16進数が最もよく使われます。ここでは、10進数、8進数、16進数の Javaでの表記の仕方を説明します。例えば、10を各進数で表記するには、
と書きます。10進数はそのまま表記し、8進数の場合には先頭に「0」、16進数の場合には「0x」をつけます。 下記のプログラムを実行して、実行結果を見てみましょう。
10進数、8進数、16進数で表記した「10」を出力しました。数値はダブルクォーテーション("")の中には 含みません。中に入れてしまうと、文字列として扱われてしまうからです。数値と文字列を組み合わせて出力するには 、[+]という記号を使用します。色々な表記方を使っても、画面には10進数で出力されます。 特殊文字エスケープシーケンス文字の中には、キーボードから入力できない特殊な文字が存在します。このような文字については、\を最初につけた2つの文字の組み合わせで 1文字分を表すことができます。これをエスケープシーケンスと言います。エスケープシーケンスには、以下のようなものがあります。
なお、環境によっては、\がバックスラッシュ[\]として表記される場合もあるので注意が必要です。 文字コード実はコンピュータの内部では、文字も数値として扱われています。このような各文字のかたちに対応する数値を、文字コード と言います。Javaでは、Unicode(ユニコード)と呼ばれる文字コードが使用されています。 エスケープシーケンスである「\ooo」や「\uhhhh」を出力すると、指定した文字コードに対応する文字が出力されます。 下記のコードを実行してみてください。
このように、文字コードを指定して画面に出力することもできます。 |