ゆるゆるプログラミング

・メソッド

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

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

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

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

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

以下は、具体例です。

メソッド名は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

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

■関連コンテンツ

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

■新着情報

2020.06.03 円を描く(テキスト版) テキストを円を描く
2020.06.02 文字の間違い探し どの文字が違う?
2020.05.31 九九(くく)の表を作る2 掛け算なしで九九(くく)の表を作成
2020.05.07 サイコロの出目確率 サイコロの目のでる確率は?

■広告

フィギュア予約最大25%OFF+ポイント5%還元!ホビーサーチ

~約8,000名の受講生と80社以上の導入実績~ 企業向けプログラミング研修ならCodeCamp

日本最大級ショッピングサイト!お買い物なら楽天市場

Topへ