回答編集履歴

2

一度編集途中で誤投稿したため、その修正。

2020/02/29 16:18

投稿

KojimaYuuki
KojimaYuuki

スコア24

test CHANGED
@@ -215,3 +215,21 @@
215
215
  また、return文を内部で使うことはできます。
216
216
 
217
217
  ですが、ほとんどの場合、コンストラクタでそこまで複雑な処理をする必要が無く、引数のメンバ変数への代入などだけで済ませるため、あまり内部でreturn文を見ることはないのだと思います。
218
+
219
+
220
+
221
+ ###よく、関数から値を返すのがreturnとありますが、「返す」とはなんでしょうか。println()処理やsetText()のような処理で引数に"hoge"を渡したらhogeと「返ってくる」という意味とはなぜ違うのですか。
222
+
223
+
224
+
225
+ あれは、値が返ってきているのではなく、出力されているだけです。
226
+
227
+ 値が返されている場合、メソッドの戻り値の型はvoidではなく、メソッド内でreturn 〇〇; のように値が返されており、また、
228
+
229
+ ```java
230
+
231
+ int i = Integer.parseInt(256);
232
+
233
+ ```
234
+
235
+ のように、値を取得できます。setText()やprintln()ではこれができません。これらのメソッドでは、目に見える形に表示する処理を内部で行っていますが、戻り値はありません。

1

一度編集途中で誤投稿したため、その修正。

2020/02/29 16:17

投稿

KojimaYuuki
KojimaYuuki

スコア24

test CHANGED
@@ -1,5 +1,7 @@
1
1
  そんなに強いプログラマーではありませんが、自分の認識を共有させていただきます。
2
2
 
3
+ ※一度編集途中で誤投稿してしまいました。すいません。
4
+
3
5
 
4
6
 
5
7
  ### パターン1, 2
@@ -72,23 +74,61 @@
72
74
 
73
75
  ```java
74
76
 
77
+ //漢字とひらがなの対応付け
78
+
79
+ private String[][] data = {
80
+
81
+ {
82
+
83
+ "法華",
84
+
85
+ "冨賀",
86
+
87
+ "秘誉"
88
+
89
+ },
90
+
91
+ {
92
+
93
+ "ほげ",
94
+
95
+ "ふが",
96
+
97
+ "ぴよ",
98
+
99
+ }
100
+
101
+ };
102
+
75
103
 
76
104
 
77
105
  //該当する漢字があった場合、それに対応したひらがなの値を返す
78
106
 
79
107
  public String getKana(String val){
80
108
 
81
-
109
+ //漢字を順番に見ていく
110
+
82
-
111
+ for(int i = 0; i < data[0].length; i++){
112
+
83
-
113
+ //valと同じなら
114
+
84
-
115
+ if(data[0][i].equals(val))
116
+
117
+ return data[1][i];//対応するひらがなを返す
118
+
85
- }
119
+ }
120
+
86
-
121
+ return null;
122
+
123
+ }
124
+
87
- ```
125
+ ```
126
+
88
-
127
+ のようなことができます。
89
-
90
-
128
+
129
+
130
+
91
- その、returnの直後に何らかの処理をさせようとしても、メソッドの処理は終了しているため、**無意味な記述だ**としてコンパイルエラーを起こします。たぶん。
131
+ た、returnの直後に何らかの処理をさせようとしても、メソッドの処理は終了しているため、**無意味な記述だ**としてコンパイルエラーを起こします。たぶん。
92
132
 
93
133
 
94
134