0
0

【Java】コードの記述向上にむけて(個人用memo)

Last updated at Posted at 2023-11-21

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メソッドにより調べるメソッドを利用している
条件式breaktrueの際に処理が止まりfalseの場合は処理が止まらない
本来であれば条件が成立した場合trueだがfalseにすることで問題が解決する

if (!scan.hasNextInt() ) break 				

記述!scan.hasNextInt()により逆転:falseになった場合true
よってhasNextInttrueの場合処理が止まらなくなる


参考文献

スッキリわかるJava入門 第3版
著者:中山清喬 と国本大悟 発行所:株式会社インプレス

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0