はじめに
今までのJavaプログラムの処理は、全てmain()メソッド内に記述していました。Javaプログラムの処理は、全てメソッド内に記述することになっています。メソッドには、変数の宣言や実行文を書いて、実行する処理を定義します。メソッドは、必要に応じてプログラマが複数定義することができます。ここでは様々なメソッドの定義方法や実行方法について学習します。
目次
- メソッドとは
- メソッドの処理の流れ
- メソッドの呼び出し
- メソッドの定義
- メソッドの注意点
- 応用的なメソッド
- 標準クラスのメソッド利用
- 独自クラスのメソッド作成
- Stringクラスのメソッド利用
- 章のまとめ
目標
- メソッドの構成要素と定義方法及び使い方を理解する
メソッドとは
メソッド
とは、処理の塊
ことで、他から呼び出されることにより、メソッドに記述された処理が実行されます。main()メソッド
は、javaコマンド
を利用してプログラムを実行した時に最初に呼び出されるメソッド
です。main()メソッド以外のメソッド
は、プログラマが独自に作成し、明示的に呼び出す
ことにより、処理が実行されます。
今まではすべての処理をmain()メソッドに書いていましたが、処理が増えてくるとmain()メソッドの処理が複雑になってしまいます。プログラム作成の基本は、1つのメソッドには1つの機能を割り当てる
ことです。
main()メソッド内に全ての処理を記述せず、別のメソッドで処理を分けることで、何度も同じ処理を書くことを避ける
ことができます。また、行うべき処理が明確
になり、デバッグが容易
になります。
ここでは、まずはメソッドの処理の流れ
について理解してください。
メソッドの処理の流れ
以下、複数のメソッドに分けた例です。
上記の処理の流れは以下の順番で実行されます。
return文
上記はreturn文
です。return文
はメソッドから呼び出し元のメソッドに戻ることを指示する命令
です。
return文がなくても、メソッドの最後まで実行すると、呼び出し元のメソッドへ処理が戻るので、return文は省略ことも可能
です。
例題
以下、コーディングして、実行結果を通して実行順序を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | methodExec00 |
package chapter5; |
コンパイル例:> javac chapter5¥methodExec00.java
実行例:> java chapter5.methodExec00
start
こんにちはたろうくん
end
メソッドの呼び出し
メソッドを使用
することをメソッドの呼び出し
といいます。
他のメソッドを呼び出すには、メソッド名
と引数
を指定します。
※main()メソッドと同じクラスに定義されているメソッドを呼び出す場合は
メソッド名
メソッド名
は、呼び出すメソッドの名前のことです。
引数リスト
引数リスト
とは、呼び出すメソッドに渡す具体的な値(データ)のリストのことで、実引数
ともいいます。
引数リストに複数の引数を指定する場合は ,(カンマ)
区切りで指定します。引数リストがない場合は、( )(括弧)
のみを指定します。
メソッドの呼び出し例(引数リストがない場合)
メソッドの呼び出し例(引数リスト(1つ)がある場合)
メソッドの呼び出し例(引数リスト(2つ)がある場合)
メソッドの定義
メソッドは以下のような形式で定義
します。
修飾子
修飾子は、static修飾子
やアクセス修飾子
、final修飾子
、abstract修飾子
を指定することができます。
static修飾子
static修飾子
が指定されたメソッドはクラスメソッド
と呼びます。
クラスメソッドは、オブジェクトを作成しなくても利用できるメソッドです。
クラスメソッドの実行方法については、後述(Mathメソッド())で解説します。
アクセス修飾子
アクセス修飾子
は、参照の有無を判断する修飾子です。
指定しない場合はデフォルトアクセス修飾子
が指定されます。
詳細については次回の章で詳しく解説します。
final修飾子
final修飾子
は、後から変更できない
という意味があります。
メソッドに付与するとオーバーライド
できなくなります。
オーバーライドについては後の章で詳しく解説します。
abstract修飾子
abstract修飾子
を付与すると抽象メソッド
になります。
抽象メソッドについては、後の章で詳しく解説します。
メソッド名
定義するメソッドの名前
です。
メソッド名は通常、頭文字は小文字で指定することが推奨されています。
(頭文字を大文字で指定することも可能です。)
引数リスト
呼び出し元のメソッドから渡される値(データ)を受け取るための変数です。
引数リストが複数の場合には、各引数を , (カンマ)で区切ります。
引数がない場合には、( )(括弧)のみを記述します。
戻り値の型
戻り値
とは、呼び出されたメソッドが、処理した結果を呼び出し元のメソッドに戻す値(データ)
のことです。
呼び出し元のメソッドに値(データ)を返さないメソッドの場合は、void
を指定する。
return文(戻り値がない場合)
return文は、処理をメソッドを終了する文です。戻り値がない場合、return文は省略可能です。
メソッドの定義例(戻り値なし)
メソッドの定義例(引数リスト(1つ)有り/戻り値なし)
メソッドの定義例(引数リスト(2つ)有り/戻り値なし)
return文(戻り値がある場合)
戻り値があるメソッドの場合には return [式];
の記述が必須です。
戻り値の型には[式]のデータ型を指定します。return文
を実行すると、[式]の値(データ)が呼び出し元のメソッドへ送られます。
また、処理の制御も呼び出し元のメソッドへ戻ります。
メソッドの定義例(戻り値あり)
例題
以下のソースコードは消費税額を計算するクラスです。
コーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | methodExec04 |
package chapter5; |
コンパイル例:> javac chapter5¥methodExec04.java
実行例:> java chapter5.methodExec04 5000
税額は300円
メソッドの注意点
booleanの値を返すメソッドは検査用のメソッド
でよく利用されます。
以下のソースコードはコマンドラインで指定した文字列を数字に変換し、その数字が偶数かどうか判定するメソッドです。
以下をコーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | methodExec06 |
package chapter5; |
コンパイル例:> javac chapter5¥methodExec06.java
実行例:> java chapter5.methodExec06 10
10 は偶数です。
> java chapter5.methodExec06 15 |
上記の処理は以下の順番で実行されます。
booleanの値を返すメソッドの注意点
上記のように、booleanの値を返すメソッド呼び出しでは、if文の中に直接メソッド呼び出しを書きます。
以下は上記と同じ意味です。通常は上記のように書きますので以下のように書かないように注意しましょう。
また、一般にJava言語では is⚪︎⚪︎
というメソッド名はtrue
かfalse
を返すメソッドに使います。
例題
以下うるう年を判定するメソッドです。うるう年の判定方法は以下です。
「4で割り切れ、かつ、100では割り切れない年」、または「400で割り切れる年」 |
以下、コーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | methodExec07 |
package chapter5; |
コンパイル例:> javac chapter5¥methodExec07.java
実行例:> java chapter5.methodExec07 2018
うるう年です。
> java chapter5.methodExec07 2020 |
応用的なメソッド
これまでは2つのメソッドを持つクラスを扱ってきましたが、通常、ひとつのクラスの中にはもっとたくさんのメソッドがあります。処理を細かくメソッドに分割することで、行うべき処理が明確
になり、デバッグが容易
になります。
例題(複数のメソッドを使う例)
以下は3つの整数の最大値と最小値を求めるプログラムです。最大値を求めるメソッドと最小値を求めるメソッドを別に作成し、mainメソッドからそれらを利用して全体の処理を実行しています。
以下、コーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | methodExec08 |
package chapter5; |
コンパイル例:> javac chapter5¥methodExec08.java
実行例:> java chapter5.methodExec08 20 100 999
最大値は999です。
最小値は20です。
ローカル変数
メソッドの中で宣言される変数をローカル変数
といいます。
ローカル変数はそのメソッドの範囲内
のみで有効に利用できる変数です。
メソッドが異なれば別の変数として扱われます。したがって、異なるメソッド
では同じ名前
のローカル変数を扱うことができます。
先ほどの最大値と最小値を求めるプログラムであるmethodExec08クラスでは、maxValとminValがmain()メソッドやmax()メソッド、min()メソッドで使われていますが、これらはローカル変数
です。
また、仮引数もローカル変数と同じ扱いです。例えば先ほどの最大値と最小値を求めるプログラムであるmethodExec08クラスでは、maxもminも仮引数の変数宣言の名前はa、b、cとなっています。メソッドが異なれば同じ名前の仮引数を利用することができます。
メソッドからメソッドを呼び出す
main以外のメソッドでも他のメソッドを呼び出して利用することができます。
以下のソースコードは3つの数値の平均値を計算して表示する例です。main()メソッドは平均値を計算するためにmean()メソッドを呼び出しますが、mean()メソッドも、値の合計値を得るためにsum()メソッドを呼び出しています。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | methodExec09 |
package chapter5; |
コンパイル例:> javac chapter5¥methodExec09.java
実行例:> java chapter5.methodExec09 9.5 5.0 6.5
平均値は7.0です
処理の流れは以下の順番で実行されます。
上記は「平均を計算」する処理を作成し、さらにその処理が「合計を計算」する処理を呼び出すように細分化しています。このような手法を段階的詳細化
といいます。
例題(メソッドからメソッドを呼び出す)
以下のソースコードは単価と個数を入力し、販売金額を計算して表示するプログラムです。
販売金額は以下の公式で求めることができます。
販売金額 = 単価 × 個数 × (1 - 割引率)) |
割引率は個数に応じて次のように決まっています。
1-100未満 0% |
以下、コーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | methodExec10 |
package chapter5; |
コンパイル例:> javac chapter5¥methodExec10.java
実行例:> java chapter5.methodExec10 50 3000
売上金額=120000円です。
> java chapter5.methodExec10 200 3000 |
> java chapter5.methodExec10 700 3000 |
配列を受け取るメソッド
配列を引数として受け取るといろいろな処理ができるようになります。次のメソッドはコマンドライン引数を仮引数に指定し、全要素を表示するメソッドです。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | methodExec11 |
package chapter5; |
コンパイル例:> javac chapter5¥methodExec11.java
実行例:> java chapter5.methodExec11 ABC DEF GHI
ABC DEF GHI
メソッドで配列の内容を変更する
配列を実引数としてメソッドへ渡す場合、配列への参照が渡されるので、メソッド側は同じ配列を共有
しています。これは、メソッド側でオリジナルの配列要素の値を変更することが出来ることを意味します。
配列そのものに変更を加えるので、配列データのクリアーやデータセットなどもメソッドで行うことが可能です。
以下をコーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | methodExec12 |
package chapter5; |
コンパイル例:> javac chapter5¥methodExec12.java
実行例:> java chapter5.methodExec12 ABC DEF GHI
aaa
aaa
aaa
上記は、配列名argsを実引数として、引数のxへ値を渡しています。argsとxは同じ配列を共有しています。
配列を受け取って処理結果を返すメソッド
メソッド内で新規で作成した配列を戻り値として返すこともできます。
以下のソースコードはコマンドライン引数で指定した値を足し算するクラスです。
以下をコーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | methodExec13 |
package chapter5; |
コンパイル例:> javac chapter5¥methodExec13.java
実行例:> java chapter5.methodExec13 20 44 55 66 77 88 100
20と44と55と66と77と88と100との足し算を開始します。
合計は 450 です。
処理を終了します。
標準クラスのメソッド利用
Java SE Development Kit で提供されるクラスやインターフェースなどのライブラリのことを標準クラス
といいます。
代表的な標準クラスには以下があります。
今まで利用していたSystem
クラスのout.println
も標準クラスです。CalenderクラスとDateクラスは日付を操作するためのクラスです。
これらの標準クラスの使い方については、Java API
というOracle社から提供されているドキュメントを見ると詳しく記載されています。
Java API(Java™ Platform, Standard Edition 8 API 仕様)
ドキュメントは以下の①〜③の順番で確認します。
今回はMathクラス
を例に説明します。
① 利用したいパッケージを選択
ドキュメントへアクセスすると3つの画面構成になっています。
まずは右上の画面から利用したいパッケージを選択します。
今回利用したいクラスであるMathクラスは「java.lang」パッケージに含まれていますので、
java.langパッケージを選択してください。
選択をすると右下の画面にjava.langと表示されます。
② 利用したいクラスを選択
次に、右下の画面から「Math」クラスを選択します。
選択すると、中央の画面にMathクラスの詳細画面が表示されます。
③ クラスの詳細を確認する
詳細画面の構成は主に以下の5つのセクションに分かれています。
クラスの概要
クラス全体の説明が記載されています。
フィールドのサマリー
フィールドの概要が記載されています。
※フィールドの詳細へ移動したい場合にはフィールド名をクリックします。
メソッドのサマリー
メソッドの概要が記載されています。
※メソッドの詳細へ移動したい場合にはメソッド名をクリックします。
フィールドの詳細
フィールドの詳細が記載されています。
メソッドの詳細
メソッドの詳細が記載されています。
クラスメソッドの実行
static
のついたメソッドをクラスメソッド
といいます。クラスメソッド
は実行方法は以下です。
[構文]クラス名.メソッド名();
Mathクラス
Mathクラスは指数関数、対数関数、平方根、および三角関数といった基本的な数値計算ができる機能を提供している
クラスです。まずはMathクラス内に定義されているroundメソッド、powメソッド、maxメソッド、minメソッド、sqrtメソッド、randomメソッドの使い方について学習していきます。
事例(roundメソッド)
四捨五入をしたい場合には、round
メソッドを利用します。
以下をコーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | RoundExec |
package chapter5; |
コンパイル例:> javac chapter5¥RoundExec.java
実行例:> java chapter5.RoundExec
1.99999を四捨五入すると2
上記ではMath.round(1.99999)
の実行結果をlong型の変数n
に代入しています。Math.round(1.99999)
で指定しているカッコ「()」内が引数
、実行結果が戻り値
です。
事例(powメソッド)
べき乗を計算する場合にはpow
メソッドを利用します。
以下をコーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | PowExec |
package chapter5; |
コンパイル例:> javac chapter5¥PowExec.java
実行例:> java chapter5.PowExec
2の4乗は16.0
事例(maxメソッド)
max
メソッドはどちらか大きい方の値を返すメソッドです。
以下をコーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | MaxExec |
package chapter5; |
コンパイル例:> javac chapter5¥MaxExec.java
実行例:> java chapter5.MaxExec
22.2と33.3では33.3の方が大きい
事例(minメソッド)
min
メソッドはどちらか小さい方の値を返すメソッドです。
以下をコーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | MinExec |
package chapter5; |
コンパイル例:> javac chapter5¥MinExec.java
実行例:> java chapter5.MinExec
22.2と33.3では22.2の方が小さい
例題(sqrtメソッド)
sqrt
メソッドは平方根を計算するメソッドです。
以下をコーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | SqrtExec |
package chapter5; |
コンパイル例:> javac chapter5¥SqrtExec.java
実行例:> java chapter5.SqrtExec
2.0の平方根は1.4142135623730951です。
例題(randomメソッド)
random
メソッドは乱数を返すメソッドです。
以下をコーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | RandomExec |
package chapter5; |
コンパイル例:> javac chapter5¥RandomExec.java
実行例:> java chapter5.RandomExec
乱数x1は0.5255546925297682です。
乱数x2は0.4771077870144361です。
乱数x3は0.9289028989567646です。
独自クラスのメソッド作成
今まで学習した内容をもとに計算機アプリ
を作成してみましょう。
以下の内容でパッケージ
とクラス
を新規で作成してください。
プロジェクト | 説明 |
---|---|
alj_study | 研修用 |
パッケージ名 | 説明 |
---|---|
kadaiCal | 計算機アプリ用 |
クラス名 | 説明 |
---|---|
CalculatorExec | 計算機実行機能 |
Calculator | 四則演算機能 |
CalculatorExec
クラスはmain()メゾットが定義されており、
実際に実行する時に指定するクラスです。
Calculator
クラスはCalculatorExec
クラスから呼ばれるクラスです。
Calculator
クラスには以下4つのメソッドを作成してください。
メソッド名 | 引数 | 処理内容 | 戻り値 | 説明 |
---|---|---|---|---|
getTashizan | 2つ(int型) | 引数の値を足す。 | 足した結果(int型) | 足し算メソッド |
getHikizan | 2つ(int型) | 引数の値を引く。 | 引いた結果(int型) | 引き算メソッド |
getKakezan | 2つ(int型) | 引数の値を掛ける。 | 掛けた結果(int型) | 掛け算メソッド |
getWarizan | 2つ(int型) | 引数の値を割る。 | 割った結果(int型) | 割り算メソッド |
以下はgetTashizan()メソッド
の作成例です。
package kadaiCal; |
上記を参考にしてgetHikizan()メソッド
、getKakezan()メソッド
、getWarizan()メソッド
を作成してみてください。
続いて、CalculatorExec
クラスのメソッドを作成していきます。
今回はコマンドラインを利用して2つの整数を入力させるようにします。入力した整数を四則演算を行い、結果をコンソール上に表示させます。
package kadaiCal; |
Calculator
クラスのgetTashizan
メソッドにinput1
とinput2
を引数として渡し、結果をaddTashizan
へ代入し、System.out.println
でコンソールへ表示させます。
package kadaiCal; |
上記、実行して動作を確認してください。
コンパイル例:> javac kadaiCal¥Calculator.java
> javac kadaiCal¥CalculatorExec.java
実行例:> java kadaiCal.CalculatorExec 100 200
100と200を足すと...300です。
確認できたら足し算(getTashizan)以外の処理も追加し、動作確認してみてください。
実行例:> java kadaiCal.CalculatorExec 100 200
100と200を足すと...300です。
100と200を引くと...-100です。
100と200を掛けると...20000です。
Stringクラスのメソッド利用
Stringクラスとは、文字列(String型)を定義しているライブラリクラスです。intやdoubleと違って文字列はライブラリクラスで定義されています。そのため文字列には他の型にはないような機能が沢山あります。
文字列の長さを得る
文字列の長さとは、その文字列が何文字あるかという値です。文字列リテラルや、String型の変数では、次のようにlength()メソッド
を使うと簡単に長さを知ることができます。
以下をコーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | StringExec |
package chapter5; |
上記、実行して動作を確認してください。
コンパイル例:> javac chapter5¥StringExec.java
実行例:> java chapter5.StringExec
12
8
今回のlength()メソッドは.(ドット)
の前にクラス名ではなくリテラル
や変数名
を記載します。これはlength()メソッドがインスタンスメソッド
というメソッドの為です。
インスタンスメソッド
インスタンス
とはオブジェクト
の別名です。つまりインスタンスメソッドはオブジェクトメソッド
です。
文字列もオブジェクトなので、文字列データ以外にもたくさんのインスタンスメソッドを持つように設計されています。
length()メソッドはその一つです。文字列の基本的なインスタンスメソッドは以下です。
インスタンスメソッド | 機能 |
---|---|
boolean equals(String str) | 文字列が別の文字列strと等しい時trueを返す |
char charAt(int i) | 先頭からi番目の文字(char)を返す(0から数える) |
int indexOf(int ch) | 文字chが文字列の中で最初に出現する位置を返す |
boolean isEmpty() | 文字列の長さが0の時のみtrueを返す |
int length() | 文字列の長さ(文字数)を返す |
String replace(String a , String b) | 文字列内の内部文字列aをbに書き換えた文字列を返す |
String substring(int s) | s番目以降を取り出した部分文字列を返す(0から数える) |
String substring(int s,int e) | s番目からe-1番目を取り出した部分文字列を返す(0から数える) |
String toLowerCase() | 英字を小文字にした文字列を返す |
String toUpperCase() | 英字を大文字にした文字列を返す |
String trim() | 先頭と末尾の空白を削除した文字列を返す |
String valueOf(…) | ・・・を文字列にして返す。・・・は任意の型の値(数値など) |
以下をコーディングし、実行結果を確認してみましょう。
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | StringInstanceExec |
package chapter5; |
上記、実行して動作を確認してください。
コンパイル例:> javac chapter5¥StringInstanceExec.java
実行例:> java chapter5.StringInstanceExec
長さ = 15
水は9番目
6番目の文字列は あ
aaAAあああ月火水BBbbb→aaaaあああ月火水bbbbb
nullによる初期化
何も値の入っていない変数は「初期化されていない」
といいます。宣言しただけの変数は、中身は空で、初期化されていない状態です。そのような初期化されていない変数に対してインスタンスメソッドを使うと、コンパイルエラー(文法エラー)
になります。
String aa; |
一方、null
を代入した変数の場合は、コンパイルエラー
にはなりません。null
は「無効な文字列
」を表すリテラル
ですが、初期化
されているとみなされます。
null
が代入されたままの変数を実行すると実行時例外
が発生します。
String aa = null; |
変数の中身がnull
かどうかは常に注意が必要です。
例外(nullによる初期化)
項目 | 名前 |
---|---|
プロジェクト | alj_study |
パッケージ | chapter5 |
クラス | StringInstanceExec |
package chapter5; |
コンパイル例:> javac chapter5¥StringInstanceExec.java
実行例:> java chapter5.StringInstanceExec
Exception in thread "main" java.lang.NullPointerException
at chapter5.StringInstanceExec.main(StringInstanceExec.java:12)
「int len = aa.length();」を実行すると、aaはnullが代入されている為、実行時例外(NullPointerException)が発生します。
章のまとめ
以下の要点を理解できたら次の章へ進んでください。
メソッドとは
- メソッドとは、
処理の塊
のこと(関数のようなもの) - main()メソッドは、プログラムを実行した時に
最初に呼び出されるメソッド
- main()メソッド以外のメソッドは、プログラマが
独自に作成
し、明示的に呼び出す
- 同じような処理を1つのメソッドにまとめ、
重複して書く
ことを避ける
メソッドの処理の流れ
return文
は呼び出し元のメソッドに戻る命令
のこと
メソッドの呼び出し
- メソッドを使用することを
メソッドの呼び出し
という - 他のメソッドを呼び出すには、
メソッド名
と引数リスト
を指定する メソッド名
は、変数と同じように識別子
のルールに沿って自由につけることが出来るメソッド名
は、小文字
でつけることが推奨されている引数リスト
とは呼び出すメソッドに渡す具体的な値(データ)のことで、実引数
ともいう- 引数リストに複数の引数を指定する場合は
,(カンマ)区切り
で指定する - 引数リストがない場合は、
()(括弧)
のみを記述する
メソッドの定義
修飾子
にはstatic修飾子
やアクセス修飾子
、final修飾子
を付与することができる戻り値
とは呼び出し元のメソッドへ返す値(データ)
のこと戻り値の型
には呼び出し元のメソッドに返す値のデータ型
を指定する- 値を返さないメソッドの場合は、
void
を指定する 引数リスト
は呼び出し元のメソッドから渡されるデータを受け取る変数
のこと- 引数リストは
仮引数
ともいわれており、変数の宣言
を記述する - メソッドを終了する命令を
return文
という - 戻り値があるメソッドの場合には returnの後に
式や値(データ)の記述が必須
である
booleanの値を返すメソッド
- booleanの値を返すメソッドは、if文の中に
直接
メソッド呼び出しを書く
応用的なメソッド
- メソッド内で宣言した変数を
ローカル変数
という - ローカル変数は、
そのメソッド内だけで有効
である 引数
もローカル変数と同じ扱いである- メソッドが異なれば
同じ名前
のローカル変数、引数を使って良い
標準クラスの利用
- Java SE Development Kit で提供されるクラスやインターフェースなどのライブラリのことを
標準クラス
という。 - これらの標準クラスの使い方については、
Java API
で詳しく記載されている。 - staticのついたメソッドを
クラスメソッド
という。 - クラスメソッドの利用方法は、「
クラス名.メソッド名()
」である。
Stringクラス
インスタンス
とはオブジェクト
の別名のこと。主なインスタンスメソッド
インスタンスメソッド | 機能 |
---|---|
boolean equals(String str) | 文字列が別の文字列strと等しい時trueを返す |
char charAt(int i) | 先頭からi番目の文字(char)を返す(0から数える) |
int indexOf(int ch) | 文字chが文字列の中で最初に出現する位置を返す |
boolean isEmpty() | 文字列の長さが0の時のみtrueを返す |
int length() | 文字列の長さ(文字数)を返す |
String replace(String a , String b) | 文字列内の内部文字列aをbに書き換えた文字列を返す |
String substring(int s) | s番目以降を取り出した部分文字列を返す(0から数える) |
String substring(int s,int e) | s番目からe-1番目を取り出した部分文字列を返す(0から数える) |
String toLowerCase() | 英字を小文字にした文字列を返す |
String toUpperCase() | 英字を大文字にした文字列を返す |
String trim() | 先頭と末尾の空白を削除した文字列を返す |
String valueOf(…) | ・・・を文字列にして返す。・・・は任意の型の値(数値など) |
null
が代入されたままの変数を実行すると実行時例外が発生します。