管理人

SEとして働く管理人「まつ」がつぶやく個人運営サイトになります。 ITの難しい用語や、仕事で感じた事などを中心に"わかりやすさ"を意識して記事にしています。少しでも共感や参考にしていただける人がいたら嬉しいです。

2024/5/13

Javaのプリミティブ型と参照型の違いを分かりやすく解説

はじめに Javaのデータ型には、プリミティブ型と参照型があります。 次の例は、プリミティブ型と参照型の違いをあらわしています。 [プリミティブ型と参照型の例] public class Sample { public static void main(String[] args) { // プリミティブ型 int a = 0; int b = a; b = 1; System.out.println("プリミティブ型 変数 a =" + a); System.out.println( ...

2021/9/25

値渡しと参照渡しの違い

はじめに 関数への引数の渡し方には「値渡し」と「参照渡し」があります。 例えば、次のような「関数A」があるとします。「関数A」には「引数」があり、「関数A」を呼び出すときは引数を指定します。 この関数への引数の渡し方には「値渡し」と「参照渡し」があります。 本記事では「値渡し」と「参照渡し」の違い、そして「参照の値渡し」について解説しています。 値渡しとは 値渡し(英:call by value)とは、変数の値(実体)をコピーして渡す方法です。変数の実体はメモリ上で管理されています。 このメモリ上で管理さ ...

2021/7/15

Spring Boot + JPAで複合主キーのテーブルを扱う方法

はじめに Javaのフレームワーク「Spring Boot」とデータベース操作を簡単に利用できる「Spring Data JPA」を使い、複合主キー(テーブルに複数の主キーがある)のテーブルからデータを抽出する方法を紹介します。 本記事で作成する「一覧画面」のイメージとテーブル定義は以下の通り。 [テーブル定義] 物理名 論理名 データ型 NOT NULL 説明 school_year 学年 INT 〇 主キー group 組 INT 〇 主キー number 出席番号 INT 〇 主キー name 名前 ...

2021/7/13

コールバック関数とは

コールバック関数 コールバック関数(英:callback function)とは、関数を呼び出す際に引数として引き渡される別の関数のことです。 関数はいくつかの処理をひとまとまりにしたものであり、通常、利用する側は用意されている関数を使うだけです。(利用する側は関数内部の処理を改変することはできない) しかし、コールバック(callback)の仕組みを取り入れた関数では、一部の処理を外部の別関数を呼び出す形で実装し(引数として受け取った関数を内部で呼び出す)、どの関数を呼び出すかを引数の形で外部から指定で ...

2021/7/16

参照渡しとは

参照渡し 関数への引数の渡し方には「値渡し」と「参照渡し」があります。参照渡し(英:call by reference)とは、変数のメモリ番地(メモリ上の位置)を渡す方法です。 変数のメモリ番地を渡しているため、関数内で引数の値を変更すると、呼び出し元の変数も変更されてしまいます。 参照渡しの流れ 例えば、次のような「関数A」があるとします。「関数A」には「引数」があり、「関数A」を呼び出すときは引数を指定します。 変数の実体はメモリ上で管理されている 呼び出し元「変数A」の実体はメモリ上で管理されていま ...

2021/7/16

値渡しとは

値渡し 値渡しとは 関数への引数の渡し方には「値渡し」と「参照渡し」があります。値渡し(英:call by value)とは、変数の値(実体)をコピーして渡す方法です。 変数の値をコピーして渡すため、関数内で引数の値を変更しても、呼び出し元の変数に影響を及ぼすことはありません。 値渡しの流れ 例えば、次のような「関数A」があるとします。「関数A」には「引数」があり、「関数A」を呼び出すときは引数を指定します。 変数の実体はメモリ上で管理されている 呼び出し元「変数A」の実体はメモリ上で管理されています。 ...

2023/8/4

インスタンスとオブジェクトの違い

「インスタンス」と「オブジェクト」 オブジェクト指向言語のクラスを使うとき「インスタンス」や「オブジェクト」という言葉がよく登場します。 「インスタンスの生成」「オブジェクトの生成」「クラスのインスタンス」「クラスのオブジェクト」など、書籍やインターネット上のサイトでも表現が異なります。 また「インスタンス」と「オブジェクト」は同じ意味のように使用されています。ではなぜ同じ意味のように使われているのに、言葉が違うのでしょうか。 本記事では、インスタンスとオブジェクトの違いについて解説しています。 オブジェ ...

2021/7/9

オブジェクトとは

オブジェクト(object) オブジェクト(英:object)とは、物、物体などの意味を持つ英単語で、ソフトウェアの分野では、コンピュータ上で操作や処理の対象となる何らかの実体のことをいいます。 オブジェクト指向 オブジェクト指向では、クラスのインスタンスのことをオブジェクトといいます。 オブジェクト指向言語では、クラスと呼ばれるものを使用します。クラスとはデータや処理をひとまとめにしたものです。 関連するデータや処理をまとめた「クラス」という部品を作っておき、その部品を自由に組み合わせ、必要であれば再利 ...

2021/7/9

インスタンスとは

インスタンス(instance) インスタンス(instance)は、「実例」の意味を持つ英単語で、ソフトウェアの分野では「実体」のことをいいます。 インスタンスとは インスタンスとは、クラスを元に作成したオブジェクトの実体のことです。 オブジェクト指向におけるインスタンス オブジェクト指向言語では、クラスと呼ばれるものを使用します。クラスとはデータや処理をひとまとめにしたものです。 関連するデータや処理をまとめた「クラス」という部品を作っておき、その部品を自由に組み合わせ、必要であれば再利用することで効 ...

2022/9/15

AFFINGER5からAFFINGER6(ACTION)へのアップデート手順

ACTION(AFFINGER6)がついに販売開始 2021年7月1日より ACTION(AFFINGER6)の販売が開始しました。WING(AFFINGER5)購入者は、ACTION(AFFINGER6)へ無料でアップデートできます。※2021年7月時点 ACTION(AFFINGER6)へのアップデート方法は以下の2通りです。 ACTION(AFFINGER6)を利用する ACTION(AFFINGER6)WING互換性バージョンを利用する ACTION(AFFINGER6)を利用する場合 ACTIO ...

2024/5/14

【PHP入門】staticプロパティとstaticメソッド

はじめに 前回の記事では、PHPの継承とオーバーライドについて紹介しました。 本記事では、PHPのstaticプロパティとstaticメソッドのついて紹介します。 staticキーワード クラスのプロパティ(変数)やメソッド(関数)にstaticをつけると、クラスのオブジェクト(インスタンス)を生成せずにアクセスできます。 staticプロパティは「クラス名::プロパティ名」、staticメソッドは「クラス名::メソッド名」のようにスコープ定義演算子(::)を使ってアクセスできます。 staticプロパテ ...

2024/5/14

【PHP入門】変数のスコープ(ローカル変数、グローバル変数)

はじめに 前回の記事では、PHPの可変長引数について紹介しました。 本記事では、変数のスコープ(ローカル変数、グローバル変数)について紹介します。 変数のスコープとは 変数のスコープとは、定義した変数が使える範囲のことをいいます。 ローカル変数とは ローカル変数とは、関数内で定義した変数のことです。 ローカル変数のスコープは変数を宣言した関数内です。そのため、ローカル変数を定義した関数内でしか使用できません。(ローカル変数を関数の外で使用するとエラーが発生する) [ローカル変数の使用例] <?php ...

2024/5/14

【PHP入門】継承とオーバーライド

はじめに 前回の記事では、PHPのクラスについて紹介しました。 本記事では、PHPの継承とオーバーライドについて紹介します。 継承(extends) 継承とは、クラスが持っているメソッド(関数)やプロパティ(変数)を別のクラスに引き継がせることです。 継承元のクラスを親クラス、継承先のクラスを子クラスといいます。 子クラスを作成するには「extends」(読み:エクステンズ)を使用します。次のように「extends」の前に子クラス名、後に親クラス名を指定します。 継承の使用例 それでは、実際にPHPのプロ ...

2024/5/13

【PHP入門】クラス(class)の使い方

はじめに 前回の記事では、変数のスコープ(ローカル変数、グローバル変数、静的変数)について紹介しました。 本記事では、PHPのクラスについて紹介します。 クラスとは クラスとは、メソッド(関数)やプロパティ(変数)をまとめたもの(関数と変数を持ったプログラムの固まり)です。 次の例では、Cat(猫)の情報を管理するクラスを作成しています。クラスには、メソッドとプロパティを記述できます。 オブジェクトの生成(インスタンスの生成) クラスを使用するには「new」キーワードを使用します。「new クラス名」でク ...

2024/5/14

【PHP入門】可変長引数

はじめに 前回の記事では、PHPの「値渡し」と「参照渡し」について紹介しました。 本記事では、PHPの可変長引数について紹介します。 可変長引数 可変長引数とは、引数の数が決まっていない引数のことです。ピリオドを3つ「...」書くことで、可変長引数を表します。 可変長引数の書き方は次のとおりです。 可変長引数の使用例 それでは、実際にPHPのプログラムで可変長引数の使い方を紹介します。 次の例では、関数「total」の引数に可変長引数「...$score」を使用しています。そして、関数「total」を呼び ...

2024/5/15

【PHP入門】値渡しと参照渡し

はじめに 前回の記事では、PHPの関数(function)について紹介しました。 本記事では、引数の渡し方(「値渡し」と「参照渡し」)について紹介します。 値渡しとは 参照渡しとは、変数の値をコピーして渡す方法です。変数の値をコピーして渡すため、関数内で引数の値を変更しても、呼び出し元の変数に影響を及ぼすことはありません。 値渡しの書き方は次のとおりです。 以下は値渡しのイメージ図です。 変数の値の実体はメモリ上で管理されています。値渡しは変数の値をコピーして渡すので、メモリ上の実体もコピーされます。 そ ...

2024/5/15

【PHP入門】関数(function)の使い方

はじめに 前回の記事では、PHPのswitch文を使った条件分岐について紹介しました。 本記事では、PHPの関数について紹介します。 関数とは 関数とは、いくつかの処理をひとまとまりにしたものです。機能を部品化するイメージで、その部品(関数)を使いまわすことができます。 関数には、処理を実行するための条件である「引数」(パラメータ)を渡すことができます。そして、処理の実行結果を「戻り値」として返却します。※戻り値は返さなくてもよい 複数の引数を指定する場合は「total($a, $b)」のようにカンマ区切 ...

2024/5/16

【PHP入門】条件分岐(switch文)

はじめに 前回の記事では、PHPのbreak文とcontinue文について紹介しました。 本記事では、switch文を使った条件分岐について紹介します。 switch文を使った条件分岐 switch文とは、if文と同じように条件分岐を行う制御文です。if文は else-if文を使うことで複数の条件式を書けますが、switch文の条件式は1つです。 1つの式に対して、式の値が case のどれにあてはまるか確認します。あてはまる case があれば、その case の処理を実行し、caseのどれにもあてはま ...

2023/8/4

【PHP入門】ループの中断・スキップ(break文、continue文)

はじめに 前回の記事では、while文を使った繰り返し処理について紹介しました。 本記事では、ループを中断するbreak文、ループ処理の途中で、残りの処理をスキップして次のループ処理に移るcontinue文について紹介します。 繰り返しを中断する(break文) for文やwhile文などの繰り返しを途中で中断するには break(読み:ブレイク)文 を使います。 break文の使用例 それでは、実際にPHPのプログラムでbreak文を使ったループの中断について紹介します。 次の例では、配列「$money ...

2023/8/4

【PHP入門】繰り返し(while文)

はじめに 前回の記事では、PHPの繰り返し処理(for文、foreach文)について紹介しました。 本記事では、while文を使った繰り返し処理について紹介します。 while文を使った繰り返し処理 while(読み:ホワイル)文とは、条件が成立している間 処理を繰り返し実行する制御文です。同じ繰り返し処理であるfor文、foreach文との違いは、繰り返しの回数があらかじめ決まっていないところです。 while文の書き方は次のとおりです。 while文では、条件が成立する限り処理を繰り返します。 whi ...