Java入門:プログラミングの必須知識!まず押さえたい基本用語集
- ツイート
-
- 2023/04/12

スマホアプリやWebサービス、業務系システムなど、さまざまな分野の開発に用いられるJavaは、初心者の方でも学びやすいプログラミング言語です。プログラミングの経験をお持ちでない方にとっては、Javaは学習のハードルが高いように見えるかもしれませんが、基本を押さえればマスターすることができます。
そこで今回は、Javaのプログラミングで最初に押さえたい基本用語をご紹介します。
目次
【1】まずはここから!基本の「き」
1-1.クラスとメソッド

クラスは、プログラム実行に必要な処理をまとめた設計図で、メソッドと変数から構成されます。メソッドは、クラスが持つ機能を記述したもので、「メソッド名」「引数」「メソッド本体」から構成されます。
クラスとメソッドは以下のように記述します。
class クラス名{ メソッド名 (引数){ // 実行処理 メソッド本体 } }
1-2.引数と戻り値
メソッドに渡す値を引数(ひきすう)、返ってくる値を戻り値と呼びます。入力値を引数、出力値を戻り値と考えても良いでしょう。例えば、2つの数値を与えて和を計算するメソッドを作成した場合、数値が引数、和が戻り値に該当します。
1-3.変数とデータ型

データを一時的に格納する箱のことを変数と呼び、取り扱うことができるデータのタイプ(データ型)が変数によって異なります。
「整数型(byte型、short型、int型、long型)」「浮動小数点数型(double型、float型)」「文字型(char型)」「論理型(boolean型)」からなる基本型と、「クラス型」「インターフェース型」「配列型」からなる参照型に分けられます。
変数を利用するときは、あらかじめデータ型と変数名を宣言しなければなりません。例えば、int型のnumという名前の変数を宣言し、5という値を格納(代入)する場合、以下のように記述します。なお、末尾のセミコロンは、命令の区切りを表しています。
int num; num = 5;
1-4.文字列
複数の文字で構成される文字列を扱うときは、Stringクラスを利用します。Stringクラスには、文字列の分割や結合、比較、文字数のカウントをするためのメソッドが用意されています。
なお、文字(char)型データと文字列(String)型データは、タイプが異なるデータであるため注意しましょう。文字型データはシングルクォーテーション、文字列型データはダブルクォーテーションで囲って使います。
試しに以下のコードを記述し、実行してみてください。Stringクラスのlengthメソッドで文字列の長さを求めて出力します。
ファイル名:TestString.java
class TestString{ public static void main(String args[]){ String str = "Hello World!"; System.out.println(str + "の長さは" + str.length() + "です"); } }
1-5.配列
値を格納しておける箱が変数でしたが、変数の場合は1つの値しか格納できません。複数の値をまとめて扱うことができる機能が配列です。以下の例では、int型の10個のデータから構成される配列を宣言し、値を代入しています。
int[] primeNumber = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29};
1-6.コンパイル
コンパイルとは、プログラムをコンピューターが実行できる形に翻訳することです。Javaプログラムはそのままでは実行することができず、一度コンパイルを行います。コンパイルするための専用のソフトウェアがコンパイラです。
Javaの場合、ソースコードはコンパイラでバイトコードに変換されてから、JVM(Java Virtual Machine:Java仮想マシン)によって実行されます。
【2】演算子

演算はデータ処理の基礎となる重要な手続きです。四則計算のための算術演算子の他に代入演算子、比較演算子が用意されています。
2-1.算術演算子
aとbはともに数値データとします。
- 「+」(足し算)
「a + b」とすると、aにbを加えます。
- 「-」(引き算)
「a - b」とすると、aからbを引きます。
- 「*」(かけ算)
「a * b」とすると、aにbをかけます。
- 「/」(割り算)
「a / b」とすると、aをbで割ります。
- 「%」(余り)
「a % b」とすると、aをbで割った余りを算出します。
2-2.代入演算子
変数に値を代入する際に用いられる記号が代入演算子です。算術演算子と組み合わせて使えば、コードの記述量を減らすことが可能です。
- 「=」
「a = b」と記述すると、bの値をaに代入します。
- 「+=」
「a += b」とすると、「a = a + b」と同じ処理をします。
- 「-=」
「a -= b」とすると、「a = a - b」と同じ処理をします。
- 「*=」
「a *= b」とすると、「a = a * b」と同じ処理をします。
- 「/=」
「a /= b」とすると、「a = a / b」と同じ処理をします。
- 「%=」
「a %= b」とすると、「a = a % b」と同じ処理をします。
2-3.比較演算子

比較演算子は、左辺と右辺が条件を満たしているときに「true」(真)を返し、条件を満たしていないときに、「false」(偽)を返します。
- 「==」
「x == y」とした場合、xとyが等しいときにtrue、そうでないときにfalse返します。
- 「 <」
「x < y」とした場合、xがyよりも小さいときにtrue、そうでないときにfalseを返します。
- 「>」
「x > y」とした場合、xがyよりも大きいときにtrue、そうでないときにfalseを返します。
- 「 <=」
「x <= y」とした場合、xがyよりも小さいか等しいときにtrue、そうでないときにfalseを返します。
- 「 >=」
「x >= y」とした場合、xがyよりも大きいか等しいときにtrue、そうでないときにfalseを返します。
- 「!=」
「x != y」とした場合、xとyが等しくないときにtrue、等しいときにfalseを返します。
【3】制御文

Javaプログラミングの基本構造である「順次」「選択」「反復」といった処理を実現するための構文が「制御文」です。if文を使った条件分岐やfor文による繰り返しの他にも、重要な構文があります。それぞれの構文がどのような働きを担っているのかを見てみましょう。
3-1.if文

if文は条件分岐を行うために用いられます。条件分岐とは、与えられた条件の真偽に応じて実行する処理を変えることです。
次のコードで処理の流れを追ってみましょう。
public class Sample { public static void main(String args[]) { int val = 1; if (val == 1) { System.out.println("valは1"); } } }
コードの最初で変数valに1を代入し、if文の条件式「val == 1」で変数valと数値の1を比較し、結果が「真」のときに「valは1」と表示されます。このコードの場合、結果は「真」であるため、「valは1」と表示されるわけです。
3-2.for文と拡張for文
for文は、処理を決まった回数繰り返す際に利用されます。構文は以下の通りです。
for (変数の初期化; 終了条件; 増減式) { 処理; }
以下のプログラムでは、表示回数を1つずつ増やしながら実行処理を繰り返しています。
for (int i=1; i <=10; i++) { System.out.println("表示"+ i +"回目"); }
3-3.while文
while文も条件式を満たす間、処理をループさせるための構文です。形の似た構文にdo while文がありますが、while文は処理を先に行った後で処理するか否かを条件式によって判断します。
3-4.break文
for文やwhile文のループ処理中にbreak文が読み込まれると、処理を中断します。
3-5.continue文
for文やwhile文のループ処理中にcontinue文が読み込まれると、現在実行している処理を終了し、次のループ処理に移ります。
3-6.switch文

if文による条件分岐の場合、分岐の数が増えるとコードが読みづらくなります。多分岐処理をさせるときに便利な構文がswitch文です。
以下のコードでは、式の値が値1のときに処理1、値2のときに処理2、値3のときに処理3が実行されます。いずれの値にも該当しない場合は処理4が実行されます。
switch (式) { case 値1: 処理1; case 値2: 処理2; case 値3: 処理3; default: 処理4; }
【4】クラス(基礎編)
4-1.クラス
Javaはクラスの中に処理したい内容、つまりメソッドを記述することで意図した処理や手続きを行っています。クラスはいわば設計図に当たります。
4-2.クラス定義
クラスを使えるようにする準備がクラス定義です。クラスを定義するときは、以下のように記述します。
class クラス名 { // フィールドやメソッドなどを記述 }
フィールドはクラスの内部で定義された変数であり、クラスの持つ情報が格納されています。オブジェクトにはフィールドとメソッドが1つにまとめられています。
4-3.オブジェクト
クラスを自動車の設計図に例えるならば、オブジェクトは設計図に基づいて作られた自動車に該当します。つまり、オブジェクトはクラスを実体化(インスタンス化)したもので、オブジェクトを利用する際は以下のように記述します。
クラス名 変数名 = new クラス名(引数);
4-4.オブジェクト指向

オブジェクト(object)には「モノ」という意味があります。オブジェクトを部品のように組み合わせてシステムを構築する考え方のことをオブジェクト指向(object-oriented)といいます。
オブジェクト指向を取り入れたプログラミング言語を「オブジェクト指向言語」と呼びます。
4-5.メソッド
メソッドはクラスが持つ機能のことであり、クラスの振る舞いを決めます。1つのクラス内に複数のメソッドを記述することも可能です。
4-6.継承
あるクラスのフィールドやメソッドを引き継いで、新しいクラスを定義することです。継承を行う際、継承元となるクラスをスーパークラス、継承先となるクラスをサブクラスと呼びます。
クラスの継承は、修飾子extendsを用いて以下のように記述します。
class サブクラスの名前 extends スーパークラスの名前{ // 処理内容、メソッド }
4-7.オーバーライド
スーパークラスのメソッドをサブクラスで再定義することをオーバーライドと呼びます。オーバーライドしたメソッドを呼び出すときは、以下のように記述します。
super.メソッド名;
ただし、finalやstaticといった修飾子が付いているメソッドはオーバーライドできないため、注意が必要です。
4-8.オーバーロード
同一クラス内で同じメソッド名を定義することはできません。しかし、引数の型や並びを変えることで同名のメソッドでも複数定義することができます。この仕組みがオーバーロードです。
【5】応用
5-1.抽象クラスと抽象メソッド
abstract修飾子が付けられたクラスとメソッドをそれぞれ抽象クラス、抽象メソッドと呼びます。
抽象クラスは通常1つ以上の抽象メソッドを持ち、直接インスタンス化することができません。抽象クラスで大まかな機能を定義しておき、具体的な機能は継承したサブクラスで定義するという使い方をします。
5-2.インターフェース

インターフェースは具体的な処理内容を記述せず、メソッドの型だけを宣言したもので、以下の形をとります。
interface Sample{ //メソッド void method(); }
インターフェースをあるクラスに実装する場合は、実装先のクラスにimplementsを使って以下のように記述します。
class クラス名 implements インターフェース名 { }
また、インターフェースで親インターフェースを継承する場合は以下のように記述します。
interface インターフェース名 extends 親インターフェース名 { }
5-3.多態性(ポリモーフィズム)
多態性とは、抽象クラスやインターフェース、オーバーライドを利用することによって、同じメソッドを呼び出す場合に、各オブジェクト(インスタンス)に合わせてメソッドの処理に変化を持たせることです。
5-4.Objectクラス
Javaでクラスを定義する際、すべてのクラスのスーパークラスとなるクラスがObjectクラスです。こうした継承は自動的に行われ、すべてのクラスはObjectクラスのサブクラスとなります。
5-5.instanceof
instanceof演算子はオブジェクトの型を判定するための演算子です。例えば、以下のように記述すると、objがString型であるか否かを判別できます。objがString型のときはtrue、そうでないときはfalseが返ってきます。
if (obj instanceof String) { }
【6】その他
6-1.ファイル

ファイルにはテキストファイルとバイナリファイルの2種類が存在します。
テキストファイル
テキストファイルは文字データを含むファイルです。テキストエディタで簡単に編集することができます。
バイナリファイル
バイナリファイルは文字以外のデータを含むファイルです。バイナリファイルは、データに合わせた処理を必要とします。
6-2.ストリーム

Javaによるファイルの読み込み(入力)や書き出し(出力)などを行う場面で利用される仕組みがストリームです。ストリームはやり取りされるデータの受け渡しが抽象化されたもので、入力ストリームと出力ストリームがあります。
6-3.例外処理
Javaのエラーは、コンパイルエラーと実行時エラーの2通りがあります。実行時エラーが発生したときに特定の処理を実行させるために、以下のようにプログラムに例外処理を記述しておきます。
try{ 例外が発生する可能性のある処理; } catch (例外クラス 変数名){ 例外が発生したときに実行する処理; } finally { 例外の発生にかかわらず実行する処理; }
なお、throw文を用いると意図的に例外を発生させ、エラーメッセージを返すことができます。
6-4.ラムダ式
処理の実装を簡潔に記述できるようにJava 8でラムダ式が導入されました。以下のように記述します。
( 実装するメソッドの引数 ) -> { 処理 }
6-5.メソッド
main

mainメソッドはプログラムの最初に実行されるメソッドです。プログラムにmainメソッドの記述がない場合はエラーを返します。
random(乱数)

規則性のない、でたらめな数が乱数です。Javaでは、RandomクラスやMathクラスのrandomメソッドを利用することで乱数を生成できます。
おわりに
Javaプログラミングの勉強でつまずきやすい理由の1つが、基本用語の理解不足です。プログラミングの参考書を購入したものの、用語の意味がわからず挫折してしまう方も少なくはありません。ここでご紹介した用語はプログラムに頻繁に登場する用語であるため、きちんと理解するようにしましょう。
インターネット・アカデミーのJava講座では、OCJ-P Silver (Javaの開発元であるOracleが提供する資格試験)の資格を持つインストラクターが、Javaの基本はもちろん、セキュリティに特化した大規模なWebシステムの開発まで学ぶことができるので、初心者から即戦力のJavaプログラマーを目指すことができます。その他、合わせて学習したいプログラミング講座を多数ご用意しております。挫折せずにJavaを学びたいという方は、ぜひ一度無料体験レッスンにご参加ください。
関連講座
ITエンジニア総合コース
大規模Webシステムをオラクル認定校で学ぶ
Java講座Javaのプログラミングの基礎から、顧客管理システムやファイル共有システム、 さらには大規模なWebシステムの開発まで学び、未経験から即戦力のJavaプログラマーを目指すことができます。
相談してコースを選びたい方はカウンセラーに無料で相談

※無理な勧誘は一切ありません