2020/03/23
Javaプログラミング
メソッド(Method)とは
メソッドとは、ある処理を1つにまとめもので、処理に必要な引数(変数/配列/クラス)を渡すと結果を返します。
メソッドを使うことで、同じ処理のコードを記述することなく、呼び出すだけで結果を得ることができます。結果として、ソースコードが見やすくなり、変更も容易になります。
メソッドの定義
はじめに、メソッドの定義方法を説明していきます。
修飾子 戻り値のデータ型 メソッド名( 引数1, 引数2, … )
{
// 実行する処理を記述
return 戻り値;
}
メソッドは、引数を渡して戻り値を得たり、処理を行うためのもので上記のように記述します。メソッド名を決めて、処理のために必要な引数と、戻り値(結果)のデータ型と、{と}で囲まれた範囲に処理内容を記述します。
以下は、具体例です。
①2つの整数値を足した値を戻すメソッド
public static int add( int a, int b ) { return a + b; }
②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にしています。
public static void wait( int sec ) { try { Thread.sleep( sec * 1000 ); } catch (InterruptedException e ) { } }
④π(パイ)の値を戻すメソッド
public static double getPI() { return Math.acos( -1.0 ); }
ここでのメソッドの例では、修飾子をpublic staticにしています。publicはクラスの外からでも呼び出せるメソッドを表しています。staticは静的メソッドを表しており、クラスをnewしなくても呼び出せるメソッドです。
Javaソースコード
Method1.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050
public class Method1 { // ①aとbを足した値を戻す public static int add( int a, int b ) { return a + b; } // ②aとbを比較して大きい値を戻す public static int max( int a, int b ) { if ( a > b ) return a; return b; } // ③sec秒停止する public static void wait( int sec ) { try { Thread.sleep( sec * 1000 ); } catch (InterruptedException e ) { } } // ④πを戻す public static double getPI() { return Math.acos( -1.0 ); } // メイン public static void main(String[] args) { // 10と6を足した値を戻す System.out.println( add( 10, 6 ) ); // 3秒間停止 wait( 3 ); // 7と13を比較し、大きいほうを戻す System.out.println( max( 7, 13 ) ); // 2秒間停止 wait( 2 ); // 計算したπを戻す System.out.println( getPI() ); } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis Method1.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac Method1.java
実行
C:\talavax\javasample>java Method1
出力結果
16 13 3.141592653589793
メソッドの引数をいろいろ変えて試してください。
以上です。
メソッドに関するコンテンツ
「メソッド」に関係があるコンテンツをまとめています。
- 数字「0」から「9」を出力
- 10進数→2進数変換
- 五十音の表作る
- 「AA」から「ZZ」を出力
- 配列の値が全て同じか?
- 配列を返すメソッド
- 配列のコピーを作る
- byte型配列のコピーを作る
- double型配列のコピーを作る
- float型配列のコピーを作る
- long型配列のコピーを作る
- 配列値の反転
- アルファベット「A」から「Z」を出力
- 同じマンハッタン距離の座標をプロット
- xy-座標の描画の実装
- xy-座標の描画するクラス
- 2値化
- 2値化 その2
- ビット演算子
- ビットシフト
- Booleanクラス
- breake文
- バブルソートとは
- byte型をint型へ変換
- Byteクラス
- 計算結果表示プログラム
- 現在日時の各要素を取得
- 現在日時の取得
- 指定数の文字を出力 その1
- 指定数の文字を出力 その2
- 時計の短針と長針の角度
- 最も近い座標を探す
- コラッツ予想の確認
- テーブルによる色変換 その1
- 色をARGB値に分解
- コメント(注釈)
- Javaのコマンドライン引数
- Javaのコマンドライン引数の数
- Javaのコマンドライン引数
- コンストラクタとは
- continue文
- 数学座標→画像座標変換
- カウントダウン
- カウントアップ
- 画像の新規作成
- 画像の新規作成 その2
- 現在日時をミリ秒数で取得
- サイコロの出目確率
- 2つのサイコロの出目の和の確率
- ゾロ目の出る確率
- 整数の桁数を求める(for文を使用)
- 整数の桁数を求める(while文を使用)
- 0.0に近い値
- Doubleクラス
- ドライブの容量の取得
- 縁付き画像変換
- エッジ(境界)検出
- エンディアン
- 月末の日付を取得
- 正三角形の描画
- 1~10の中の偶数
- 1~10の中の偶数
- 外部プログラムの実行
- 画像の2倍拡大
- ファイルの有無を判定
- ファイルサイズの取得
- ファイルのリストを取得
- ファイルからbyte配列
- final修飾子
- finally句
- 画像の上下反転
- 黄金角とは
- 背景色の変更
- フレームの表示
- グラフの表示
- 画像の描画
- ライン描画
- 円・楕円描画
- 長方形描画
- グラデーション画像(横方向)
- グラデーション画像(放射状)
- グラデーション画像(4隅の色)
- グレースケール変換
- より自然なグレースケール変換
- 時分秒変換
- 複利計算(元利合計)
- Javaで利用可能な画像フォーマット
- RGBの平均値
- 配列の要素数を増やす
- インクリメント、デクリメント演算子
- インスタンス
- Integerクラス
- 3辺の長さで三角形かを判定
- 「じゃんけん」の作成 その1
- 「じゃんけん」の作成 その2
- お札とコインの数
- Javaでグラフィック
- 簡単な画像処理プログラム
- 長さの単位変換
- 値の探索(整数)
- タイムゾーンがない現在日時を取得
- ループ(繰り返し)
- mainメソッドとは
- トランプの操作
- マンハッタン距離
- 数学関数(絶対値)
- 数学関数 逆三角関数 acos
- 球の表面積/体積計算
- 円の面積計算
- 立方体の表面積/体積計算
- 直方体の表面積/体積計算
- 平行四辺形の面積計算
- 台形の面積計算
- 三角形の面積計算
- 数学関数 逆三角関数 asin
- 数学関数 逆三角関数 atan
- 数学関数 逆三角関数 atan2
- 数学関数 逆三角関数 atan3
- バビロニアの平方根
- 円周率πを計算で求める その1
- 数学関数(立方根)
- 公約数
- 数学関数(小数点以下繰り上げ)
- 数学関数 三角関数 cos
- 角度の正規化
- 数学関数(2点間の距離)
- 数学関数(2点間の距離 - 3次元)
- 数学関数(偶数・奇数)
- 階乗
- フィボナッチ数列
- フィボナッチ数列(再帰)
- フィボナッチ数列(配列)
- 数学関数(小数点以下繰り下げ)
- 最大公約数 その1
- 最大公約数 その2
- ユークリッド互除法
- 格子座標から円周率πを計算
- 三角形の面積計算(ヘロンの公式)
- 円周率πを計算で求める その2
- 数学関数(対数)
- 数学関数(中央値)
- 中点
- 数学関数(最小値・最大値)
- 数学関数(複数の値の最小値と最大値)
- 3つの値の最大・最小
- 数学関数(最頻値)
- ニュートン法
- ニュートン法で平方根
- ニュートン法で平方根 その2
- ニュートン法で平方根 その3
- 数値微分
- 完全数
- 各位(くらい)の値を求める
- 指定の位(くらい)の値を求める
- 数学関数(累乗)
- 整数の累乗
- 10のN乗かを判定
- 素数判定
- 素数リスト作成
- N番目の素数
- ピタゴラスの定理
- 二次方程式の解の公式
- 角度とラジアンの相互変換
- 数学関数(乱数)
- 数学関数(小数点以下四捨五入)
- 数学関数(小数第N桁四捨五入)
- 数学関数(符号)
- 数学関数 三角関数 sin
- 値の2乗
- 数学関数(平方根)
- 整数の平方根計算
- 数学関数 三角関数 tan
- tan(タンジェント)
- 数学関数(複数の値の合計と平均)
- 数学関数(小数第N桁小数第N桁切り捨て)
- 数学関数について
- メモリ容量の取得
- 画像のミラー反転
- モンティ・ホール問題
- 足し算とビットシフトによる掛け算
- 画像のサイズを取得
- 画像をセピア色にする
- 画像の一部を切り出す
- 画像をPNG形式に変換
- 画像を操作するクラスの作成
- N値化
- 値上げ率の計算
- 最も近い値を取得
- 画像の色反転
- ノイズ画像の作成
- 画像にノイズを加える
- 正確な割合のノイズ画像作成
- 同じ数の組み合わせ
- 指定色の画素数取得
- オブジェクト指向
- 1~10の中の奇数
- 1~10の中の奇数
- 象限
- 塗りつぶし円
- 円模様(円の整列)
- 円模様2(隙間の少ない整列)
- 同心円模様
- 市松模様
- 水平線模様
- 傾き45°縞模様
- 垂直線模様
- 放射状模様
- 円周上のランダムな座標を求める その1
- 円周上のランダムな座標を求める その2
- 円周上のランダムな座標を求める その3
- ポーカーの役判定
- 極座標系
- 素因数分解
- 値のコンソール表示
- 書式指定でコンソール出力
- プロパティ
- キュー(Queue)とスタック(Stack)
- クイックソート
- 乱数で文字列を生成
- 乱数を生成するRandomクラス
- 再帰呼び出し
- 予約語と定数
- return文
- 利益率の計算
- キーボード入力
- キーボード入力→配列
- キーボードで実数(double)を入力
- キーボードで2つの実数(double)を入力
- キーボードで整数を入力
- キーボードで2つの整数を入力
- キーボード入力→リスト
- キーボード入力した角度のsin、cosを計算
- キーボード入力した値の絶対値
- キーボード入力した値を2乗(自乗)
- 神経衰弱 その2
- 神経衰弱 その3
- 神経衰弱 その4
- 神経衰弱 その5
- 配列の並び替え(シャッフル)
- 画像をぼかす
- 配列のソート
- 空間フィルタリング
- 平方表の作成
- 掛け算なしで平方表の作成
- 平方根表の作成
- ステンドグラス風画像
- ストップウォッチ その1
- ストップウォッチ その2
- 2つ文字列が等しいかを判定
- 文字列→byte配列
- 文字列の中の文字/文字列を検索
- 空文字列かを判定
- 文字列の長さを取得
- 文字列内の大文字→小文字
- 文字列の作成と初期化
- 文字の置換
- 文字列を指定文字で分割
- 文字列前後の空白を削除
- 文字列内の小文字→大文字
- 文字列
- 文字数字を数値に変換
- 2進数を整数に変換
- StringBuilderオブジェクトに格納されている文字列の文字数、バッファ容量の取得
- 文字列の追加(StringBuilderクラス)
- バッファ容量の取得(StringBufferクラス)
- 文字の削除(StringBuilderクラス)
- 文字列の長さを取得(StringBuilderクラス)
- 文字列の作成と初期化(StringBuilderクラス)
- 文字列配列をdouble配列に変換
- 文字列配列をint配列に変換
- Javaのプログラム構成
- 画像の一部切り出し
- switch文
- 円を描く(テキスト版)
- 市松模様(テキスト版)
- 横縞模様(テキスト版)
- 三角形を描く(テキスト版) その1
- 三角形を描く(テキスト版) その2
- 三角形を描く(テキスト版) その3
- 三角形を描く(テキスト版) その4
- プログラムを一定時間停止する
- 時間計測
- 時間の単位変換
- 三角関数表の作成 その1
- 三角関数表の作成 その2
- 三角関数表の作成 その3
- 引数の型キャスト
- Javaのコンソール入力
- 閏年(うるうどし)の判定
- 閏年(うるうどし)の判定 その2
- 変数の初期値は?
- 16進数の代入
- 無限大 Infinity
- 非数値
- 8進数の代入
- 変数にnullを代入できる?
- 値の交換クラス
関連コンテンツ
2値化は、画像処理の1つの方法で、カラー画像を2つ色だけで表現する画像に変換することです。この記事では、2値の画像メモリを使って変換しています。
Javaで作成するアプリケーションから外部プログラムを実行してみませんか?Windowsのexeファイルを実行するソースコードを掲載しています。
画像処理プログラムの簡単な例として、JPEGフォーマットの画像ファイル(.jpg)を、PNGフォーマットの画像ファイル(.png)に変換するソースコードを解説します。
このサイトのオリジナルクラスのMyBufferedImage0クラスを利用して、JPEG、PNG、BMP、TIFFなどの各種画像の横と縦のピクセル数を求めるプログラムを紹介しています。
このサイトのオリジナルクラスのMyBufferedImage0クラスを利用して、フルカラーの画像をセピア色に変換してをJPEGG形式のファイルに保存するプログラムを紹介しています。
このサイトのオリジナルクラスのMyBufferedImage0クラスを利用して、JPEG、BMP、TIFFなどの各種画像ファイルをPNG形式のファイルに保存するプログラムを紹介しています。
円の中心座標(0,0)、半径rで表される円の円周上のランダムな座標を求めるJavaのソースコードを紹介しています。ラジアンを乱数で発生して座標を計算しています。
Javaで文字列を扱うStringBuilderオブジェクトを使って文字列に文字列を追加、文字列に文字列に変換した数値を追加する方法を解説しています。