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

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

新規登録して質問してみよう
ただいま回答率
85.47%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

3回答

162閲覧

クラスの構文について

r--

総合スコア18

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2019/05/14 19:42

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

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

文;
return 式;


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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cateye

2019/05/14 21:12 編集

まず、ググたりドット・インストールなどの初学者むけの学習サイトなどでjavaを学習してきて下さい。 ここは、プログラミングで詰まった時に、質問するためのサイトです。
nskydiving

2019/05/14 21:34

実際にコードを書いて試してみると理解が深まります。 もし不明点が解消されなければ、実際に試したコードを提示して、どこが理解できないのか具体的に書いてみてください。
m.ts10806

2019/05/14 21:53

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

2019/05/14 22:24

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

2019/05/15 00:44

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

回答3

0

ベストアンサー

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

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

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

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

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

Java

1public class Main { 2 public static void main(String[] args) throws Exception { 3 System.out.println("足し算をしまーす。"); 4 int resultNumber = add(1, 2); 5 6 System.out.println("あざーす! 足してもらった結果:" + resultNumber ); 7 } 8 9 public static int add(int num1, int num2){ 10 System.out.println("頼まれたので足してやるよ! 渡された数:" + num1 + " と " + num2); 11 12 int addNumber = num1 + num2; 13 14 System.out.println("ほらよ、足してやったぜ! 足した結果:" + addNumber ); 15 16 return addNumber; //足し算を頼んできたところに結果を渡す 17 } 18}

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

足し算をしまーす。 頼まれたので足してやるよ! 渡された数:1 と 2 ほらよ、足してやったぜ! 足した結果:3 あざーす! 足してもらった結果:3

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

まずは最初のここ

Java

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

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

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

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

簡単ですね。

では次です。

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

Java

1public static int add(int num1, int num2){ 2 int addNumber = num1 + num2; 3 4 return addNumber; //足し算を頼んできたところに結果を渡す 5}

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

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

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

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

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

Java

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

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

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

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

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

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

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

Java

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

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

Java

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

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

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

では次にいきます。

Java

1public static int add(int num1, int num2){ 2 int addNumber = num1 + num2; 3 4 return addNumber; //足し算を頼んできたところに結果を渡す 5}

int add Number = num1 + num2;

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

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

重要なのは ↓ です。

return addNumber;

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

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

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

return addNumber; と書きます。

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

Java

1public static int add(int num1, int num2){ 2 int addNumber = num1 + num2; 3 4 return addNumber; 5}

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

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

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

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

**return addNumber; **

この addNumber のことです。 

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

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

簡単ですね。

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

Java

1 public static void main(String[] args) throws Exception { 2 System.out.println("足し算をしまーす。"); 3 int resultNumber = add(1, 2); 4 5 System.out.println("あざーす! 足してもらった結果:" + resultNumber ); 6 }

int resultNumber = add(1, 2);

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

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

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

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

なので、

** int** resultNumber = add(1,2);

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

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

おめでとうございます。

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

投稿2019/05/16 02:37

azuapricot

総合スコア2341

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

r--

2019/05/19 13:52 編集

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

2019/05/20 02:49

私は未経験IT業界入社組なので、一番最初は3ヶ月の研修でJavaのお勉強をさせられました。 その時まぁもちろん未経験なので、Sysoutすら最初はわからずもちろんメソッドなんてわからなかったです。 私が一番助けられたのはオススメサイトとして掲載しておいた「一番かんたんなJava入門」ですね。 ここを読むことで研修の講義では理解できなかったところが理解できるようになって、 コーディングもできるようになりました。 本はほぼ読んでません。 あとは実践でしょうか。 大体OJTというシステムがあって、お仕事の前に研修期間があります。 大抵はセンパイの下について、簡単なコーディングから教えてもらいます。 そこで自分が書いたコードをレビューしてもらって正しいコードを覚えていきました。 あとは自分が詰まったポイントなどを、「Googleのスプレッドシート」に記載して、自分用の資料集を作りました。 例えば if文の書き方だとか、 while文の書き方だとか、 拡張for文の書き方だとか。 センパイに聞いて、教えてもらったらすぐそこにメモしました。 あとは自分でコーディングしていてわからなかったところとかも調べて、理解できたらその資料集をメモ。 大抵どこの現場でもインターネットは使えるので、スプレッドシートはどこの現場に行っても使えますし、他の人とも共有できます。 大変オススメです。(まだ活用してます) コーディングする ↓ 詰まる ↓ 調べる(もしくは人に聞く teratailでもいいとおもいます) ↓ スプレッドシートにまとめる ↓ コーディングする とやっていればある程度まではできるようになりますよ
r--

2019/05/21 06:55 編集

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

2019/05/21 04:23

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

0

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

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

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

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

ですかね。

投稿2019/05/15 01:38

mutsuki22

総合スコア445

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

投稿2019/05/14 23:13

y_waiwai

総合スコア87784

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問