Javaは開発者から非常に人気のプログラミング言語です。一度書いたプログラムはプラットフォームに依存せずに実行できるため、OS間をまたいだ開発をする際に、移植の手間を省くことができます。この記事では、「Java入門」と称して、基礎知識や基本的な文法を解説します。初心者の方も、ぜひ記事を参考にJavaを利用してみてください。
公開日:2022年9月29日
INDEX
Java言語に関する基礎知識
Java言語とはSun Microsystems社によるプログラミング言語です。「Write once, run anywhere」の理念で設計されており、一度書いたプログラムはプラットフォームを選ばずに実行できます。
まずは、Java言語の基本的な知識について解説します。
Javaの特徴
Java言語は1996年にリリースされ、現在でも多くの開発者に支持されるプログラミング言語です。Javaはさまざまなプログラミング言語に影響を与えており、ScalaやCeylon、Groovyなど、Javaプラットフォーム上で動作するプログラミング言語も存在します。
Java言語は実行環境に依存せず動作するため、Web開発やサーバ上で動作するプログラムを開発するのに適しています。また、ゲームやスマートフォンのアプリケーションといった一般的なアプリケーション開発や、基幹システムの記述も可能です。
また、Javaは「クラス」というパーツを組み合わせて記述します。このようなプログラミングの考え方を「クラスベース」と言い、クラスベースは「オブジェクト指向」と呼ばれる考え方に含まれます。オブジェクト指向プログラミングは、「オブジェクト」と呼ばれる単位でプログラムを設計します。
Javaはコンパイルという作業が必要なので、近年人気が高まっているPythonやRubyといったインタプリタで動作する(コンパイルが必要ない)言語と比較すると、初学者には難しく感じるかもしれません。しかし、Javaを学ぶことには多くのメリットがあります。次に、Javaの具体的なメリットをご紹介します。
Javaを習得する5つのメリット
①他のプログラミング言語の学習・活用にも役立つ
Javaは非常に開発者、使用者が非常に多い言語であるため、学習参考書なども豊富です。需要が高いため、エンジニアを目指す場合にも一度は学習しておきたい言語です。Javaはオブジェクト指向の導入としても有用ですし、似た文法規則の言語も多いため、ほかのプログラミング言語の学習も楽になります。
②効率的な開発が可能
使用者が多い分、ライブラリが豊富にリリースされているため、効率的な開発が可能です。
③高速処理が可能なので、大規模な開発に適している
初学者にはPythonなどのインタプリタ言語が人気ですが、大規模な開発を考える場合、インタプリタよりもJavaやC++などのコンパイラの方が高速な処理が可能です。
④JVMが動作するコンピュータであれば、OSに依存せず利用可能
JavaはJVM(Java仮想マシン)上で動作します。例えば、C言語で使用するCコンパイラでコンパイルしたマシンコードは機種に依存しますが、Javaをコンパイルするとバイトコードが形成され、Javaインタプリタ(JVMに内包)により逐一解釈され実行されます。この仕組みにより、JavaはOSに依存しないプログラミングを実現しています。
⑤セキュリティ性が高い
Javaは「サンドボックスモデル」と呼ばれるセキュリティ機構を備えています。サンドボックスとは、保護された領域でプログラムを動作させることで、システムの不正操作を防止するものです。
\文字より動画で学びたいあなたへ/
Udemyで講座を探す >Javaのインストール・環境構築(Windows編)
Javaの開発環境を構築するときには、Java開発キット(JDK)をダウンロードして使用するのが簡単です。ダウンロードしてインストールしたら、環境変数の設定をします。環境変数の設定をしないと、コマンドプロンプトからコンパイルができません。
コマンドプロンプトで
1 |
javac –version |
と入力することで、JDKがインストールされているかが確認できます。インストールされていればJavaのバージョンが表示されます。環境構築が終わったら、動作確認のため簡単なプログラムを記述して実行します。
1 2 3 4 5 |
class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world."); } } |
Javaのインストール・環境構築(Mac編)
Javaのプログラミングをする場合には、ORACLEのホームページからJava開発キット(JDK)をインストールして使用します。Macでは環境変数の設定が不要なので、インストールが終わったら
1 |
javac –version |
でバージョンを確認しましょう。インストールが正常に終わっていれば、javaのバージョンが表示されます。
簡単なプログラムを記述して動作確認をしてください。
1 2 3 4 5 |
class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world."); } } |
Javaプログラムの作成手順
ここからはJavaの記述と実行方法について解説します。
ソースプログラムを記述する
プログラムを書くためのソフトウェアを「エディタ」といいます。Windowsのメモ帳もエディタとして利用できますし、フリーソフトでも実用的なエディタが多くあります。エディタにプログラムを記述し、「クラス名.java」として保存します。
ソースプログラムをコンパイルし、クラスファイルを作成する
ソースコードを機械語に変換する操作を「コンパイル」と言います。Javaのソースコードは、以下のコマンドでコンパイルできます。
1 |
javac ソースファイル名.java |
コンパイルを行うと「ソースファイル名.class」のファイルが出力されます。
クラスファイルを実行する
Javaの実行は以下のコマンドで行います。
1 |
java ソースファイル名 |
上記プログラムを実行した場合、上図のように「Hello World」と出力されます。
【Java入門】処理の基本的な知識を身につけよう
ここからはJavaの基本的な文法について解説します。
・変数とデータ型
・演算子
・文字列
・制御文
・配列
・クラスとメソッド
変数とデータ型
数値や文字列をプログラム内で記憶しておくためには「変数」の宣言が必要です。変数の宣言のときには、データ型を記述する必要があります。
例えば以下のようなデータ型があります。
データ型 | 意味 |
byte | 8bitの符号付き整数 |
short | 16bitの符号付き整数 |
int | 32bitの符号付き整数 |
long | 64bitの符号付き整数 |
float | 32bit浮動小数点数 |
double | 64bit浮動小数点数 |
boolean | 1bit真偽値 |
char | 16bitのUnicode文字 |
変数の宣言は以下のように記述します。
データ型 変数名(識別子)
また変数に値を代入する場合に「=」を使って、以下のように記述します。
変数名 = 値
演算子
プログラムでは演算子を使って、変数などの処理をします。
以下のような演算子があります。
演算子 | 意味 | 使用例 |
+, -, *, /, % | 算術演算子 | a = b + c; |
=, +=, -=など | 代入演算子 | a = a + 10; a += 10; |
<, <=, >, >=, ==, != | 関係演算子、等価演算子 | if( a < 10 ) |
!, &&, || | 論理演算子 | if( a < 10 && 20 < a ) |
<<, >> | シフト演算子 | b = a >> 2; |
文字列
Javaで用意されている基本的なデータ型は上の8つですが、Stringというクラスを実装することで文字列の操作を簡単にできるように工夫しています。
文字列は「”」で囲い、以下のように記述します。
String 変数名 = “文字列”;
また、文字列の長さを取得したり(length)、比較したり(equals)する便利なメソッドも用意されています。
制御文
ここからは繰り返し処理と条件分岐について解説します。
繰り返し処理
繰り返し処理はほかの言語と同様に、for, while, do whileなどが使用されます。
処理 | 記述例 |
for | for( i=1; i<=10; i++){ <処理> } |
while | int i = 1; while( i <= 10){ <処理> i = i +1; } |
do while | int i = 1; do{ <処理> i = i + 1; } while ( i <= 10 ); |
またJavaではforEachという繰り返し処理もあります。さらにforEachはメソッドなので、ラムダ式を使って記述することもできます。
繰り返し処理について詳しく知りたい方は「Java for文を初心者でも理解!重要なbreakとcontinueの違いも理解しよう!」を併せてご覧ください。
配列
配列は同種のデータを一度に扱うためのものです。
配列の宣言は以下のようにします。
データ型 変数名[];
変数名 = new データ型[要素数];
これをまとめて
データ型 変数名[] = new データ型[要素数];
とすることもできます。
クラスとメソッド
クラスとは、データとその処理を組み合わせたものです。プログラミングではよく使う処理を「関数」にまとめて記述しておき、関数を必要に応じて呼び出して使用します。
Javaではこの処理(関数)のことを「メソッド」といいます。Javaのプログラムはクラスの寄せ集めで構成されており、特定の目的のための機能をまとめて記述します。またJavaでは数の処理をするためのMathクラスや文字列の処理に関するStringクラスなどが用意されています。
継承
プログラミングでは出来のよいクラスがあったとき、そのクラスを流用して機能を追加したい場合があります。このときに使用するのが「クラス継承」という方法です。このときもとになるクラスを「スーパークラス」といい、スーパークラスを継承して新しく作成されるクラスを「サブクラス」といいます。
スーパークラスには多くのプログラムで使用する共通部分を記述しておき、サブクラスでそれぞれのプログラムで使用する細々した部分を記述すれば、何度も同じようなコーディングをしなくてよくなるため、効率的に開発ができるようになります。
今回はJavaの基礎知識について紹介しました。この記事で紹介した文法のほかにも、変数型の変換や正規表現、アプレットやアプリケーション関連の実装についてなど、さまざまな文法があります。多様なフレームワークもリリースされており、例えば、JavaではSpring Bootと呼ばれるフレームワークを使用すると効率的に開発できます。
Spring Bootについては「JavaでのWeb開発に便利なSpring Bootとは?メリットや最適なIDEを紹介」をご覧ください。
Udemyでの学習を考えている方は、以下のような講座がおすすめです。
【本質からわかる!】現場で使えるJavaプログラミングマスター講座:詳説・基礎文法編
Spring入門~SpringBoot2を使ってお問い合わせアプリとToDoアプリを作る~
JavaシリーズVol.1【ゼロからJavaの基礎文法と開発ツールを同時に学ぶ】何から始めるかわからない悩みをぶっとばせ
私は、新人教育でJavaを教えてきましたがその結論は「Javaの勉強は、文法と開発ツールを同時に覚えなければならない」でした。それまでは、Javaの文法だけを丁寧に教えていた。 でも、文法だけだと英語の勉強と同じで、面白くないんですよね。
\無料でプレビューをチェック!/
講座を見てみる評価:★★★★★
仕事でのスキルアップのため初めてjavaを学んだが、予想以上にわかりやかった。初心者におすすめの講座であると思う。
評価:★★★★★
VBAしか知らない初心者ですが、とても分かりやすかったです。
最新情報・キャンペーン情報発信中