本記事からはJavaでソースコードを記述する上での基本となる文法について見ていきます。
「理解」だけではなく「暗記」の要素が強いところであり、つまらなく思えるかもしれませんが、「言語」と名の付くものを習得するには避けては通れない部分です。
何も、一度にすべてを覚える必要はありません。実際にコードを書きながら記憶に定着させていけば良いので、まずは一度読み流してみてください。
Java基本文法の種類
Javaの基本文法としてどのようなものがあるのか、その一例を以下に挙げてみます。
・変数と定数
・データ型
・コメント
・演算子
・配列(固定長配列、可変長配列、連想配列など)
・条件分岐(if文、switch文)
・繰り返し処理(for文、while文)
・break文、continue文
・例外処理
他にもまだまだあります。
さらにここからオブジェクト指向という概念を押さえていくことになり、以下のようなことも覚えていく必要があります。
・クラス
・メソッド
・インスタンス変数、クラス変数
・コンストラクタ
・継承
・インターフェース
など、とにかく覚えることはたくさんあります。
ただ、本記事冒頭で述べたように、一度にすべてを覚える必要はありません。こうしたものはコードをたくさん書いて記憶に定着させていくものです。
また、現役のプログラマーも、それぞれの構文を一語一句覚えているわけではなく、どのような場面で何を使えば良いのかを覚えておき、実際にコードを記述する際は、コピー&ペーストで記述するケースがほとんどです。
プログラミングはコピー&ペーストが基本?
プログラミングはコピー&ペーストが基本となる。
そんなことを堂々と言い放つ先輩プログラマーは多いです。
私もその意見に賛成であり、手打ちですべてのコードを記述していくようなことはしていません。
それは、構文を忘れてしまったという理由の他に、手打ちだと間違える可能性があるため、どこかのサンプルコードからコピーした方が安全だからです。
たとえば、以前の記事で作成した「HelloWorld」プログラムのソースコードを見てみます。
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World");
}
}
たったの4行のソースコードですが、これだけの記述でも間違える要素は多いです。
アルファベットの大文字、小文字を意識する必要もありますし、単語の綴りが怪しかったり、誤入力も結構起こりえます。
それが、動作実績のある別のソースコードなどからコピーしてきて、そこから必要に応じて編集していけば、間違いの少ない安全なソースコードとなるというわけです。
プログラミング初学者の段階でそこまで意識する必要はないところではありますが、実際のプログラマーはそんな風にソースコードを記述しているということを頭の片隅に置いておいてください。
また、これからたくさんの文法を覚えていくことになりますが、それらの構文(「文」を構成するルール)が覚えられないなど、そうしたことで悩む必要はありません。
Java基本中のキホン文法
では、ここからは基本文法の説明に入っていきます。
数ある中で、最も基本的なものから見ていきます。
セミコロン
Javaではステートメントの末尾には必ずセミコロン(;)を付ける必要があります。
ステートメントとは、一つの意味をなすプログラムの「1命令」のことを指します。日本語に訳すと”文”という意味になります。
基本的にはプログラムの1行が1ステートメントとなりますが、Javaでは1ステートメントを改行することで複数行に分けて記述することが可能です。
System.out.println("ステートメントはプログラムの1命令のことを指します。");
System.out.println("ステートメントの末尾には必ずセミコロンを付ける必要があります。");
System.out.println("ステートメントは" +
"このように改行して記述することができます");
複数行に分けることで、ステートメントが長くなるようなときソースコードが見やすくなります。
コメント
プログラミングにおけるコメントとは、プログラムの内容を示したソースコード上に記述する「注釈」のことを言います。
「//」は記述した位置から行末までを、
「/*」 ~ 「*/」 で囲った範囲をコメントにするという意味を持ちます。
System.out.println("この文は出力されます。"); //ここからこの行はコメントとなります。
//この行はコメントになります。
/* コメントを複数の行に
またぐこともできます。*/
コメントを書く目的は、時間が経ってからでも、ソースコードの意図を読み取ることを容易にすることにあります。ソースコードの意図をコメントとしてしっかりと残しておくことは、ソースコードの保守性及び可読性を高めるという点において、非常に重要なことです。
Java コンパイルエラー エンコーディングwindows-31jにマップできません
Javaのバージョンによっては、コメント行に日本語文字を含むと以下のエラーとなってしまうことがあります。
エラー: この文字(0x84)は、エンコーディングwindows-31jにマップできません
これは、Javaのデフォルトの文字コードとソースファイルの文字コードが異なるため、文字を判別できず、エラーとなっています。
このような場合は、コンパイル時にencodingオプションを使用して文字コードを「UTF-8」にエンコーディング(変換)してやることで解決できます。
> javac -encoding UTF-8 HelloWorld.java
通常、コメントは日本語で記述することになります。以降のサンプルでは、javacコマンドでコンパイルする際は、「-encoding UTF-8」を付与して実行します。
補足:毎回encodingオプションを指定するのが面倒な場合は、ソースファイルの文字コードをUTF-8として保存することでも解消できます。(むしろ、実際の開発現場ではJavaとソースファイルの文字コードは合わせるべきと言えます。)
まとめ
本記事では、Java基本文法の概要について触れ、Javaプログラミングを行っていく上で、基本中の基本となる「セミコロン」と「コメント」について解説してきました。
本文でも触れたとおり、Java基本文法は本当にたくさんあります。
それらを覚えていくということは、プログラミングをしていく上で避けては通れないところですので、しっかりやっていきましょう。
また、すべての一語一句まで覚える必要はありません。忘れてしまっても後から見直せば良いだけです。
大事なのはどういった文法があって、どういったときにどうやって活用するのか、それを覚えておけばプログラミング学習の効率がグンと高まりますので、その点も意識して頂ければ幸いです。