Javaの学習をしたときに参考にしたサイト(超個人的な備忘メモです。。。)
Samurai Blog様
- 【一通り理解しよう】UMLのクラス図の描き方を解説
- 【Java入門】コンストラクタの使い方総まとめ(クラス/インスタンス)
- 【Java入門】thisとは? 意味や使い方のキホンを解説します!
- 【Java】superとは?意味や使い方について詳しく解説
- 【Java入門】継承とコンストラクタの呼び出し(super/this)
デザインパターン(TECHSCORE様)
Tips
returnでのインクリメント/デクリメント
こんなとき
Main.java
class SampleClass {
private int member1=0;
public int incrementLocal1(int local){
return local++;
}
}
public class Main {
public static void main(String[] args){
SampleClass sc = new SampleClass();
System.out.println("ローカル変数: " + sc.incrementLocal1(0));
}
}
実行結果
→ローカル変数:1を期待したが・・・
ローカル変数: 0
インクリメントされた値が返ってこないので見直し。
Main.java
class SampleClass {
private int member1=0;
public int incrementLocal1(int local){
//return local++;
return ++local; //インクリメント演算子を変数の前に記述。
}
}
public class Main {
public static void main(String[] args){
SampleClass sc = new SampleClass();
System.out.println("ローカル変数: " + sc.incrementLocal1(0));
}
}
実行結果
ローカル変数: 1
ということで、インクリメント演算子/デクリメント演算子について
変数の前に記述すると「処理の開始時にインクリメント/デクリメント」
イメージ
i=i+1;
return i;
変数の後に記述すると「処理の終了後にインクリメント/デクリメント」
イメージ
return i; //インクリメントされる前の値がreturnされる
i=i+1;