Java voidの使い方

この記事のポイント

プログラミング初心者の方に向けて、Javaにおけるvoidの全体像をわかりやすくお伝えします。戻り値を持たないメソッドの意味と役割を、基礎から学んでいきましょう。

  • 戻り値を返さないメソッドを定義する際に使用するキーワード
  • メソッド宣言時に戻り値の型として指定する仕組み
  • 処理実行や画面出力など様々な場面で活用される機能

これらのポイントを理解することで、Javaプログラミングの基礎を身につけることができます。実際の開発現場でよく使われるパターンも習得できるため、実践的なスキルアップにつながります。

目次

voidとは?

Javaにおけるvoidは、値を返さないメソッドを定義するためのキーワードです。メソッドを定義する際、戻り値がない場合にvoidを指定します。これにより、そのメソッドは処理を実行するだけで、呼び出し元に値を返しません。

voidは「空虚」や「無効」を意味する英単語に由来し、プログラミングにおいては「何も返さない」という意味で使われます。Javaでは型安全性を保つため、すべてのメソッドに戻り値の型を明示的に指定することが必要です。戻り値がない場合でも、型の指定は省略できません。そこで、戻り値がないことを示すvoidを記述します。

voidメソッドは、処理結果の値を返さない場合に使用します。具体的には、画面への出力、ファイルへの書き込み、データベースの更新が代表例です。また、プログラムの流れを制御したり、副作用のある処理を実行したりする場面でも活躍します。例えば、システムの初期化や、状態を変更する処理などが該当します。Javaプログラミングにおいて最も基本的で頻繁に使用される概念の一つです。

【関連】
Javaをもっと詳しく学ぶならpaizaラーニング

基本構文

Javaにおけるvoidメソッドの基本的な書き方を詳しく説明します。メソッド宣言では、アクセス修飾子の後にvoidキーワードを記述し、続けてメソッド名と引数リストを指定します。メソッド本体では、具体的な処理を記述しますが、returnステートメントで値を返すことはありません。

public class Main { public static void main(String[] args) { sayHello(); addAndDisplay(10, 5); } public static void sayHello() { System.out.println("こんにちは、世界!"); System.out.println("Java voidメソッドの例です"); } public static void addAndDisplay(int a, int b) { int sum = a + b; System.out.println("数値1: " + a); System.out.println("数値2: " + b); System.out.println("合計: " + sum); } }

出力結果

こんにちは、世界!
Java voidメソッドの例です
数値1: 10
数値2: 5
合計: 15

最初のメソッドは引数を持たないシンプルな例で、複数行のメッセージを出力しています。2番目のメソッドは引数を受け取り、それらを使った計算処理を実行し、その過程と結果を表示する内容です。このようにvoidメソッドでは、returnで値を返すことなく、処理を実行し、終了すると呼び出し元に戻ります。引数を使ってメソッドの動作をカスタマイズでき、再利用性の高いコードを作成することが可能です。

実用例

実際のJavaプログラミングでよく使われるvoidメソッドの具体的な例を紹介します。それぞれのコードでは、用途の異なるvoidメソッドを示します。例えば、出力処理や状態変更処理などです。これらの例を通して、実際の開発現場で使える技術を身につけることができます。

ユーザー情報表示メソッド

ユーザーの基本情報を整理して画面に表示するメソッドです。データを受け取って整形し、見やすい形で出力します。実際のWebアプリケーションでプロフィール画面を作成する際によく使われるパターンです。

public class Main { public static void main(String[] args) { displayUserProfile("田中太郎", 28, "東京都", "エンジニア"); } public static void displayUserProfile( String name, int age, String city, String occupation ) { System.out.println("===================="); System.out.println(" ユーザープロフィール"); System.out.println("===================="); System.out.println("お名前 : " + name); System.out.println("ご年齢 : " + age + "歳"); System.out.println("お住まい: " + city); System.out.println("ご職業 : " + occupation); } }

出力結果

====================
    ユーザープロフィール
====================
お名前 : 田中太郎
ご年齢 : 28歳
お住まい: 東京都
ご職業 : エンジニア

このメソッドは複数の引数を受け取り、統一された形式でユーザー情報を表示します。装飾的な区切り線を使うことで、出力結果を見やすく整理しています。顧客管理システムや会員制サイトなど、ユーザー情報を扱うシステムで広く活用されています。

動物の行動表示メソッド

動物の種類と行動に応じて適切な情報を出力するメソッドです。条件分岐を使って動物ごとの特徴や行動パターンを表現します。

public class Main { public static void main(String[] args) { manageAnimalBehavior("ライオン", "休憩"); } public static void manageAnimalBehavior(String animal, String action) { System.out.println("=== 動物行動記録 ==="); System.out.println("動物: " + animal); switch (animal) { case "ライオン": System.out.println("百獣の王が" + action + "しています"); break; case "ペンギン": System.out.println("よちよち歩きで" + action + "しています"); break; default: System.out.println(animal + "が" + action + "を行いました"); } } }

出力結果

=== 動物行動記録 ===
動物: ライオン
百獣の王が休憩しています

switch文を使った条件分岐により、動物の種類に応じた適切なメッセージを出力します。このような判定処理では戻り値を設けず、メソッドの責務を「表示処理」に限定することが多いです。ゲームやアプリケーションの情報表示機能などに応用できます。

配列データ一覧表示メソッド

配列に格納された数値データを分析し、統計情報とともに一覧表示するメソッドです。ループ処理を使って全ての要素を処理し、分析結果も含めて出力します。

public class Main { public static void main(String[] args) { int[] scores = {85, 92, 78}; analyzeScores(scores, "数学"); } public static void analyzeScores(int[] scores, String subject) { System.out.println("=== " + subject + "科目分析結果 ==="); System.out.println("学生別得点:"); int total = 0; for (int i = 0; i < scores.length; i++) { System.out.println("学生" + (i + 1) + ": " + scores[i] + "点"); total += scores[i]; } if (scores.length > 0) { double average = (double) total / scores.length; System.out.println( "平均点: " + String.format("%.1f", average) + "点" ); } else { System.out.println("平均点: データなし"); } } }

出力結果

=== 数学科目分析結果 ===
学生別得点:
学生1: 85点
学生2: 92点
学生3: 78点
平均点: 85.0点

forループを使って配列の全要素を処理しながら、同時に統計計算も実行しています。一つのメソッド内で複数の処理を効率的に行い、包括的な分析結果を提供しています。教育システムや業績管理システムなど、数値データの分析が必要な場面で活用されます。

計算結果出力メソッド

在庫管理システムのような業務処理を想定した計算メソッドです。複数の条件を判定し、適切な処理結果を表示します。

public class Main { public static void main(String[] args) { checkInventoryStatus("タオル", 15, 50); } public static void checkInventoryStatus( String product, int current, int minimum ) { System.out.println("=== 在庫管理システム ==="); System.out.println("商品名: " + product); System.out.println("現在庫: " + current + "個"); System.out.println("最低在庫: " + minimum + "個"); if (current <= minimum) { System.out.println("状態: 在庫不足"); System.out.println("補充が必要です"); } else { System.out.println("状態: 在庫十分"); int surplus = current - minimum; System.out.println("余裕在庫: " + surplus + "個"); } } }

出力結果

=== 在庫管理システム ===
商品名: タオル
現在庫: 15個
最低在庫: 50個
状態: 在庫不足
補充が必要です

条件判定とビジネスロジックを組み合わせ、実用的な在庫管理機能を実現しています。このような業務システムでは、計算結果を直接画面に表示したり、レポートとして出力したりする場合が多いため、voidメソッドが適しています。

ログ出力メソッド

システムの動作状況やエラー情報を記録するためのログ出力メソッドです。現在時刻とメッセージを組み合わせて、運用管理に必要な情報を提供します。

import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { recordSystemLog( "INFO", "認証システム", "システムが正常に起動しました" ); } public static void recordSystemLog( String level, String module, String message ) { LocalDateTime now = LocalDateTime.of(2026, 2, 5, 21, 1, 32); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); System.out.println( "[" + now.format(formatter) + "] " + level + ": " + message ); System.out.println("モジュール: " + module); System.out.println("------------------------"); } }

出力結果

[2026-02-05 21:01:32] INFO: システムが正常に起動しました
モジュール: 認証システム
------------------------

現在時刻の取得とフォーマット処理を含む処理を実現しています。実際のWebアプリケーションやシステムでは、このようなログ機能がトラブルシューティングや運用管理で重要な役割を果たしています。

データベース操作メソッド

データベースへの操作を模擬したメソッドです。実際のシステム開発でよく使われる処理パターンを示しています。

public class Main { public static void main(String[] args) { updateCustomerRecord( 12345, "佐藤花子", "hanako@example.com" ); } public static void updateCustomerRecord( int customerId, String name, String email ) { System.out.println("=== データベース更新処理 ==="); System.out.println("顧客ID: " + customerId + "を更新中..."); System.out.println("新しい名前: " + name); System.out.println("新しいメール: " + email); System.out.println("更新が完了しました"); System.out.println("処理時間: 0.25秒"); } }

出力結果

=== データベース更新処理 ===
顧客ID: 12345を更新中...
新しい名前: 佐藤花子
新しいメール: hanako@example.com
更新が完了しました
処理時間: 0.25秒

データベース操作の流れを段階的に表示することで、処理の進行状況をユーザーに分かりやすく伝えています。実際のシステムでは、この種の処理は重要な業務機能となるため、適切なログ出力とユーザーへの情報提供が求められます。

まとめ

Javaにおけるvoidは、戻り値を返さないメソッドを定義する際に使用するキーワードです。画面出力、データ処理、システム制御など幅広い用途で活用されており、プログラムの構造を明確にする役割も担っています。

プログラムのすべての処理が値を返すとは限りません。この戻り値を持たない処理を定義する際に使われるのがvoidです。特に、Webアプリケーション開発では、画面表示や状態更新処理において重要な役割を担っています。

voidの活躍する場面

  • ユーザーインターフェースでの情報表示や操作結果の出力処理
  • ファイルやデータベースへの書き込みや更新処理
  • システムの初期化や終了処理などの制御機能

voidを使う際のポイント

  • メソッドの目的を明確にし、戻り値が不要な処理で使用すること
  • 引数を活用して柔軟で再利用可能なメソッドを作成すること
  • 適切な命名により処理内容を分かりやすく表現すること

voidメソッドをマスターすることで、効率的で読みやすいJavaプログラムを作成できるようになります。基本的な概念でありながら応用範囲が広く、実践的なプログラミングスキルの向上につながります。今回紹介したさまざまな例を参考に、実際のプロジェクトでvoidメソッドを効果的に活用してください。

レベルを更に上げたい方はpaizaプログラミングスキルチェック

  1. paizaラーニングトップ
  2. リファレンス
  3. Javaのリファレンス記事一覧
  4. Java voidの使い方