質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.77%

クラスの構文について

解決済

回答 3

投稿

  • 評価
  • クリップ 1
  • VIEW 712

r--

score 18

クラスの
構文の
クラス名は識別子(変数の名前として使える文字や数字の組み合わせ)から選ぶ。
class クラス名

型名 フィールド名;
戻り値の型メソッド名(引数リスト)

文;
return 式;


の戻り値の型メソッド名(引数リスト)
何が戻り値なのか、引数リストが何なのか教えてください。
値を返してほしい場合にreturnを使い返すものの意味が分かりません。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • m.ts10806

    2019/05/15 06:53

    提示情報の出典を明示してください。

    キャンセル

  • KSwordOfHaste

    2019/05/15 07:24

    質問者さんはプログラミングをどのようにして学んでおられますか?
    (A)学校でしょうか?
    (B)教科書による自習でしょうか?
    (C)インターネットの解説記事の拾い読みでしょうか?
    ひょっとして(C)ではありませんか?

    キャンセル

  • stdio

    2019/05/15 09:44

    メソッド(関数)の説明か...
    こちらとしては、「するのもメンドクサイぐらいの基本中の基本ですので、理解できないならずっと悩んでいろ」と冷たく突っぱねるレベルですよ。
    Javaの入門サイトでも読んでいればいいのではないですか?
    http://www3.nit.ac.jp/~tamura/java/function.html

    キャンセル

回答 3

checkベストアンサー

+4

さぁやってきました!初心者がつまるポイント 「引数と戻り値とreturn!」

私も研修で最初聞いたときは何がなんだかさっぱりわかりませんでした。
メソッドなんて使わないほうが簡単じゃない?と思ってたこともありました。

それはさておきオススメのサイトを貼っておきます↓
一番かんたんなJava入門
初心者はまずここを読むことをオススメします。とても。かなり。

超長くなったので暇なときに読んで下さい

とりあえず私なりに解説しようと思います。

public class Main {
    public static void main(String[] args) throws Exception {
        System.out.println("足し算をしまーす。");
        int resultNumber = add(1, 2);

        System.out.println("あざーす! 足してもらった結果:" + resultNumber );
    }

    public static int add(int num1, int num2){
        System.out.println("頼まれたので足してやるよ! 渡された数:" + num1 + " と " + num2);

        int addNumber = num1 + num2;

        System.out.println("ほらよ、足してやったぜ! 足した結果:" + addNumber );

        return addNumber; //足し算を頼んできたところに結果を渡す
    }
}

↑ のコードを実行するとこんな結果になります

足し算をしまーす。

頼まれたので足してやるよ! 渡された数:12

ほらよ、足してやったぜ! 足した結果:3

あざーす! 足してもらった結果:3

では流れがなんとなくわかったところで、1つ1つ見てみましょう。

まずは最初のここ

public static void main(String[] args) throws Exception {
   System.out.println("足し算をしまーす。");
   int resultNumber = add(1, 2);
}

今は add(1,2) だけに注目します。

この add(1,2)  の 1 と 2 が 「 引数 」ってやつです。

今回だと、 1 と 2 を足し算してほしいので 引数に 1 と 2 を指定しています。

簡単ですね。

では次です。

int resultNumber はとりあえず今は無視します。

public static int add(int num1, int num2){      
    int addNumber = num1 + num2;

    return addNumber; //足し算を頼んできたところに結果を渡す
}

足し算をするためにこき使う add() メソッドを作りました。

public static  っていう謎の文字はとりあえず今は無視でいいです。
余裕ができたら勉強してください。

まずは 1行目からみていきます。

public static int add(int num1, int num2){  

なんだか見覚えがありますね?

public static void main(String[] args) throws Exception {
   System.out.println("足し算をしまーす。");
   int resultNumber = add(1, 2); // ← これ
}

add は 「メソッド名」です。
なので言ってしまえば test でも Taro でも apple でもいいです。 その処理がわかる名前をつけましょう。

今回は足し算するメソッドなので add という名前にしてみました。

では次 public static int add (int num1, int num2){  

この num1 と num2 がポイントですね。

今回だと 2つの数字を足し算したかったので、 int 型 の num1 と num2 を2つ指定しています。

3つの数字を足したかったらもちろん↓のようになります。

add(int num1, int num2, int num3){

文字列を足したいときは↓のようになります。

add(String str1, String str2, String str3){

引数ってつまり何かと簡単にいうと、

このメソッドの中で 処理したい値 です。

では次にいきます。

public static int add(int num1, int num2){      
    int addNumber = num1 + num2;

    return addNumber; //足し算を頼んできたところに結果を渡す
}

int add Number = num1 + num2;

これだけなら簡単ですよね。足し算した結果を addNumber という変数に突っ込んでいます。

つまり今回だと addNumber = 3 となります。

重要なのは ↓ です。

return addNumber;

さぁでてきましたね、「 return 」が。

足し算して終わりだと超無能なメソッドなので、計算結果を教えてほしいわけです。

今回だと、計算結果の addNumber を教えてほしいので、

return addNumber; と書きます。

return についてなんとなくわかったところで、もう一つ重要なポイントがあります。

public static int add(int num1, int num2){      
    int addNumber = num1 + num2;

    return addNumber; 
}

public static int add(int num1, int num2){   

この int という型に注目してください。さきほど無視したところです。

これが何かというと、 「戻り値」 の型を指定している部分になります。

戻り値ってなんやねん。っていうと、 さきほどの

return addNumber; 

この addNumber のことです。 

今回だと、int型の計算結果を返したいので、 戻り値の型には int と指定します。

文字列を返したければここは String になりますし、 boolean をかえすなら booleanとなります。

簡単ですね。

では最後にMainメソッドに戻りましょう。

    public static void main(String[] args) throws Exception {
        System.out.println("足し算をしまーす。");
        int resultNumber = add(1, 2);

        System.out.println("あざーす! 足してもらった結果:" + resultNumber );
    }

int resultNumber = add(1, 2); 

勘のいい質問者さんならもう気づいたかなとは思いますが、

ここの int resultNumber = add(1,2); が重要です。

計算結果の 3を受け取るための変数が必要なわけですよね。

今回計算結果は int 型 でした。

なので、

 int resultNumber = add(1,2);

ここで int 型を指定しているわけです。

長かったですがこれでやっと 1 + 2 を計算した結果の 「3」を resultNumber という変数につっこむことができました。

おめでとうございます。

引数・戻り値も慣れれば簡単なので頑張ってお勉強しましょう!

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/05/19 22:51 編集

    あの。個人的になのですが、一番最初どう勉強されていましたか?
    こちらは、自分で本を買ってやっていて、、、。(詳しく言ったら、周りのユーザーさんに指摘されそうなのでこういっておきます。)
    いつも?丁寧な回答をして下さるので。

    キャンセル

  • 2019/05/20 11:49

    私は未経験IT業界入社組なので、一番最初は3ヶ月の研修でJavaのお勉強をさせられました。
    その時まぁもちろん未経験なので、Sysoutすら最初はわからずもちろんメソッドなんてわからなかったです。

    私が一番助けられたのはオススメサイトとして掲載しておいた「一番かんたんなJava入門」ですね。
    ここを読むことで研修の講義では理解できなかったところが理解できるようになって、
    コーディングもできるようになりました。

    本はほぼ読んでません。
    あとは実践でしょうか。
    大体OJTというシステムがあって、お仕事の前に研修期間があります。
    大抵はセンパイの下について、簡単なコーディングから教えてもらいます。
    そこで自分が書いたコードをレビューしてもらって正しいコードを覚えていきました。

    あとは自分が詰まったポイントなどを、「Googleのスプレッドシート」に記載して、自分用の資料集を作りました。
    例えば if文の書き方だとか、 while文の書き方だとか、 拡張for文の書き方だとか。
    センパイに聞いて、教えてもらったらすぐそこにメモしました。
    あとは自分でコーディングしていてわからなかったところとかも調べて、理解できたらその資料集をメモ。
    大抵どこの現場でもインターネットは使えるので、スプレッドシートはどこの現場に行っても使えますし、他の人とも共有できます。

    大変オススメです。(まだ活用してます)

    コーディングする

    詰まる

    調べる(もしくは人に聞く teratailでもいいとおもいます)

    スプレッドシートにまとめる

    コーディングする

    とやっていればある程度まではできるようになりますよ

    キャンセル

  • 2019/05/21 06:43 編集

    おはようございます。自頭から変えていくしか、自分には他ありません。
    提示していただいたサイト一通り読んでみます。

    キャンセル

  • 2019/05/21 13:23

    >あとは実践でしょうか。
    ここに大変同意したためコメント。
    trial and error です。本を読んだだけではプログラムは動くことはおろか書くことすらできないので、失敗しまくって調べてやり直し手を繰り返すしかないです。
    構文ミスってもプログラムがエラー吐くだけ。余程意図して作らないと動作させているコンピュータを壊すことはないです。開発環境が壊れることはあっても作り直せばいいだけ。

    キャンセル

+1

コメントしている方々の意見も分かる。
分かるんですが、質問者さんの気持ちも分かる自分がいますので、未熟なりに解答を。

https://www.sejuku.net/blog/22842

上記はまだ分かりやすそうかなと思います。
質問者さんは構文の決まりを記載されていますが、実際のコードと見比べながら学習するとわかりやすいかと思います。
言葉だけで理解しようすると割と整理がつかなくなるので。

一応簡単な質問の直接の回答としては。
・「return 式;」ー式が戻り値
・「引数リスト」ー構文を実行する際に具体的入れる値など

ですかね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

-2

メソッドというのは関数ともいいます
中学や高校の数学で関数というのを習ったと思いますが、それを思い出しましょう
関数というのは(いくつかの)数値を与えれば、一定の法則でそれを変換してこれまた数値を返します
これと同じと考えればわかりやすいんじゃないかとおもいます

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.77%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る