• 検索結果がありません。

クラスⅠ

N/A
N/A
Protected

Academic year: 2021

シェア "クラスⅠ"

Copied!
13
0
0

読み込み中.... (全文を見る)

全文

(1)

クラスⅠ

JV⑦ □ クラスライブラリ(概要、クラス、パッケージ) □ クラスライブラリ(クラスのインポート) □ クラスライブラリ(クラスのメンバ、静的メンバ、インスタンスメンバ) □ メソッドの種類(クラスライブラリのメソッド、自作のメソッド) □ メソッドの構成(戻り値、メソッド名、引数リスト、メソッド本体) □ メソッドの定義(オーバーロード:多重定義) □ メソッドの呼出(静的メソッド、インスタンスメソッド) □ メソッドの作成(main メソッド) □ メソッドの作成(サブルーチン化) □ メソッドの作成(インターフェイスメソッド) 今回の課題項目 □ クラスライブラリ(パッケージ、インポート、メンバ) □ メソッド(種類、構成、オーバーロード、呼出) □ メソッド(main メソッド、サブルーチン化) 今回の重点項目

(2)

■ クラスライブラリ ■

Java のクラスライブラリ(Class Library)は、様々なクラス(Class)を提供して居り、此等のクラス で定義された変数やメソッドを使用する事で、効率的にプログラミングを行う事が出来る。 Java のクラスライブラリは、関連する複数のクラスを纏めたパッケージ(Package)と謂う単位でグル ープ化されて居る。猶、パッケージの中に他のパッケージを含む事も可能で、此の様なパッケージをサ ブパッケージ(Sub Package)と謂う。 下記にJava の主なパッケージを示す。 java.lang Java プログラム言語の設計に当り基本的なクラスを提供 java.util 各種のユーティリティクラス(日時機能、乱数ジェネレーター、ビット配列等)を提供 java.io データストリームやファイルシステムに依るシステム入出力用クラスを提供 java.applet Java アプレットを作成する為のクラスを提供 java.awt ユーザインタフェースの作成、グラフィックスとイメージのペイント用の総てのクラスを提供 java.text テキスト、日付、数値等を、自然言語に依存しない方法で処理する為のクラスを提供 java.net ネットワーク対応アプリケーションを実装する為のクラスを提供 猶、総てのパッケージに付いての詳細は、Java2SDK ドキュメントの API と言語仕様で得る事が出来 る。 ■ クラスのインポート ■ パッケージの中に有るクラスの機能を使用するには、ソースコードの先頭で、使用するパッケージのク ラスをインポート(Import)する必要が有る。import 文の書式は、下記の通りで有る。

import パッケージ名.クラス名; // 記述例:import java.awt.Graphics;

同一のパッケージ内の多数のクラスを使用する場合は、クラス名にアスタリスク*(Asterisk)を使用し て、総てのクラスをインポートする事が出来る。

import パッケージ名.* // 記述例:import java.awt.*

但し、パッケージのインポートでは、サブパッケージ迄は取り込まれない。即ち、上記では、サブパッ ケージで有るjava.awt.event パッケージ内の MouseEvent クラス等は使用する事が出来ない。此等の クラスを使用する場合には、下記の様に、個別にパッケージのインポートを行う必要が有る。

import java.awt.* import java.awt.event.*;

猶、System クラスや String クラスや Math クラス等の頻繁に使用されるクラスを定義した java.lang パッケージは、デフォルトでインポートされる為、記述する必要は無い。

(3)

■ クラスのメンバ ■ クラスで定義されたメソッド、変数、及び、定数(final 変数)の事をメンバ(Member)と謂う。亦、 変数と定数を総称してフィールド(Field)と謂う。 メソッドとは、クラスの持つ動作(Action)で有り、フィールドとは、クラスの持つ属性(Attribute) で有る。 Java のクラスライブラリで提供されて居るクラスで定義されたメンバには、クラスをインポートする 丈で使用する事の出来る静的メンバ(Static Member)と、クラスをデータ型と仕た変数を宣言しない と使用する事の出来ないインスタンスメンバ(Instance Member)が有る。

静的メンバの定義 // 例:static int parseInt(String s) インスタンスメンバの定義 // 例:String toString( ) 猶、静的とは、常にメモリ上に存在する事を意味し、静的メンバ(静的フィールドと静的メソッド)に は、static 修飾子が付加される。此れに対して、インスタンスとは、動的にメモリ上に配置される実体 を意味し、インスタンスメンバ(インスタンスフィールドとインスタンスメソッド)には、修飾子は付 加されない。 静的メンバを使用する場合には、下記の様に指定する。 クラス名.メンバ名 String s = "123"; // String クラスの変数 s の宣言と初期化 int i; // int 型の変数 i の宣言 i = Integer.parseInt(s); // 静的メソッドの使用 インスタンスメンバを使用する場合には、下記の様に指定する。 インスタンス名.メンバ名 String s; // String クラスの変数 s の宣言

Integer i = new Integer(123); // Integer クラスの変数 i の宣言とインスタンスの生成 s = i.toString( ); // インスタンスメソッドの使用 インスタンスを生成する事をインスタンス化(Instantiate)と謂い、クラスをインスタンス化するには new 演算子を使用する。クラスからインスタンスを生成する書式は、下記の通りで有る。 クラス名 変数名 = new コンストラクタ( ); コンストラクタ(Constructor)とは、クラスからインスタンスを生成する為に、クラスを初期化する 特別なメソッドで有り、クラス名と同じ名称を持つ。猶、コンストラクタには、引数を与えて初期化を 行う物も有る。コンストラクタは、new 演算子に依るインスタンスの生成時に呼び出し、通常のメソッ ドの様に直接呼び出す事は出来ず、亦、戻り値は、常に、インスタンスへの参照で有る。 猶、変数には、インスタンス自体が格納されるわけではなく、インスタンスへの参照(C/C++のポイン タ)が格納される。

(4)

■ メソッドの種類 ■ メソッド(Method)とは、プログラムの文(ステートメント:Statement)をブロック化する機構で、 データに対して何等かの処理を行う物で有る。メソッドは、下記の2種に分類される。 クラスライブラリで定義されたメソッド System.out.println メソッド等 プログラマが作成するメソッド main メソッド等 クラスライブラリ(Class Library)とは、カテゴリ別に分類した様々な機能を持つクラスの集合体で有り、各クラ スには、プログラム作成に有用なメソッドが、数多く定義されて居る。 クラスライブラリが提供するメソッドに目的の機能が無い場合には、プログラマが独自にメソッドを作成する必要 が有る。猶、Java アプリケーションでは、最低限、プログラムの実行開始位置と成る main メソッドを独自に作成 しなければ成らない。 ■ メソッドの構成 ■ メソッドは、下記の各部より構成される。 メソッド修飾子 戻り値のデータ型 メソッド名( 引数リスト ) throws 例外リスト{ メソッド本体 } ■ メソッド修飾子(Method Modifiers) メソッド修飾子は、アクセス制御等を指定する物で、省略可能で有る。 abstract 抽象メソッド(抽象メソッドを1個でも持つクラスは抽象クラス)※1 final オーバーライド出来ないメソッド※2 private 同じクラスからしか呼び出せないメソッド。 省略 同じパッケージ内からしか呼び出せないメソッド。 protected 同じパッケージか其のサブクラスからしか呼び出せない。 public 何処からでも呼び出せる。 static 静的メソッド※3 synchronized マルチスレッド時に同期を取るメソッド※4 native C 言語等で作成された函数等のネイティブコード。 ※1:メソッド名、引数、戻り値は定義されて居るが、ブロック内の処理(実装)が行われて居ない。 ※2:継承に依り此のメソッドの機能変更や拡張は出来ない。 ※3:当該メソッドが定義されて居るクラスをインスタンス化しなくても利用出来る。 ※4:スレッドに呼び出された時点でロックされる為、複数のプロセスに依り実行される事が無く成る。 アクセス制限を記述する修飾子は、public、protected、private で、此等は相互に排他的で、1個のメ ソッドに複数記述する事は出来ない。 不完全なメソッドを持つクラスを抽象クラスと呼ぶ。此の様なクラスは、継承され、サブクラスでオー バーライドされる事に依り当該メソッドの実装を果たし、初めてインスタンス化され得る。

(5)

■ 戻り値のデータ型(Result Type) 戻り値のデータ型は、当該メソッドが終了した時に返す値のデータ型で有る。配列型の戻り値も可能で 有る。猶、戻り値が無い場合は、型宣言の部分にvoid と記述する。 メソッド内で呼び出し元に戻り値を返すにはreturn 文を使用する。猶、此の時、return 文で指定した 値とメソッドで宣言したデータ型が一致して居ないと、コンパイル時にエラーが発生する。 ■ メソッド名(Method Identifer) メソッド名は、其のメソッドを参照する名前と仕て使用される。名前の付け方は、任意で有るが、1文 字目は半角英小文字でなければ成らない。数字は不可で、英大文字も慣習的に使用しない。 猶、クラス名と同じ名前のメソッドは、コンストラクタと仕て認識される為、通常のメソッドに、クラ ス名と同じ名前を付ける事は出来ない。 ■ 引数リスト(Parameter List) 引数(ひきすう)とは、メソッドを呼び出す時に、メソッドに対して動作条件を指定する為の値の事で 有る。引数リストは、此の引数のデータ型と引数名を定義する物で、引数を必要と仕無い場合には、省 略可能で有る。此の場合には、空の小括弧( )(パーレン:paren)丈を記述する。 引数リストで定義された引数の有効範囲(Scope)は、当該メソッドの本体全体で有る。引数リストの 定義を行う書式は、下記の通りで有る。 データ型1 引数名 1, データ型 2 引数名 2, … データ型 n 引数名 n メソッド名と引数リストを合わせてシグネチャ(Signature:署名)と呼ぶ。此れがメソッドを識別す る物と成る為、同一のクラスで、同じシグネチャを持つ複数のメソッドを宣言すると、コンパイル時に エラーが発生する。

■ throws 節(Throws Clause)

throws 節は、メソッドの実行から生じる可能性の有る例外を宣言する為に使用する。当該メソッドの 実行中に、例外リストに列挙された例外(Exception)が発生した場合、メソッドの呼び出し元に、例 外を返す(例外を投げる:throw)事に成る。 猶、throws 節で指定した例外クラスが、throwable クラスか、又は、其の下位クラスでなければ、コン パイル時にエラーが発生する。 ■ メソッド本体(Method Body) メソッド本体には、当該メソッドの処理を行うステートメントを記述する。猶、メソッド修飾子に abstract を指定した抽象メソッドでは、実装するコードブロックが無い事を示すセミコロン(;)丈を 中括弧{ }(ブレス:brace)内に記述する。 猶、メソッドがvoid 宣言されて居る場合は、式を持つ return 文を含む事は出来ず、逆に、戻り値を持 つメソッドは、式を持つreturn 文で制御を戻す必要が有る。

(6)

■ メソッドのオーバーロード ■ Java では、メソッドを識別するのに、メソッド名と引数リスト(引数の個数とデータ型)で構成され るシグネチャを使用する。其の為、同じメソッド名でも、引数リストの異なる物は、別の物と仕て扱わ れる。猶、同じメソッド名で、引数リストの異なるメソッドを同時に定義する事を、メソッドのオーバ ーロード(Overload:多重定義)と呼ぶ。 メソッドのオーバーロードを使用すると、用途の同じメソッドを纏めて定義する事が出来る。但し、同 じシグネチャでメソッドをオーバーロードすると、同一のメソッドが複数存在する事に成り、コンパイ ル時にエラーが発生する。 ■ メソッドの呼出 ■ メソッドに処理を移行する事を『メソッドを呼び出す(Call)』と謂う。メソッドを呼び出す為には、 メソッド名の後ろに小括弧( )(パーレン:paren)で囲んで引数を指定する。 静的メソッドを呼び出す場合には、下記の様に指定する。 クラス名.メソッド名( 引数リスト ) String s = "123"; // String クラスの変数 s の宣言と初期化 int i; // int 型の変数 i の宣言 i = Integer.parseInt(s); // 静的メソッドの使用 インスタンスメソッドを呼び出す場合には、下記の様に指定する。 インスタンス名.メソッド名( 引数リスト ) String s; // String クラスの変数 s の宣言

Integer i = new Integer(123); // Integer クラスの変数 i の宣言とインスタンスの生成 s = i.toString( ); // インスタンスメソッドの使用 引数の値は、変数で指定しても、リテラル(Literal:定数)で指定しても良い。複数の引数を持つメソ ッドの場合は、夫々れの引数をカンマ区切りで列挙し、亦、引数を持たないメソッドの場合は、メソッ ド名の後ろに小括弧丈を記述する。 亦、戻り値を変数に代入する場合には、代入演算子 = (Equal)の左辺に戻り値を受け取る変数を記述 し、右辺にメソッド呼出を記述する。 基本データ型の変数やリテラルを引数に渡す時には、データがコピーされる。其の為、メソッドに渡さ れた引数の値をメソッド内で変更しても、呼出元の変数には影響を及ぼさない。

static int parseInt(String s) { … return 戻り値 } i = Integer.parseInt( s ); 呼出 コピー コピー

(7)

■ main メソッドの構成 ■

プログラムの実行開始位置と成るmain メソッドは、メソッドの構成規則に従い、一般に、下記の様に 定義する。

public static void main(String args[ ]) { 処理内容 }

public 修飾子はクラス外からのアクセスを可能にする。外からアクセスされる事の無い main メソッド にpublic 修飾子を指定するのは、単なる習慣で有るが、必ず public でなければ成らない。 static 修飾子が指定されて居るのは、此のメソッドをメンバに持つクラスが、インスタンス化されなく ても利用する事が出来る様にする為で有る。main メソッドは、プログラムの開始直後に実行される為 当該クラスがインスタンス化されなくても、利用出来る様に成って居る必要が有る為、必ずpublic でな ければ成らない。 戻り値は、一般に、無い。其れは、main メソッドが、最初に実行されるメソッドで有る為、戻り値を 返す相手が無いからで有る。 引数は、コマンドラインから受け取る。此れを、String クラスの配列で定義して置く。スペース区切り のコマンドライン引数が、String クラスの配列に、要素番号 0 から順次格納される。猶、数値型のデー タの場合は、ラップクラス等で、数値型に変換して使用する事に成る。 猶、main メソッドで、throws 節を記述する事も出来る。此処で指定した例外は、メソッドの実行中に 発生しても、キャッチしないで、上位の呼出元のクラスに例外の処理を委任する為、例外の処理は、main メソッドの呼出元で有るJVM(Java Virtual Machine)が行う事に成り、main メソッドの中で例外処 理を行う必要が無く成る。但し、例外が発生した時点で、プログラムの処理は停止する。 例外をキャッチしたJVM は、トレースバック情報(例外の経路と種類)を表示して、プログラムを停 止する為、プログラム開発時には、main メソッドで、例外をスローする手法も用いられるが、実用プ ログラムでは、例外に応じて、catch 節で処理する事が望ましい。 ■ メソッドの作成 ■ メソッドとは、前述の様に、プログラムの文(ステートメント:Statement)をブロック化する機構で データに対して何等かの処理を行う物で有る。総てのコードをmain メソッドの中に記述するのではな く、プログラムを機能別に細分化(サブルーチン化:Subroutinize)する事は、開発効率や保守性を高 める効果が有る。猶、イベント駆動型(Event Driven Type)のプログラムでは、機能毎にメソッドに 分割する事は必須と成る。 メソッドを定義するには、メソッドの構成に従い、クラスの中にメソッドのプロトタイプ(Prototype) と処理内容を記述する。猶、プロトタイプとは、メソッドの構成に於ける処理部分(ブレス{ }で囲まれ た部分)を除く部分を謂う。 ■ インターフェイスメソッド ■ 他のオブジェクトから利用可能なメソッドの事を、インタフェースメソッドと呼ぶ。他のオブジェクト との会話のインタフェースに成るメソッドは少ない方が安全なので、最初は全てのメソッドを private に仕て置き、必要に応じて、インタフェースメソッドを選び出してpublic にすると良い。

(8)

■ メソッドの作成(数値の平均値) ■ 下記のコードを、テキストエディタで入力し、Average.java と謂うファイル名で保存した後、コンパイ ルして、実行する。 /* ============================== */ /* メソッドの作成(数値の平均値) */ /* ============================== */ public class Average

{

public static void main(String args[]) {

double av = average(40, 60, 90);

System.out.println("40, 60, 90 の平均 = " + av); }

static double average(int a, int b, int c) {

double ans = (double)(a + b + c) / 3; return ans; } } ▼ av = average(40, 60, 90);:メソッドを呼び出し戻り値を変数に代入する式(Expression) メソッドでの定義通り、int 型の数値リテラル 40、60、90 を引数と仕て、average メソッドを呼び出し、其の戻り 値を、変数av に代入する。

此処では、average メソッドの戻り値のデータ型が double 型で有る為、double 型の変数 av に、戻り値を代入して 居る。

▼ static double average(int a, int b, int c):メソッドのプロトタイプ(Prototype)

此処では、3個のint 型の引数を取り、double 型の戻り値を返すメソッド average を定義して居る。アクセス制御

にstatic 修飾子を指定して居るので、此のメソッドが定義されて居るクラス、即ち、Average クラスをインスタン

ス化しなくても、此のメソッドを使用する事が出来る。

亦、アクセス制御にpublic、protected、private の孰れも指定して居ないので、此のメソッドは、同じパッケージ内

からしか呼び出す事が出来ない。

▼ double ans = (double)(a + b + c) / 3:演算精度を上げる為のキャスト(Cast)

変数a、b、c は、孰れも int 型で有る為、当該変数を加算した結果は、int 型と成る。亦、数値リテラル 3 も整数型

で有る為、(a + b + c) / 3 の演算結果は、整数型と成り、double 型の変数に代入しても、小数点以下のデータは消 失する。其の為、此処では、変数a、b、c の加算結果を double 型にキャストして居る。 ▼ return ans;:戻り値を設定して復帰する文(Statement) return 文は、呼び出されたメソッドから、呼び出したメソッドに戻る為に使用する。戻り値を持つメソッドは、戻 り値の値を示す式(此処では変数ans)を指定した return 文で制御を戻す必要が有る。

40,60,90 の平均:63.3333333336 _ JAVA では 大文字と小文字は 区別される

(9)

■ メソッドの作成(階乗の計算) ■

下記のコードを、テキストエディタで入力し、Factorial.java と謂うファイル名で保存した後、コンパ イルして、実行する。

public class Factorial {

public static void main(String args[]) { int i; for (i = 11; i > -2; i--) { int f = fact(i); String s; if(i<0 || i>9) { s = "" + i; } else { s = " " + i; } if (f == -1) { System.out.println(s + "!: 不正な値です。"); } else { System.out.println(s + "!: " + f); } } }

static int fact(int i) { if (i < 0 || i > 10) { return -1; } else { int j; int f = 1; for (j = 1; j <= i; j++) { f = f * j; } return f; } } }

▼ static int fact(int i):メソッドのプロトタイプ(Prototype)

此処では、1個のint 型の引数を取り、int 型の戻り値を返すメソッド fact を定義して居る。

▼ return -1;:戻り値を設定して復帰する文(Statement) 此処では、本来有り得ない値を戻して、呼出元でのエラー判定に利用して居る。 11!: 不正な値です。 10!: 3628800 9!: 362880 8!: 40320 7!: 5040 6!: 720 5!: 120 4!: 24 3!: 6 2!: 2 1!: 1 0!: 1 -1: 不正な値です。 _

(10)

■ メソッドの作成(バブルソート) ■

下記のコードを、テキストエディタで入力し、Sort.java と謂うファイル名で保存した後、コンパイル して、実行する。

public class Sort {

static int data[] = {54, 24, 56, 95, 79, 28, 42, 38, 60, 29}; public static void main(String args[])

{ String m; int i; m = "ソート前:" + data[0]; for (i = 1; i < 10; i++) { m = m + " , " + data[i]; } System.out.println(m); sort(); m = "ソート後:" + data[0]; for (i = 1; i < 10; i++) { m = m + " , " + data[i]; } System.out.println(m); }

static void sort() { int i, j; int t; for (i = 0; i < 10; i++) { for (j = 0; j < 10 - 1 - i; j++) { if (data[j] > data[j + 1]) { t = data[j]; data[j] = data[j + 1]; data[j + 1] = t; } } } } }

▼ static int data[] = { … };:配列を宣言し初期化を行う文(Statement)

此処では、クラス内の総ての部分で参照する事の出きるメンバ変数data を、int 型の配列で定義して居る。此の様

に、クラス内の何のメソッドからでも使用する事の出来る変数を宣言するには、メソッド外の、通常、class 定義の 直下で宣言する。

▼ static void sort( ):メソッドのプロトタイプ(Prototype)

此処では、引数を取らず、戻り値も返さないメソッドsort を定義して居る。

ソート前:54,24,56,95,79,28,42,38,60,29 ソート後:24,28,29,38,42,54,56,60,79,95 _

(11)

■ メソッドの作成(オーバーロード) ■

下記のコードを、テキストエディタで入力し、Overload.java と謂うファイル名で保存した後、コンパ イルして、実行する。

import java.io.*; public class Overload {

public static void main(String args[]) {

long l; double d;

BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); try { System.out.print("フィート:"); String s = input.readLine(); try { l = Long.parseLong(s); System.out.println("メートル:"+conv(l)); } catch(NumberFormatException el) { try { d = Double.parseDouble(s); System.out.println("メートル:"+conv(d)); } catch(NumberFormatException ed) { System.out.println("数値では有りません"); System.exit(1); } } } catch(IOException e) { System.out.println("例外が発生:" + e); } }

static double conv(long lng) {

double ret = lng * 0.3048; return ret;

}

static double conv(double dbl) {

double ret = dbl * 0.3048; return ret;

} }

▼ static double conv(…):メソッドのプロトタイプ(Prototype)

此処では、引数のデータ型がlong と double の2種類の同じメソッド名 conv を持つメソッドをオーバーロード(多

重定義)して居る。此の様に、オーバーロードを利用すると、同じ処理を行うのに、同じメソッド名で、異なるデー タ型の引数にも対応する事が出来る。

フィート:30 メートル:9.144 _

(12)

■ コマンドライン引数(計算) ■

下記のコードを、テキストエディタで入力し、Calculation.java と謂うファイル名で保存した後、コン パイルして、実行する。

public class Calculation {

public static void main(String args[]) { int n = args.length; System.out.println("コマンドライン引数の数:" + n); try { if(n!=3) {

throw new Exception(); } double a1 = Double.parseDouble(args[0]); double a2 = Double.parseDouble(args[2]); double ans = 0; char c = args[1].charAt(0); switch(c) { case '+':

ans = a1 + a2; break; case '-':

ans = a1 - a2; break; case '*':

ans = a1 * a2; break; case '/':

ans = a1 / a2; break; default:

throw new Exception(); }

System.out.println(args[0]+" "+args[1]+" "+args[2]+" = "+ans); } catch(Exception e) { System.out.println("下記の書式で起動して下さい。\n"); System.out.println("java Calculation 数値 演算子 数値\n"); System.out.println("演算子は + - \"*\" / の4種です。"); } } } ▼ args.length:配列変数の長さ(要素数)を示すメンバ変数(Member Variable)

配列のメンバ変数length は、配列の長さ(要素数)を示す値を保持して居る。此処では、main メソッドの引数 args

が、String クラスの配列で定義されて居るので、其の個数を確認して居る。

猶、main メソッドの引数は、コマンドラインからのパラメータを受け取る。コマンドラインのパラメータは、スペ ースで区切り複数指定する事が出来る為、其れを受け取る引数には、配列が使用されて居る。

▼ throw new Exception();:例外を投げる文(Statement)

此処では、意図的に例外Exception を発生させ、catch 節に制御を移して居る。

コマンドライン引数の数:3 2 + 3 = 5.0

_

(13)

■ 配列の戻り値 ■ 下記のコードを、テキストエディタで入力し、ReturnArray.java と謂うファイル名で保存した後、コン パイルして、実行する。 /* ============ */ /* 配列の戻り値 */ /* ============ */ public class ReturnArray {

public static void main(String args[]) {

String m[] = msgs();

for (int i=0; i<m.length; i++) { System.out.print(m[i] + " "); } System.out.println(); }

public static String[] msgs() {

String s[] = {"Welcome", "to", "Squid", "World"}; return s;

} }

▼ public static String[] msgs():メソッドのプロトタイプ(Prototype)

此処では、引数を取らず、String クラスの配列の戻り値を返すメソッド msgs を定義して居る。此処では、アクセ ス制御にpublic を指定して居る為、此のメソッドは、何処からでも呼び出す事が出来る。亦、static 修飾子も指定 して居るので、此のメソッドが定義されて居るクラス、即ち、ReturnArray クラスをインスタンス化しなくても、 此のメソッドを使用する事が出来る。 ▼ return s;:戻り値を設定して復帰する文(Statement) 配列を戻り値と仕て戻す場合には、return 文の式に、配列名丈を指定し、大括弧(ブラケット:bracket)は付加し ない。此処では、String クラスの配列 s の配列名 s を指定して居る。 ▼ String m[] = msgs();:配列を宣言しメソッドの戻り値で初期化する文(Statement) 此処では、String クラスの配列 m を宣言し、メソッド msgs を呼び出して、其の戻り値で、配列 m を初期化して居 る。此の様に、配列を戻り値とする事も出来る。

Welcome to Squid World _

参照

関連したドキュメント

ZoomのHP https://zoom.us にアクセスし、画面右上の「サインアップは無料です」をクリッ

チューリング機械の原論文 [14]

1 か月無料のサブスクリプションを取得するには、最初に Silhouette Design Store

屋外工事から排出される VOC については、低 VOC 資材を選択するための情報を整理した「東京都 VOC 対策ガイド〔建築・土木工事編〕 」 ( 「同〔屋外塗装編〕

Oracle WebLogic Server の脆弱性 CVE-2019-2725 に関する注 意喚起 ISC BIND 9 に対する複数の脆弱性に関する注意喚起 Confluence Server および Confluence

(自分で感じられ得る[もの])という用例は注目に値する(脚注 24 ).接頭辞の sam は「正しい」と

まず、本校のコンピュータの設置状況からお話します。本校は生徒がクラスにつき20人ほど ですが、クラス全員が

[r]