-
Javaで0・1・2の配列をソートする方法|DNF(オランダ国旗)アルゴリズムの実装
問題の概要 0、1、2 のみで構成された配列が与えられ、すべての「0」を先頭に、「1」を中間に、「2」を最後に配置するように並べ替えます。このとき、追加の配列を使用せずインプレース(in-place)でソートする必要があります。 この問題は、DNF(Dutch National Flag:オランダ国旗)ソートアルゴリズムを用いることで効率的に解けます。このアルゴリズムは、計算機科学者エドガー・W・ダイクストラが提唱した「オランダ国旗問題」に由来する古典的な手法で、3種類の値(ここでは 0・1・2)をたった1回の走査で整列できるのが特徴です。 入力例 1 arr[ ] = {2, 0, 0,
-
Javaの正規表現におけるキャプチャグループとは?意味と使い方を実例で解説
正規表現とは 正規表現とは、専用の構文で記述されたパターンをもとに、特定の文字列や文字列の集合を検索・照合するための特別な表現方法です。Javaでは java.util.regex パッケージに含まれる Pattern クラスと Matcher クラスを利用することで、正規表現による柔軟な文字列処理を実現できます。 キャプチャグループの意味 正規表現におけるキャプチャグループとは、複数の文字やサブパターンをひとつの単位として扱うための機能です。グループは丸括弧「( )」で表され、括弧の中に複数のサブパターンを記述すると、それらはひとつのグループとして認識されます。 たとえば、パターン [0-9
-
Javaの正規表現とは?基礎知識と使い方をわかりやすく解説
正規表現(Regular Expression)とは、入力テキストを検索・処理するための「パターン」を定義する特殊な文字列のことです。1つ以上の文字や記号を組み合わせて構成されており、正規表現を活用することで、文字列の検索や置換を効率的かつ柔軟に行うことができます。 Javaでは、java.util.regexパッケージによって正規表現によるパターンマッチング機能が提供されています。このパッケージには、主に次の3つのクラスが含まれています。 java.util.regexパッケージの主要なクラス 1. Patternクラス Patternクラスは、コンパイル済みの正規表現を表すクラスです。文字
-
Javaのsubstring()メソッドとは?部分文字列の取得方法を徹底解説
java.langパッケージに属するStringクラスは、文字の集合(文字列)を表すクラスです。Javaプログラム内に登場するすべての文字列リテラル(例:「abc」など)は、このクラスのインスタンスとして実装されています。 また、文字列インデックスとは、文字列内の各文字の位置を示す整数値のことで、先頭の文字が「0」から数え始めます。 substring()メソッドとは 部分文字列(substring)とは、元の文字列の一部を切り出したセグメントのことです。Stringクラスが提供するsubstring()メソッドを使うと、文字列から任意の範囲の部分文字列を簡単に取得できます。 このメソッドには
-
JavaのMatcherクラスはスレッドセーフ?マルチスレッド利用時の注意点を解説
正規表現とは、特殊な構文で記述されたパターンをもとに、特定の文字列や文字列の集合を照合・検索するための仕組みです。テキストやデータの検索、編集、加工など、さまざまな場面で活用されています。Javaでは、java.util.regex パッケージによって正規表現によるパターンマッチング機能が提供されています。 Matcherクラスとは Matcherオブジェクトは、パターンを解釈し、入力文字列に対してマッチング操作を実行する「エンジン」の役割を担うクラスです。Patternクラスと同様に、Matcherクラスには公開されたコンストラクタは用意されておらず、Patternオブジェクトの match
-
Javaで正規表現を使ってパターンマッチングを行う方法をわかりやすく解説
正規表現(Regular Expression)とは、入力テキストの中から特定のパターンを検索するための文字列のことです。正規表現には1つ以上の文字を含めることができ、これを利用することで文字列の検索や置換を効率的に行えます。Javaでは、java.util.regex パッケージが正規表現によるパターンマッチング機能を提供しています。このパッケージの Pattern クラスは、コンパイル済みの正規表現を表すクラスです。文字列と正規表現を照合するために、このクラスは主に次の2つのメソッドを提供しています。compile(): 正規表現を表す文字列を引数として受け取り、その正規表現をコンパイルし
-
Javaのコンストラクターとは?基本構文から実例までわかりやすく解説
Javaにおけるコンストラクター(constructor)は、記述方法こそメソッドに似ていますが、いくつかの重要な違いがあります。最大の特徴は、コンストラクター名がクラス名と同一である点と、戻り値の型を持たない点です。コンストラクターは自分で呼び出す必要はありません。オブジェクトを生成(インスタンス化)する際に自動的に実行されます。主な役割は、クラスが持つインスタンス変数の初期化です。コンストラクターの基本構文コンストラクターは以下のように定義します。class ClassName { ClassName() { // 初期化処理 } }コンストラクター定義時の
-
Javaのコンストラクタとは?役割と使い方を実例付きで解説
コンストラクタとは コンストラクタはメソッドに似た仕組みで、クラスのオブジェクトが生成されるタイミングで自動的に呼び出されます。主な用途は、クラスのインスタンス変数を初期化することです。 コンストラクタには以下のような特徴があります。 クラス名と同じ名前を持つ 戻り値の型を持たない(voidも指定しない) newキーワードによるオブジェクト生成時に自動的に実行される コンストラクタの種類 Javaのコンストラクタには、大きく分けて次の2種類があります。 引数なしコンストラクタ:引数を受け取らず、固定値などでフィールドを初期化します。 引数付きコンストラクタ:呼び出し側から渡された値を使っ
-
Javaのパラメータ化コンストラクタとは?使い方と具体例を解説
Javaのコンストラクタとはコンストラクタはメソッドに似た特別な仕組みで、クラスのオブジェクトが生成されるタイミングで自動的に呼び出されます。主にクラスのインスタンス変数を初期化するために使用されます。コンストラクタにはクラス名と同じ名前を付けなければならず、戻り値の型は持ちません。コンストラクタには大きく分けて「引数なし(デフォルト)コンストラクタ」と「パラメータ化(引数付き)コンストラクタ」の2種類があります。このうち、パラメータ化コンストラクタは1つ以上の引数を受け取ることができるのが特徴です。パラメータ化コンストラクタの役割コンストラクタの主な目的は、クラスのインスタンス変数を初期化す
-
Javaのコンストラクタに戻り値の型はない?その理由と動作を実例で解説
コンストラクタはメソッドと似た構造を持つ特別な仕組みで、クラスのオブジェクトが生成されるタイミングで自動的に呼び出されます。主な役割は、クラスのインスタンス変数を初期化することです。また、コンストラクタの名前は必ずクラス名と同じになるというルールがあります。コンストラクタの戻り値の型についてコンストラクタには戻り値の型が定義されていません。通常のメソッドの場合、返す値のデータ型はさまざまであり、戻り値の型はその値の種類を示します。コンストラクタは明示的に値を返しませんが、newキーワードによるオブジェクト生成時に、暗黙的に自分が属するクラスのインスタンスを返します。つまり、コンストラクタは「戻
-
Javaのコンストラクタには何種類ある?引数あり・引数なしの違いを徹底解説
コンストラクタはメソッドに似た仕組みで、クラスのオブジェクトを生成するタイミングで自動的に呼び出されます。主な役割は、クラスのインスタンス変数(フィールド)を初期化することです。コンストラクタには次のような特徴があります。クラス名と同じ名前を持つ戻り値の型を持たない(voidも指定しない)オブジェクト生成時にnewキーワードとともに自動的に実行されるJavaのコンストラクタは、大きく分けて「引数あり(パラメータ化された)コンストラクタ」と「引数なしコンストラクタ」の2種類があります。それぞれ詳しく見ていきましょう。1. 引数あり(パラメータ化された)コンストラクタ引数ありのコンストラクタは、そ
-
Javaのパラメータ化コンストラクタとは?基本から実例までわかりやすく解説
コンストラクタ(constructor)は、クラスのオブジェクトを生成するタイミングで自動的に呼び出される特殊なメソッドのようなものです。主な役割は、クラスのインスタンス変数を初期化することにあります。コンストラクタには以下のような特徴があります。クラス名と同じ名前を持つ戻り値の型を持たない(voidも指定しない)オブジェクト生成時に自動的に実行されるパラメータ化コンストラクタとはパラメータ化コンストラクタ(引数付きコンストラクタ)は、引数を受け取ることができるコンストラクタです。受け取った引数を使ってインスタンス変数を初期化できるため、オブジェクトを生成する瞬間に、それぞれ異なる値を動的に設
-
Javaでパラメータ化コンストラクタを作成する方法【サンプルコード付き】
コンストラクタはメソッドに似た仕組みで、クラスのオブジェクトが生成される瞬間に自動的に呼び出されます。主な役割はクラスのインスタンス変数を初期化することで、コンストラクタはクラスと同じ名前を持ち、戻り値の型を持ちません。Javaのコンストラクタには大きく分けて2種類あります。引数を受け取らない「no-argコンストラクタ」と、本記事で解説する引数を受け取る「パラメータ化コンストラクタ」です。パラメータ化コンストラクタとはパラメータ化コンストラクタとは、引数(パラメータ)を受け取り、その値でインスタンス変数を初期化できるコンストラクタです。クラスをインスタンス化するタイミングで異なる値を渡せるた
-
Javaでデフォルトコンストラクタを作成する方法をわかりやすく解説
デフォルトコンストラクタ(引数なしコンストラクタ)とは引数なしのコンストラクタ(No-arg constructor)は、パラメータを一切受け取らず、クラスのフィールドをそれぞれのデフォルト値で初期化します。具体的には、オブジェクト型には null、float 型と double 型には 0.0、boolean 型には false、byte・short・int・long 型には 0 が設定されます。なお、コンストラクタを明示的に呼び出す必要はありません。オブジェクトが生成される(インスタンス化される)タイミングで自動的に呼び出されます。コンストラクタを定義する際のルールコンストラクタを定義する
-
JavaとJava EEの違いは何?JSE・JEEの特徴をわかりやすく解説
Javaには複数のエディションが存在し、それぞれ目的や提供される機能が異なります。本記事では、代表的な2つのエディションである「Java SE(Standard Edition)」と「Java EE(Enterprise Edition)」の違いについて詳しく解説します。 JSE(Java Standard Edition)とは Java SEは、デスクトップアプリケーションなどのスタンドアロン型アプリケーション開発に使用される、Javaの中核となるエディションです。Adobe Reader、ウイルス対策ソフト、メディアプレーヤーなどがその代表例であり、「コアJava(Core Java)」
-
Javaで日付オブジェクトを作成する方法【Date・SimpleDateFormat・LocalDate】
Javaで日付(Date)オブジェクトを作成する方法はいくつかあります。この記事では、代表的な3つの方法である「java.util.Dateクラス」「SimpleDateFormatクラス」「LocalDateクラス」を使った日付オブジェクトの生成方法を、サンプルコードと実行結果とともにわかりやすく解説します。 1. Dateクラスを使って現在日時のオブジェクトを作成する java.util.Date クラスの Date() コンストラクタを使用すると、Dateオブジェクトを作成できます。このコンストラクタで生成されるオブジェクトは、呼び出した時点の現在日時を表します。 サンプルコード im
-
Javaでjava.sql.Dateオブジェクトを作成する方法をわかりやすく解説
Javaでデータベースを扱う際、JDBCでは日付の値を java.sql.Date オブジェクトとして扱います。この記事では、java.sql.Date オブジェクトを作成する2つの代表的な方法(コンストラクタの利用と valueOf() メソッドの利用)について、サンプルコード付きで解説します。 1. コンストラクタを使って作成する java.sql.Date のコンストラクタは、1970年1月1日00:00:00 GMT(エポック)からの経過ミリ秒を表す long 型の値を受け取り、それに対応する日付を持つオブジェクトを生成します。 Date(long date) 文字列から日付を解析して
-
JavaのSimpleDateFormatクラスとは?文字列と日付の相互変換を徹底解説
java.text.SimpleDateFormatクラスは、文字列を日付(Dateオブジェクト)に変換する「解析(パース)」や、日付を指定した書式の文字列に整える「フォーマット」を行うために使用されるクラスです。 日付文字列の解析(パース)方法 このクラスのコンストラクタの一つは、希望する日付書式を表す文字列を受け取り、SimpleDateFormatオブジェクトを生成します。文字列をDateオブジェクトとして解析・変換するには、以下の手順に従います。 目的の書式パターン文字列を引数に渡して、SimpleDateFormatクラスをインスタンス化する。 parse()メソッドを使用して、日
-
Javaで現在の日付を取得する4つの方法|Date・LocalDate・Calendar・java.sql.Dateの使い方
Javaで現在の日付(システム日付)を取得する方法は複数あります。古くから使われている java.util.Date や Calendar クラスから、Java 8以降で推奨される LocalDate など、状況に応じて使い分けが可能です。ここでは代表的な4つの方法を、サンプルコードと実行結果付きで解説します。 1. java.util.Dateクラスのコンストラクタを使う java.util.Date クラスの引数なしコンストラクタは、現在の日付と時刻を表すDateオブジェクトを返します。これに SimpleDateFormat を組み合わせれば、任意の形式で現在日付を出力できます。 サンプ
-
Javaで現在の日付と時刻を取得する4つの方法をサンプルコード付きで解説
Javaで現在の日付や時刻を取得する方法はいくつかあります。この記事では、代表的な4つの方法をサンプルコードと実行結果とともにわかりやすく解説します。 1. Dateクラスのコンストラクタを使用する java.util.Dateクラスの引数なしのコンストラクタは、現在の日付と時刻を表すDateオブジェクトを返します。最も古典的でシンプルな方法です。 サンプルコード import java.util.Date; public class CreateDate { public static void main(String args[]) { &nbs