忍者ブログ

からすまる日誌 java

基本(10) 戻り値

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

基本(10) 戻り値

static
形がもうできてるもの。
はじめっからあり。
newしなくていい
staticじゃないもの
newしないといけない。
設計図しかないjavaScriptのdateとか。
 

staticなものの中からはstaticなものしか呼び出せないという、おそろいになっている。
 
ので、Main183はこう修正する必要がある
 
--->Main183.java
package part1;
public class Main183 {
 static int x = 100;
 static int y = 10;
 public static void main(String[] args) {
  // TODO 自動生成されたメソッド・スタブ
  add();
 }
 public static void add() {
  int ans = x+y;
  System.out.println(ans);
 }
}
 
ただしこれはあんまりよくないコード。むき出しで変数を外側に置いておくのはよろしくない。ブロックの中に置くのがよろしいらしい。
 

 


戻り値のはなし
 
Main188.java
 
package part1;
public class Main188 {
 public static void main(String[] args) {
  // TODO 自動生成されたメソッド・スタブ
  int ans = add(100,10);//メソッドを呼び出す
  System.out.println(ans);
 }
 public static int add(int x, int y) {
  int ans = x+y;
  return ans;
 }
}
 
ここで、メソッドadd()は戻り値を返しているが、それゆえに、メソッドの宣言のときに
public static int add(int x, int y) {
}
となっている(public static voidではない)ことに注意。
 
→戻り値のあるものは、その戻り値の「型」を最初に入れておかないといけないという決まりがある。
 

voidとは、「リターン値のないメソッド」という意味。いままでは戻り値がなかったのでこれを使ってきた訳。
 
やりっぱなしでリターン値がないときはvoidになるし、
int型をreturnするなら書き出しがpublic static intになる。
  
--->Main188.java
 
package part1;
public class Main188 {
 public static void main(String[] args) {
  // TODO 自動生成されたメソッド・スタブ
  int ans = add(100,10);//メソッドを呼び出す
  System.out.println(add(add(10,20),add(30,40)));
 }
 public static int add(int x, int y) {
  int ans = x+y;
  return ans;
 }
}
 
PR

コメント

ブログ内検索

P R