C言語ユーザのためのJavaはじめの一歩
C言語を学んでいる人にとっては、新しい言語を学ぶと身構える必要はありません。Javaは、もっとも普及していたプログラミング言語であるC言語を模範して作られています。よって、
- 基本データ型とその宣言方法は同じ
- 算術演算、論理演算も同じ
- プログラム制御文も同じ(for,while,if など)
ただし、Javaはオブジェクト指向言語であるゆえに違うところもあります。このあたりを注意しないとトンデモないプログラムができてしまいます。つまり、C言語に似ているということは
- C言語の知識を生かせる →利点
- Cみたいなプログラムを書いてしまう・書けてしまう(オブジェクト指向の特徴を使っていない)→欠点
という利点と欠点をあわせ持つことになり、特に後者の欠点は意識したほうが良いです。
ちなみに、C言語と違うところは、取り上げればたくさんあります。とりあえず、入門時に戸惑いやすい点として、以下の点があげられるでしょう。
C言語で使えていた関数は使えない
当然ですが、printfやscanf関数など、C言語で使っていたなじみのある関数は原則使えません。(近年、同名の関数が使えるようになったりしていますが、原則として関数はC言語とは異なると思ってください)
ポインタ変数がない(メモリ管理をしなくてよい)
ポ インタ的な考え方(参照渡しの考え方)は理解しておかないといけませんが、「ポインタ変数」なるものは存在しません。つまり、ポインタに対する演算のよう な処理は使えないということです。ポインタを考えなくていいということは、メモリ管理をしなくていいということです。メモリの管理はVM(バーチャルマシ ン)が行ってくれます。
main関数の利用の仕方
C言語と同様にmain関数が存在し、その役割もC言語と似ていますが、若干記述方法が異なり、main関数内でのプログラムを記述する際には注意点があります。詳しくはここを参照。
配列の宣言方法が違う
以下のようになります。明らかにC言語と違いますね。
配列の宣言方法
char ss[] = new char[4];
プログラムはすべてクラス内で記述する
ここの話は、以後述べていきます。