0.はじめに
Javaを大学で学んでおります。
概念や特徴を以下の文類に分けてまとめました。
関連学習
【Java】用語
【Java】メソッド・型
【Java】オブジェクト指向
【Java】インスタンス・コンストラクタ
【Java】例外処理
【Java】注意点・ルール
【Java】コードの記述向上にむけて(個人用memo)
書く前に考え方を整理
何を表示させるのか
何回表示させるか
-
どのように表示させたいか
構成を把握し一連の流れを全体的に掌握する
引数(参考:文献第五章)
1.同じような動作を見つける
例
〇〇さんこんにちは
〇〇さんこんにちは
〇〇さんこんにちは
〇〇の部分は名称で統一している3回同じ動作
〇〇は引数で扱うことができる
2.〇〇の引数をベースにしたメソッド及びフィールド<出力>を生成
引数をメソッドもしくはフィールドに定義する
System.out.println(〇〇 + "さんこんにちは");
public static void hello (String 〇〇)
3.メソッド + 引数をMainメソッドに記述
メソッドはhello 引数は〇〇で記述する
hello ( "〇〇" ) ;
戻り値 = 再利用する値
個人用ファイル→ デスクトップ>Java
>ファイル名Calc
system.out.printrln
単体を使いたい場合はメソッドをMain
クラスで使用すればいい
だが計算式などはいちいちMain
クラスで記述するのは面倒
そのため戻り値をメソッド内に置きその計算式をMain
クラスで利用するのが主な使い方
実際に記述
ゴール
A~D
の文字列をランダムに10回表示させたい
①A~Dの文字配列を作ってあげる
char[] base = {'A','B','C','D'};
②箱を10個作り10回ループさせる
int[] num = new int[10];
for (int i = 0; i < num.length; i++){ }
A~D
をランダムに出力するにはどうしたらいいか...?
0だった場合A、1だった場合B、2だった場合C...のようにランダム数値と掛け合わせればいい
よって0~3
のランダムな数字を使用する
③箱numのi番目の要素(全部で10個)にランダム数を代入する
num[i] = new java.util.Random().nextInt(4);
これでnum1~num10
までランダムな数字が代入される
最後にランダム整数num[ i ]
の配列番号である文字列base
を出力する
baseの〇番目の文字は〇 = base [ 〇 [ i ] ] ;
System.out.println( base [num[ i ] ] );
①~③をまとめる
public class Main {
public static void main(String[] args) {
//配列numを定義、numという10個の箱を作る
int[] num = new int[10];
//iは最初0でiがnum以下になるまで繰り返す
for (int i = 0; i < num.length; i++){
//num配列のi番目の要素に代入
num[i] = new java.util.Random().nextInt(4);
}
//配列base内に文字を代入する
char[] base = {'A','B','C','D'};
//配列base内の文字のなかでどの文字を出力するのかnum配列のi番目の要素より選ばれる
System.out.println(base [num[i] + " ");
}
}
}
}
初期化 = ループの原料
初期化するものはループに使われる傾向がある
初期化は徐々に増えていく箱のようなもの
while
文の前後に必ず初期化される変数があるが
これは今後利用するために初期化されておりループの原料となるもの
ハマったら数値を入れてみる
表を書いたり値を仮に入れてみることで理解が早まる
参考コード
条件が成立しない場合にbreakしループを止めたい
以下scanNextIntメソッド
により調べるメソッドを利用している
条件式break
はtrueの際に処理が止まりfalseの場合は処理が止まらない
本来であれば条件が成立した場合trueだがfalseにすることで問題が解決する
if (!scan.hasNextInt() ) break
記述!scan.hasNextInt()
により逆転:falseになった場合true
よってhasNextInt
がtrueの場合処理が止まらなくなる
参考文献
スッキリわかるJava入門 第3版
著者:中山清喬 と国本大悟 発行所:株式会社インプレス