Javaプログラミング学習サイト ゆるゆるプログラミング

2020/05/07 公開

・メソッド

メソッドとは、ある処理を1つにまとめもので、処理に必要な引数(変数配列クラス)を渡すと結果を返します。

メソッドを使うことで、同じ処理のコードを記述することなく、呼び出すだけで結果を得ることができます。結果として、コードが見やすくなり、変更も容易になります。

はじめに、メソッドの定義方法を説明していきます。

    修飾子 戻り値のデータ型 メソッド名( 引数1, 引数2, … )
    {
        // 実行する処理を記述
    
        return 戻り値;
    }

メソッドは、引数を渡して戻り値を得たり、処理を行うためのもので上記のように記述します。メソッド名を決めて、処理のために必要な引数と、戻り値(結果)のデータ型と、{}で囲まれた範囲に処理内容を記述します。

以下は、具体例です。

メソッド名はaddで、引数はint型abです。処理内容は、abを足した結果を戻すものです。戻す値は、returnの右側の値( a + b )です。

    public static int add( int a, int b )
    {
        return a + b;
    }

メソッド名はmaxで、引数はint型abです。処理内容は、abを比較して大きいほうを戻すものです。if文を使って2つの値を比較して大きいほうを戻しています。

    public static int max( int a, int b )
    {
        if ( a > b ) return a;
        return b;
    }

メソッド名はwaitで、引数はint型secです。処理内容は、secで渡された秒数だけ何もしないで一時停止するものです。Thread.sleepメソッドの引数は1/1000秒単位(ミリ秒)なので渡された変数secを1000倍しています。戻す値は無いのでデータ型voidにしています。

Thread.sleepはtryとchatchを使わないとコンパイルでエラーになるので以下のように記述しています。

    public static void wait( int sec )
    {
        try {
            Thread.sleep( sec * 1000 );
        } catch (InterruptedException e ) {
        }
    }

メソッド名はgetPIで、引数はなしです。処理内容は、πの値を計算しdouble型で戻します。コサインの値が-1になるときの角度(ラジアン)がπになることを利用して計算しています。

    public static double getPI()
    {
        return Math.acos( -1.0 );
    }

ここでのメソッドの例では、修飾子をpublic staticにしています。publicクラスの外からでも呼び出せるメソッドを表しています。staticは静的メソッドを表しており、クラスをnewしなくても呼び出せるメソッドです。詳細はここでは説明しません。

以下は、上記の①~④を実際に呼び出すJavaのソースコードです。

Method1.java ← クリックしてダウンロードページに移動
001:    public class Method1 {
002:    	// ①aとbを足した値を戻す
003:    	public static int add( int a, int b )
004:    	{
005:    		return a + b;
006:    	}
007:    
008:    
009:    	// ②aとbを比較して大きい値を戻す
010:    	public static int max( int a, int b )
011:    	{
012:    		if ( a > b ) return a;
013:    		return b;
014:    	}
015:    
016:    
017:    	// ③sec秒停止する
018:    	public static void wait( int sec )
019:    	{
020:    		try {
021:    			Thread.sleep( sec * 1000 );
022:    		} catch (InterruptedException e ) {
023:    		}
024:    	}
025:    
026:    
027:    	// ④πを戻す
028:    	public static double getPI()
029:    	{
030:    		return Math.acos( -1.0 );
031:    	}
032:    
033:    	// メイン
034:    	public static void main(String[] args) {
035:    		// 10と6を足した値を戻す
036:    		System.out.println( add( 10, 6 ) );
037:    
038:    		// 3秒間停止
039:    		wait( 3 );
040:    
041:    		// 7と13を比較し、大きいほうを戻す
042:    		System.out.println( max( 7, 13 ) );
043:    
044:    		// 2秒間停止
045:    		wait( 2 );
046:    
047:    		// 計算したπを戻す
048:    		System.out.println( getPI() );
049:    	}
050:    }

Method1.javaの出力結果

16
13
3.141592653589793

メソッドに引数をいろいろ変えて試してください。

以上です。

■メソッド関連コンテンツ

return文 メソッドの戻り値

■関連コンテンツ

逆三角関数 acos acosの意味と、Math.acosの使い方について解説
時間の単位変換 1日、1時間は何ミリ秒?
Javaで扱う変数について解説-画像

Javaの変数

変数は、プログラムの中で値を入れておく入れ物のようなものです。

■新着情報

2021.06.23 配列の初期値 配列の生成直後の値は?
2021.06.18 変数の初期値 変数に値を代入しないで計算

■広告

Topへ