[Java] ๋ฐฐ์—ด์˜ ๊ธฐ์ดˆ

2021. 2. 23. 14:02ใ†๊ฐœ๋… ์ •๋ฆฌ ์ž‘์—…์‹ค/Java

728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ ๋ฐฐ์—ด

   ๐Ÿ“๋ฐฐ์—ด์ด๋ž€?


        ๐Ÿ‘‰ ๋ฐฐ์—ด: ๋ฐฐ์—ด๋ถ€ํ„ฐ ์ž๋ฃŒ๊ตฌ์กฐ ๊ฐœ๋…์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

๋ฐฐ์—ด์€ ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜์˜ ๋ฌถ์Œ์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ ๋ฐ์ดํ„ฐ ๋Ÿ‰ ๋งŒํผ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ๋‹ค๋ฉด ์ •๋ง ํž˜์ด ๋“œ๋Š” ๊ฒƒ์ด์—์š”.

๋ฐฐ์—ด์€ ๊ฐ™์€ ํƒ€์ž…์˜ ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜์˜ ๋ฌถ์Œ์œผ๋กœ ๋‹ค๋ฃจ๋Š” ๊ฒƒ.

            โœ๏ธ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ณ€์ˆ˜๋“ค์„ ํ•œ ์ค„(์„ ํ˜•์ )๋กœ ๋ชจ์•„ ๋†“์€ ๊ตฌ์กฐ ์ž…๋‹ˆ๋‹ค..

            โœ๏ธ ๋ฐฐ์—ด ์•ˆ์— ํ•˜๋‚˜ํ•˜๋‚˜์˜ ๊ฐ’(๋ฆฌํ„ฐ๋Ÿด)๋“ค์„ ์š”์†Œ๋ผ๊ณ  ํ•œ๋‹ค. (ํ•™๊ต ์•ˆ์— ์žˆ์–ด์„œ ํ•™์ƒ์ด๋‹ค. ์‚ฌ๋žŒ์€ ๊ฐ™์ง€๋งŒ, ํ•™๊ต  ์•ˆ์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•™์ƒ์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฒƒ.)

             โœ๏ธ ์š”์†Œ์˜ ์ž๋ฃŒํ˜•์ด ๋ฌด์—‡์ธ๊ฐ€?๋ฅผ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

             โœ๏ธ ๋ฐฐ์—ด์„ ์„ ์–ธํ•  ๋•Œ, ๋Œ€๊ด„ํ˜ธ๋Š” ์ž๋ฃŒํ˜• ์˜†์— ๋ถ™ํ˜€๋„ ๋˜๊ณ , ๋ณ€์ˆ˜๋ช…์— ๋ถ™ํ˜€๋„ ๋ฉ๋‹ˆ๋‹ค.

์„ ์–ธ ๋ฐฉ๋ฒ• ์„ ์–ธ์˜ ์˜ˆ
์ž๋ฃŒํ˜• ํƒ€์ž…[] ๋ณ€์ˆ˜์ด๋ฆ„; int[] score;
String[] name;
์ž๋ฃŒํ˜• ํƒ€์ž… ๋ณ€์ˆ˜์ด๋ฆ„[]; int score[];
String name;

 

 

             โœ๏ธ ๋ฐฐ์—ด ์•ˆ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ์žˆ์„ ๋•Œ๋Š” ๊ฐ๊ฐ์˜ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋ฐฐ์—ด์€ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ์š”์†Œ๋ฒˆํ˜ธ๋ผ๊ณ  ํ•˜๋ฉฐ,                       Index ํ˜น์€ ์ƒ‰์ธ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

             โœ๏ธ  ์š”์†Œ๋ฒˆํ˜ธ(Index): 0๋ฒˆ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ๊ธธ์ด - 1๋ฒˆ(0๋ถ€ํ„ฐ ์‹œ์ž‘ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— -1) ๊นŒ์ง€ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ์ •์ˆ˜ํ˜• ๋ฒˆํ˜ธ. ๋”ฐ๋ผ์„œ ๊ธธ์ด -1์ด๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ์‚ฐ                                                           ๋ฒ”์œ„๋ฅผ  ์ง€์ •ํ•  ๋•Œ i < '๋ฐฐ์—ด๊ธธ์ด'๋กœ ํ•˜๋˜์ง€ i <=' ๋ฐฐ์—ด๊ธธ์ด - 1'๋ผ๊ณ  ํ•  ์ˆ˜์žˆ๋‹ค.(for ๋ฌธ๊ณผ ๊ฐ™๋‹ค.) ์š”์†Œ๋ฒ”์œ„๋ฅผ 'Bound'๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.                                                   ๋ฐฐ์—ด์˜ Index๋Š” ์Œ์ˆ˜๊ฐ’์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (ํŒŒ์ด์ฌ์€ ์Œ์ˆ˜๊ฐ€ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ฐฐ์—ด์ด๋ผ๊ธฐ ๋ณด๋‹จ List์ด๋‹ค.)

             โœ๏ธ ๊ธธ์ด: ์š”์†Œ ๊ฐœ์ˆ˜, ์ตœ๋Œ€ ๊ฐœ์ˆ˜๊ฐ€ ์ •ํ•ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •์  ๊ตฌ์กฐ(๊ณ ์ • ๊ธธ์ด)๋ผ๊ณ  ํ•œ๋‹ค. ์ฝ”๋”ฉํ•  ๋•Œ ์ •์ ์ด๋ผ๋Š” ํ‘œํ˜„์€ ๋ฏธ๋ฆฌ ์ •ํ•ด ๋†“์€ ๊ฒƒ์ด๋‹ค๋ผ๊ณ                                          ์™ธ์šฐ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋ฐฐ์—ด์˜ ๊ธธ์ด๋Š” 0์œผ๋กœ๋„ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

             โœ๏ธ ๋ฐฐ์—ด ์ฒ˜๋ฆฌ ์ˆœ์„œ: ์ˆœ์ฐจ์ ์œผ๋กœ ๋‹ค๋ฃจ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ. ํ•˜์ง€๋งŒ, ๋ฒ”์œ„๋งŒ ์ง€ํ‚จ๋‹ค๋ฉด ์ž„์˜ ์ ‘๊ทผ ๋ฐฉ์‹์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.                                                                                                        ์ฆ‰, 0๋ฒˆ ๊ฐ”๋‹ค๊ฐ€ 5๋ฒˆ ๊ฐ”๋‹ค๊ฐ€ ์™”๋‹ค๊ฐ”๋‹ค ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, ๋ฒ”์œ„(๋ช‡ ๋ฒˆ ๋ถ€ํ„ฐ ๋ช‡ ๋ฒˆ๊นŒ์ง€)๋Š” ๋ฐ˜๋“œ์‹œ ์ง€์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.                                                                            ์ด๊ฒƒ ๋•Œ๋ฌธ์— ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋‚˜์˜จ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค!

             โœ๏ธ ๋ฐฐ์—ด์€ for๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

๋ฐฐ์—ด ์„ ์–ธ์˜ ์˜ˆ์‹œ

[์ž๋ฃŒํ˜• Type] [๋ณ€์ˆ˜๋ช…] = new [์ž๋ฃŒํ˜• Type] [];

int arr = new int[5];
// intํ˜• arr ๋ฐฐ์—ดํ˜• ๋ณ€์ˆ˜์— 5๊ฐœ์˜ ๋ฐฐ์—ด(๊ณต๊ฐ„)์„ ์ƒˆ๋กœ ๋งŒ๋“ค๊ฒ ๋‹ค.

              โœ๏ธ ๋ฐฐ์—ด์˜ ์„ ์–ธ์‹œ ํ•„์š”ํ•œ ๊ฒƒ: ์š”์†Œ์˜ ์ž๋ฃŒํ˜•(๋ชจ๋“  ์š”์†Œ๋“ค์˜ ์ž๋ฃŒํ˜•์ด ๋ชจ๋‘ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.)์„ ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐ์—ด ์ด๋ฆ„ ์ •์˜(๋ณดํ†ต ๋ณต์ˆ˜ ํ‘œํ˜„ ์‚ฌ์šฉ),                                                                    ๋ฐฐ์—ด๋ช…์€ ์†Œ๋ฌธ์ž๋กœ ์จ์•ผ ํ•ฉ๋‹ˆ๋‹ค. [] : ๋Œ€๊ด„ํ˜ธ ์•ˆ์— ๊ธธ์ด ํ˜น์€ ๊ฐœ์ˆ˜๋ฅผ ๊ณ ์ •ํ•˜์—ฌ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. int ๋ผ๊ณ  ์ž๋ฃŒํ˜•์„ ์จ ์ฃผ๋ฉด                                                                 ์ •์ˆ˜ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์ด๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ณ , int[]๋ผ๊ณ  ์จ ์ฃผ๋ฉด ์ •์ˆ˜ ์ž๋ฃŒ ๋ฐฐ์—ดํ˜• ์ด๋ผ๊ณ  ํ‘œํ˜„

 

                                                               ์˜ˆ์‹œ ์ฝ”๋“œ: ์ •์ˆ˜ 10๊ฐœ๋ฅผ ์š”์†Œ๋กœํ•˜๋Š” ๋ฐฐ์—ด์˜ ์„ ์–ธ.

                                                                                                                                                                                   

int[] arr = {10, 20, 30, 40}; // ์ค‘๊ด„ํ˜ธ ์•ˆ์—๋Š” ๋ฐฐ์—ด์•ˆ์˜ ์ดˆ๊ธฐ๊ฐ’๋“ค์„ ๋„ฃ๋Š” ๊ณณ
// new int[]; ์œ„์™€ ๊ฐ™์ด ์„ ์–ธ ์‹œ ์™ผ์ชฝ ๋‚ด์šฉ์€ ์ƒ๋žต์ด ๊ฐ€๋Šฅ.

//์œ„์™€ ๊ฐ™์ด ์ดˆ๊ธฐ๊ฐ’์„ ์ค‘๊ด„ํ˜ธ ์•ˆ์— ๋„ฃ์–ด์คฌ์„ ๋• ์ž๋™์œผ๋กœ ๊ฑฐ๊ธฐ์— ๋งž๊ฒŒ ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ์ •ํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์—
//๋”ฐ๋กœ ๋ฐฐ์—ด ๊ธธ์ด๋ฅผ ์ •ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.


// ํ•˜์ง€๋งŒ new int[]๋ฅผ ์ƒ๋žตํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค.
int[] score;
score = new int[] { 50, 60 ,70, 80, 90 };	// ์ •์ƒ!
score = { 50, 60 ,70, 80, 90 }; 			// ์˜ˆ์™ธ ๋ฐœ์ƒ! new int[] ์ƒ๋žต ๋ถˆ๊ฐ€!

// ์œ„์™€ ๊ฐ™์ด ๋ฐฐ์—ด์˜ ์„ ์–ธ๊ณผ ์ƒ์„ฑ์„ ๋”ฐ๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์ƒ๋žต์ด ๋ถˆ๊ฐ€.


// Method๋ฅผ ์ด์šฉํ•˜์—ฌ ์ธ์ž๊ฐ’์— ๋ฐฐ์—ด์„ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์ƒ๋žต์ด ๋ถˆ๊ฐ€
int add(int[] arr) {// ๋‚ด์šฉ ์ƒ๋žต}			// add Method ์„ ์–ธ.

int result = add(new int[] { 100, 90, 80, 70, 60 });		// ์ •์ƒ!
int result = add({ 100, 90, 80, 70, 60 });					// ์˜ˆ์™ธ ๋ฐœ์ƒ! new int[] ์ƒ๋žต ๋ถˆ๊ฐ€!

arr์ด๋ผ๋Š” ๋ฐฐ์—ด์€ ๊ธธ์ด๊ฐ€ 4์ด๊ณ , Index ๋ฒˆํ˜ธ๋Š” 0~3๊นŒ์ง€ ์žˆ๋‹ค. []๊ฐ€ ํ•˜๋‚˜๋ฉด 1์ฐจ ๋ฐฐ์—ด, []๊ฐ€ ๋‘๊ฐœ๋ฉด 2์ฐจ ๋ฐฐ์—ด. ์—ฌ๊ธฐ์„œ arr์€ ๋ฐฐ์—ด๋ช…์ด๊ณ , arr[Index๋ฒˆํ˜ธ]๋ผ๊ณ  ํ•˜๋ฉด ์š”์†Œ๋ช… ์ž…๋‹ˆ๋‹ค.. ๋˜๋Š” intํ˜• ๋ณ€์ˆ˜๋ช…์ด๋ผ๊ณ ๋„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.  ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•  ๋•Œ arr.length๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋ฐฐ์—ด์€ ๊ธธ์ด๊ฐ€ ์ •ํ•ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์†Œ๊ด„ํ˜ธ ์—†์ด ์ •์˜ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, String.length(); ์™€๋Š” ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ arr.length๋Š” ๊ฐ’์ด ์ •ํ•ด์ ธ ์žˆ์–ด์„œ ํ•จ์ˆ˜ ํ˜•ํƒœ๋กœ ์ •์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์†Œ๊ด„ํ˜ธ ์—†์ด ์‚ฌ์šฉํ•˜๊ณ , ๋ฌธ์ž์—ด์—์„œ๋Š” ๋™์  ๊ธธ์ด์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•จ์ˆ˜ํ˜•์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ์˜ˆ์‹œ๋ฅผ ์•„๋ž˜์ฒ˜๋Ÿผ ์ถœ๋ ฅํ•˜๋ฉด ์–ด๋–ค ๊ฐ’์ด ๋‚˜์˜ฌ๊นŒ์š”?

System.out.println("๋ฐฐ์—ด๋ช… :" + arr);

System.out.println("์š”์†Œ๋ช… :" + arr[0]);

System.out.println("๋ฐฐ์—ด๋ช… :" + arr);

System.out.println("์š”์†Œ๋ช… :" + arr[0]);

System.out.println("๋ฐฐ์—ด์˜ ๊ธธ์ด :" + arr.length);

 

 

๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ฐฐ์—ด๋ช…์—์„œ ๊ฒฐ๊ณผ๊ฐ’์ด ํ•ด์‰ฌ๊ฐ’ ํ˜น์€ ์‹๋ณ„๊ฐ’์ด๋ผ๊ณ  ํ•˜๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์™”์Šต๋‹ˆ๋‹ค. ์ด๋ฆ„์€ ์ค‘๋ณต๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.  ํ•˜์ง€๋งŒ, ์‹๋ณ„์ด ๋˜์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ๋ฏผ๋ฒˆํ˜ธ์ฒ˜๋Ÿผ ์‹๋ณ„๊ฐ’์„ ๊ฐ–์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด์—์š”. @์•ž์—๋Š” ์ž๋ฃŒํ˜•(I์ด๋‹ˆ ์ •์ˆ˜ํ˜•)์ด ๋‚˜์˜ค๊ณ , ๋’ค์—๋Š” 165์ง„์ˆ˜๋กœ ์ด๋ค„์ง„ Memory ์ฃผ์†Œ๊ฐ’์œผ๋กœ ์‹ค์ œ ์ฃผ์†Œ๊ฐ€ ์•„๋‹Œ ๋‚ด๋ถ€ ์ฃผ์†Œ๋กœ ์ด ๋ฐฐ์—ด์˜ ์š”์†Œ๊ฐ€ ์ €๊ธฐ ์žˆ๋‹ค๋ผ๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์ด๋ฆ„์ด ๊ฐ–๋”๋ผ๋„ ์‹๋ณ„๊ฐ’์ด ๋‹ค๋ฅด๋ฉด ๊ฒฐ๊ตญ ๋‹ค๋ฅธ๊ฐ’์ž…๋‹ˆ๋‹ค.

 

	public static void main(String[] args) {
		// ์ •์ˆ˜ 10๊ฐœ๋ฅผ ์š”์†Œ๋กœ ํ•˜๋Š” ๋ฐฐ์—ด์˜ ์„ ์–ธ (์ดˆ๊ธฐ๊ฐ’์„ ์•Œ๊ณ  ์žˆ์„ ๋•Œ)
		int[] arr = {10, 20, 30, 40};
		
		System.out.println("๋ฐฐ์—ด๋ช… :" + arr);
		System.out.println("์š”์†Œ๋ช… :" + arr[0]);
		System.out.println("๋ฐฐ์—ด์˜ ๊ธธ์ด :" + arr.length + "\n");
		
		// ์ดˆ๊ธฐ๊ฐ’์„ ๋ชจ๋ฅผ ๋•Œ๋Š” ๊ณต๊ฐ„๋งŒ ์žก๋Š”๋‹ค.
		int[] score = new int[10];   // ๋งจ ์˜ค๋ฅธ์ชฝ int ๋‹ค์Œ ๋Œ€๊ด„ํ˜ธ ์•ˆ์˜ ๊ฐ’์€ ๋ฐฐ์—ด์˜ ๊ณต๊ฐ„์„ ์˜๋ฏธํ•˜๋Š” ๊ฐ’.
		// score[10] = 100;  ๋ฐฐ์—ด์˜ ๊ธธ์ด 0 ~ 9 ๊ธธ์ด๋กœ ์ •ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— 10์ด ์—†๋‹ค. ์ด๊ฑธ ๋Œ๋ฆฌ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚˜์˜ฌํ…๋ฐ, ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ฉด ๋‹ต์€ ๋ณด์ธ๋‹ค.
		
		for (int i = 0; i < score.length; ++i) {
			score[i] = i * 1000 + 1; // ๊ฐ ์š”์†Œ๋“ค์— ๊ฐ’์„ ์ €์žฅ.
			
		}
		
		for (int i = 0; i < score.length; ++i) {
			// ๋ชจ๋“  ์š”์†Œ๋“ค์˜ ๊ฐ’์„ ์ถœ๋ ฅ.
			System.out.println(" score์˜ ๊ฐ’์€ " + score[i]);
			
			
		}


	}

 

๐Ÿ“ ์—ฐ์Šต ๋ฌธ์ œ: random ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•™์ƒ ์ ์ˆ˜ 12๊ฐœ๋ฅผ ์ €์žฅํ•œ ๋’ค ์ถœ๋ ฅํ•˜์„ธ์š”.

import java.util.Random;

public class ExArray {

	public static void main(String[] args) {
		// Random Method๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•™์ƒ ์ ์ˆ˜ 12๊ฐœ๋ฅผ ์ €์žฅํ•œ ๋’ค ์ถœ๋ ฅํ•˜๊ธฐ
		double[] score = new double[12];
		Random ran = new Random();
		for (int i = 0; i < score.length; ++i) {
			score[i] = ran.nextDouble();
		}
		for (int i = 0; i < score.length; ++i) {
			System.out.println(i + "๋ฒˆ ์š”์†Œ์˜ ๊ฐ’ : " + score[i]);
		}
	}

 

๊ฒฐ๊ณผ

0๋ฒˆ ์š”์†Œ์ด ๊ฐ’ : 0.390993621263256
1๋ฒˆ ์š”์†Œ์ด ๊ฐ’ : 0.536600197836725
2๋ฒˆ ์š”์†Œ์ด ๊ฐ’ : 0.5395621105107491
3๋ฒˆ ์š”์†Œ์ด ๊ฐ’ : 0.9268485629025913
4๋ฒˆ ์š”์†Œ์ด ๊ฐ’ : 0.5105145339501515
5๋ฒˆ ์š”์†Œ์ด ๊ฐ’ : 0.7336780358293263
6๋ฒˆ ์š”์†Œ์ด ๊ฐ’ : 0.18343331413394837
7๋ฒˆ ์š”์†Œ์ด ๊ฐ’ : 0.24938027162772047
8๋ฒˆ ์š”์†Œ์ด ๊ฐ’ : 0.02841933676657804
9๋ฒˆ ์š”์†Œ์ด ๊ฐ’ : 0.0933897314306259
10๋ฒˆ ์š”์†Œ์ด ๊ฐ’ : 0.5747654029099003
11๋ฒˆ ์š”์†Œ์ด ๊ฐ’ : 0.2878328663541382

 

 

๐Ÿ“ ์—ฐ์Šต ๋ฌธ์ œ: random ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•™์ƒ 3๋ช… ์ ์ˆ˜๋ฅผ ๊ฐ๊ฐ 4๊ฐœ์”ฉ ์ €์žฅํ•œ ๋’ค ์ถœ๋ ฅํ•˜์„ธ์š”.

import java.util.Random;

public class ExArray {

	public static void main(String[] args) {
		// Random Method๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•™์ƒ 3๋ช… ์ ์ˆ˜ 4๊ฐœ์”ฉ ์ €์žฅํ•œ ๋’ค ์ถœ๋ ฅํ•˜๊ธฐ
		double[] score = new double[12];
		Random ran = new Random();
		
		for (int i = 0; i < score.length; ++i) {
			score[i] = ran.nextDouble() * 100;
		}
		// 4๊ฐœ์”ฉ ์ถœ๋ ฅํ•˜๋Š”๋ฐ, 3๋ฒˆ ๋ฐ˜๋ณต
			for (int m = 0; m < 12; m+=4) {
			
			System.out.println("--");
			
			for (int i = m; i < (m + 4); ++i) {
				System.out.println(i + "๋ฒˆ ์ ์ˆ˜์˜ ๊ฐ’ : " + score[i]);
			}
		}
	}

 

๊ฒฐ๊ณผ

--
0๋ฒˆ ์ ์ˆ˜์˜ ๊ฐ’ : 5.891083600102487
1๋ฒˆ ์ ์ˆ˜์˜ ๊ฐ’ : 9.004135070427688
2๋ฒˆ ์ ์ˆ˜์˜ ๊ฐ’ : 66.06641699845869
3๋ฒˆ ์ ์ˆ˜์˜ ๊ฐ’ : 85.72453963074238
--
4๋ฒˆ ์ ์ˆ˜์˜ ๊ฐ’ : 84.7848499997297
5๋ฒˆ ์ ์ˆ˜์˜ ๊ฐ’ : 85.76264982010123
6๋ฒˆ ์ ์ˆ˜์˜ ๊ฐ’ : 25.1270911527403
7๋ฒˆ ์ ์ˆ˜์˜ ๊ฐ’ : 42.64100233092587
--
8๋ฒˆ ์ ์ˆ˜์˜ ๊ฐ’ : 59.15502368326526
9๋ฒˆ ์ ์ˆ˜์˜ ๊ฐ’ : 58.327447635030296
10๋ฒˆ ์ ์ˆ˜์˜ ๊ฐ’ : 90.6356638033661
11๋ฒˆ ์ ์ˆ˜์˜ ๊ฐ’ : 91.32192956513906

 

 

 

   ๐Ÿ“ ๋ฐฐ์—ด ์ฒ˜๋ฆฌ ์‹œ  CRUD


 

        ๐Ÿ‘‰ CRUD๋ž€?

Create ์ƒ์„ฑ INSERT
Read(๋˜๋Š” Retrieve) ์ฝ๊ธฐ(๋˜๋Š” ์ธ์ถœ) SELECT
Update ๊ฐฑ์‹  UPDATE
Delete(๋˜๋Š” Destroy) ์‚ญ์ œ(๋˜๋Š” ํŒŒ๊ดด) DELETE

 

๋ฐ์ดํ„ฐ๋“ค์„ ์ž…์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

๋ฐฐ์—ด์€ ๊ณ ์ • ๊ธธ์ด ๊ตฌ์กฐ ์ž…๋‹ˆ๋‹ค. ์ถ”๊ฐ€, ์‚ญ์ œ ์‹œ ์š”์†Œ ๊ฐœ์ˆ˜๊ฐ€ ๋ณ€ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์—†๋Š” ๊ฒƒ์ผ๊นŒ์š”?

๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•:
   1) ๋” ํฐ ๋ฐฐ์—ด์„ ์ƒˆ๋กœ ์ƒ์„ฑํ•œ๋‹ค.
   2) ๊ธฐ์กด ๋ฐฐ์—ด์˜ ๋‚ด์šฉ์„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— ๋ณต์‚ฌํ•œ๋‹ค.

 

for๋ฌธ์„ ์ด์šฉํ•œ ๋ฐฐ์—ด ๋ณต์‚ฌ ๋ฐฉ๋ฒ• ์˜ˆ์‹œ

int[] arr = new int[]5;
        . . .
int[] tmp = new int[]arr.sength*2];	//๊ธฐ์กด ๋ฐฐ์—ด์ด์˜€๋˜ arr๋ณด๋‹ค 2๋ฐฐ ๋” ๊ธด ๋ฐฐ์—ด tmp๋ฅผ ์„ ์–ธ.

for(int i = 0; i < arr.length; ++i) {
	tmp[i] = arr[i];		// arr[i]์˜ ๊ฐ’์„ tmp[i]์— ์ €์žฅ.
    
arr = tmp; // ์ฐธ์กฐ ๋ณ€์ˆ˜ arr์ด ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๊ฐ€๋ฅดํ‚ค๊ฒŒ ๋จ.
     

์‚ฌ์‹ค ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์€ ๋น„์šฉ์ด ๊ฝค๋‚˜ ๋งŽ์ด ๋“ค๊ธฐ ๋•Œ๋ฌธ์—, ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋„‰๋„‰ํ•˜๊ฒŒ ์žก์•„ ์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๊ธด ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋„ˆ๋ฌด ํฌ๊ฒŒ ์žก์•„๋ฒ„๋ฆฌ๋ฉด Memory ๋‚ญ๋น„๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์œ„์˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ ๊ธฐ์กด์˜ 2๋ฐฐ ์ •๋„์˜ ๊ธธ์ด๋กœ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ ๋ฐฐ์—ด์€ ์ฐธ์กฐ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ž์‹ ์„ ๊ฐ€๋ฅดํ‚ค๋Š” ์ฐธ์กฐ๋ณ€์ˆ˜๊ฐ€ ์—†๋Š” ๋ฐฐ์—ด์€ ์‚ฌ์šฉํ•  ์ˆ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.  ์ด๋ ‡๊ฒŒ ์“ธ๋ชจ์—†๊ฒŒ ๋˜์–ด ๋ฒ„๋ฆฐ ๋ฐฐ์—ด์€ JVM์˜ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ์— ์˜ํ•ด์„œ ์ž๋™์œผ๋กœ Memory์—์„œ ์ œ๊ฑฐ ๋ฉ๋‹ˆ๋‹ค.

 

์ตœ๋Œ€๊ธธ์ด๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€์šด๋‹ค์˜ ๊ฐœ๋… (Delete)๋Š” ๋น„์–ด์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

 

        ๐Ÿ‘‰์ฒซ๋ฒˆ์งธ, ๋งˆ์ง€๋ง‰

              โœ๏ธ[0] ~ [๋งˆ์ง€๋ง‰]์€ ํ˜„์žฌ๊นŒ์ง€ ์ €์žฅํ•œ ๊ฐœ์ˆ˜(๊ธธ์ด)๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ๋งˆ์ง€๋ง‰์— ์ €์žฅํ•œ ์š”์†Œ๋ฒˆํ˜ธ๊ฐ€ 4๋ฒˆ์ด๋ผ๋ฉด 0๋ฒˆ ๋ถ€ํ„ฐ 4๋ฒˆ๊นŒ์ง€ 5๊ฐœ๊ฐ€                                           ์ €์žฅ๋˜์—ˆ๊ฒ ๊ตฌ๋‚˜๋ผ๊ณ  ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

        ๐Ÿ‘‰Delete์˜ ์ฐธ๊ณ ์‚ฌํ•ญ

              โœ๏ธ์ด๊ฒƒ์€ ๋ณดํ†ต 0๊ฐ’์ด ์ž๋™์œผ๋กœ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ 0๋ณด๋‹ค ํฐ ๊ฐ’๋“ค๋งŒ ์žˆ๋‹ค๋ฉด 0์„ '๋น„์–ด ์žˆ๋‹ค'๋ผ๊ณ  ํŒ๋‹จํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค.                                                                     ํ•˜์ง€๋งŒ, 0๋„ ๋ฐ์ดํ„ฐ๋กœ์จ, ํ™œ์šฉํ•œ๋‹ค๋ฉด '๋น„์–ด์žˆ๋‹ค'๋ผ๋Š” ๊ฐœ๋…์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์œ„๋ฅผ ํŒ๋‹จํ•˜์—ฌ ํ•ด๋‹นํ•˜์ง€ ์•Š๋Š” ๊ฐ’์„ ๋น„์—ˆ๋‹ค                     ๋ผ๊ณ  ์ •์˜ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ฐฐ์—ด์€ ์ถ”๊ฐ€์™€ ์‚ญ์ œ๋ฅผ ์œ„ํ•ด '๋น„์—ˆ๋‹ค'๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ผญ ์ •์˜ ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋น„์—ˆ์Œ์„ ์˜๋ฏธํ•˜๋Š” ์ •์˜๋ฅผ ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋ฉด                           ๋นˆ ์ž๋ฆฌ๋ฅผ ์ฑ„์›Œ ์‚ญ์ œ ์‹œ ์š”์†Œ๋“ค์„ ์ด๋™์‹œ์ผœ ์ฑ„์›Œ ๋ฒ„๋ฆฌ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

๐Ÿ“ ์ฝ”๋“œ ์˜ˆ์‹œ

package array_20210222;

public class ExArray01 {
	// ๋ฐฐ์—ด score๋ฅผ ํ•„๋“œ์— ์„ ์–ธ
	static int[] score;
	
	static int idx = 0;    // 0๋ฒˆ ๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฆ๊ฐ€ํ•ด ๊ฐ„๋‹ค.

	public static void main(String[] args) {
		// main method ์‹œ์ž‘ ์‹œ ๊ธธ์ด 20์ธ ๋ฐฐ์—ด ์ƒ์„ฑ.
		score = new int [20];	//๋ฐฐ์—ดํ˜• ๋ณ€์ˆ˜๋กœ score ์„ ์–ธ.
		
		// ๋ฐฐ์—ด์— ๊ฐ’ 30์„ ์ถ”๊ฐ€(์ƒ์„ฑํ•œ๋‹ค.)
		create(100); // c๋Š” ์ƒˆ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด ์ถ”๊ฐ€ํ•œ๋‹ค. ๊ฐ€์ž…, ๋“ฑ๋กํ•˜๊ธฐ ๋“ฑ
		create(50);
		create(1);
		read_list();
		
		// ์š”์†Œ๋“ค์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•  ๋ชฉ์ ์˜ '๋ชฉ๋ก๋ณด๊ธฐ(list)' ํ•จ์ˆ˜ ์„ ์–ธ. 
        // => CRUD ์ƒ์˜ R์— ํ•ด๋‹นํ•˜๋Š” Read ํ˜น์€ Retrive
		
//		read_list();
		
		// ์ˆ˜์ •์„ ํ•˜๋ ค๋ฉด ๋ˆ„๊ตฌ๋ฅผ (๋ฌด์—‡์„) ์–ผ๋งˆ๋กœ (๋ฌด์—‡์œผ๋กœ) ์ˆ˜์ •ํ•  ๊ฒƒ์ธ์ง€๊ฐ€ ์ •ํ•ด์ ธ์•ผ ํ•œ๋‹ค.
		update(1, 20);		// 1๋ฒˆ ์š”์†Œ์— ๊ฐ’์„ 20์œผ๋กœ ๋ฐ”๊พธ๊ฒ ๋‹ค.
		read_list();
		
		// 0๋ฒˆ ์š”์†Œ ์‚ญ์ œ
		delete(0);		// ์‚ญ์ œํ•  ๋Œ€์ƒ์˜ ์‹๋ณ„๊ฐ’(Index)๊ฐ’์„ ์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
		read_list();
		
		// ์œ„์˜ createํ•จ์ˆ˜๊ฐ€ 3๋ฒˆ ํ˜ธ์ถœ๋˜๋ฉด์„œ idx๋ฒˆํ˜ธ๋Š” 2์ด๋‹ค. ์•„๋ž˜ ๊ฒƒ์„ ํ•˜๋ฉด 
        // 3๋ฒˆ index์— 20์„ ๋„ฃ๊ณ , 4๋ฒˆ์— 40์„ ๋„ฃ๊ฒŒ ๋œ๋‹ค.
		create(20);
		create(40);
		read_list();
		

	}

	private static void delete(int i) {
		// ์‚ญ์ œ ์‹œ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋Š” ๊ณ ์ • ์ฆ‰, ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.
		score[i] = 0;		// ๋ฐฐ์—ด 0๋ฒˆ์งธ ๊ฐ’์„ 0์œผ๋กœ ๋ฐ”๊พธ์–ด ์ง€์› ๋‹ค.		
	}

	private static void update(int	editIndx, int newValue) {
		// TODO ๊ฐ’์„ ๋ฐ”๊พธ๋Š” ๊ธฐ๋Šฅ ์ •์˜
		score[editIndx] = newValue;
		
	}

	private static void create(int value) {
		// ๋ฐฐ์—ด์— ์ „๋‹ฌ๋ฐ›์€ ๊ฐ’์„ ์ถ”๊ฐ€(์ €์žฅ)ํ•˜๊ธฐ

		score[ idx ] = value;
		++idx;
	}

	private static void read_list() {
		// 0 ~ ๋งˆ์ง€๋ง‰ ์š”์†Œ๊นŒ์ง€ ๋ชจ๋‘ ์ถœ๋ ฅ
		String s = "{";
		for (int i = 0; i < score.length; ++i) {
			s += score[i] + ", ";
		}
		
		s += "}";
		System.out.println("Score: " + s );
	}

}

 

๊ฒฐ๊ณผ

Score: {100, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }
Score: {100, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }
Score: {0, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }
Score: {0, 20, 1, 20, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }

 

 

              โœ๏ธ ๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” Index๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ๋นˆ ๊ฐ’์ด ์ƒ๊ฒจ ๋ฒ„๋ฆฐ ๊ณต๊ฐ„์— ์ƒˆ ๊ฐ’์„ ๋ฎ์–ด์“ฐ๋Š” ๋ฐฉ๋ฒ• ์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์ˆœ์„œ๊ฐ€ ๊นจ์ ธ๋ฒ„๋ฆฌ๋Š”                           ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ“ ์ฝ”๋“œ ์˜ˆ์‹œ

package array_20210222;

public class ExArray02 {
	// ๋ฐฐ์—ด score๋ฅผ ํ•„๋“œ์— ์„ ์–ธ
	static int[] score;
	
	static int idx = 0;    // 0๋ฒˆ ๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฆ๊ฐ€ํ•ด ๊ฐ„๋‹ค.

	public static void main(String[] args) {
		// main method ์‹œ์ž‘ ์‹œ ๊ธธ์ด 20์ธ ๋ฐฐ์—ด ์ƒ์„ฑ.
		score = new int [20];	//๋ฐฐ์—ดํ˜• ๋ณ€์ˆ˜๋กœ score ์„ ์–ธ.
		
		// ๋ฐฐ์—ด์— ๊ฐ’ 30์„ ์ถ”๊ฐ€(์ƒ์„ฑํ•œ๋‹ค.)
		create(100); // c๋Š” ์ƒˆ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด ์ถ”๊ฐ€ํ•œ๋‹ค. ๊ฐ€์ž…, ๋“ฑ๋กํ•˜๊ธฐ ๋“ฑ
		create(50);
		create(1);
		read_list();
		
		// ์š”์†Œ๋“ค์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•  ๋ชฉ์ ์˜ '๋ชฉ๋ก๋ณด๊ธฐ(list)' ํ•จ์ˆ˜ ์„ ์–ธ. => CRUD ์ƒ์˜ R์— ํ•ด๋‹นํ•˜๋Š” Read ํ˜น์€ Retrive
		
//		read_list();
		
		// ์ˆ˜์ •์„ ํ•˜๋ ค๋ฉด ๋ˆ„๊ตฌ๋ฅผ (๋ฌด์—‡์„) ์–ผ๋งˆ๋กœ (๋ฌด์—‡์œผ๋กœ) ์ˆ˜์ •ํ•  ๊ฒƒ์ธ์ง€๊ฐ€ ์ •ํ•ด์ ธ์•ผ ํ•œ๋‹ค.
		update(1, 20);		// 1๋ฒˆ ์š”์†Œ์— ๊ฐ’์„ 20์œผ๋กœ ๋ฐ”๊พธ๊ฒ ๋‹ค.
		read_list();
		
		// 0๋ฒˆ ์š”์†Œ ์‚ญ์ œ
		delete(0);		// ์‚ญ์ œํ•  ๋Œ€์ƒ์˜ ์‹๋ณ„๊ฐ’(Index)๊ฐ’์„ ์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
		read_list();
		
		// ์œ„์˜ createํ•จ์ˆ˜๊ฐ€ 3๋ฒˆ ํ˜ธ์ถœ๋˜๋ฉด์„œ idx๋ฒˆํ˜ธ๋Š” 2์ด๋‹ค. ์•„๋ž˜ ๊ฒƒ์„ ํ•˜๋ฉด 3๋ฒˆ index์— 20์„ ๋„ฃ๊ณ , 4๋ฒˆ์— 40์„ ๋„ฃ๊ฒŒ ๋œ๋‹ค.
		create(20);
		create(40);
		read_list();
		

	}

	private static void delete(int i) {
		// ์‚ญ์ œ ์‹œ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋Š” ๊ณ ์ • ์ฆ‰, ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.
		if(0 <= i && i < idx) {
			// ์ธ์ ‘์š”์†Œ๋กœ ๋‹น๊ฒจ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•
			for( int k = i; k < score.length-1; ++k) {
				score[k] = score[k+1];		// ๋ฐฐ์—ด 0๋ฒˆ์งธ ๊ฐ’์„ 0+1 ๋ฒˆ์งธ ๊ฐ’์œผ๋กœ ๋ฐ”๊พธ์–ด ์ง€์› ๋‹ค.		
			}
			-- idx; // ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์ด ๋˜๋Š” ์š”์†Œ๊ฐ€ ์ค‘๋ณต๋œ๋‹ค.
		}
	}

	private static void update(int	editIndx, int newValue) {
		// ๊ฐ’์„ ๋ฐ”๊พธ๋Š” ๊ธฐ๋Šฅ ์ •์˜
		if(0 <= editIndx && editIndx < idx) {
			score[editIndx] = newValue;
		} else {
			System.out.println("๋ฒ”์œ„ ์˜ค๋ฅ˜ ์ž…๋‹ˆ๋‹ค.");
		}
	}

	private static void create(int value) {
		// ๋ฐฐ์—ด์— ์ „๋‹ฌ๋ฐ›์€ ๊ฐ’์„ ์ถ”๊ฐ€(์ €์žฅ)ํ•  ๋•Œ, ๋ฐ˜๋“œ์‹œ ๊ธธ์ด๋ฅผ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.
		if( idx < score.length ) {
			score[ idx ] = value;
			++idx;
		} else {
			System.out.println("๊ฐ’์„ ๋” ์ด์ƒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.");
		}
	}

	private static void read_list() {
		// 0 ~ ๋งˆ์ง€๋ง‰ ์š”์†Œ๊นŒ์ง€ ๋ชจ๋‘ ์ถœ๋ ฅ
		// ๋ฐฐ์—ด์— ์‚ฌ์šฉ๋˜๋Š” ๋ณ€์ˆ˜๋“ค์˜ ์˜๋ฏธ๊ฐ€ ๋ฌด์—‡?
		String s = "{";
		for (int i = 0; i < idx; ++i) {
			s += score[i] + ", ";
		}
		
		s += "}";
		System.out.println("Score: " + s );
	}

}

 

๊ฒฐ๊ณผ

Score: {100, 50, 1, }
Score: {100, 20, 1, }
Score: {20, 1, }
Score: {20, 1, 20, 40, }

 

        ๐Ÿ‘‰๋ฐฐ์—ด ์ƒ์„ฑ ์‹œ ์š”์†Œ๋“ค์˜ ์ดˆ๊ธฐ๊ฐ’

              โœ๏ธํ•„๋“œ์—์„œ ๋ฐฐ์—ด ์„ ์–ธํ•˜๊ณ , main Method์—์„œ ์ •์˜ํ•  ๋•Œ๋Š” main์ด static์œผ๋กœ ์ •์˜ ๋˜์–ด ์žˆ๋‹ค๋ฉด ํ•„๋“œ์—์„œ๋„ static์œผ๋กœ ์ •์˜ ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

        ๐Ÿ‘‰Model ์ •์˜

              โœ๏ธ๊ฐ Model ๋ณ„๋กœ CRUD๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

              โœ๏ธ์ž…์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜๋“ค์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

๊ณผ์ œ (์ฃผ์ฐจ์žฅ ์˜ˆ์ œ ํ”„๋กœ๊ทธ๋žจ)

์•„๋ž˜ ์˜ˆ์‹œ ์ฝ”๋“œ ๋ถ„์„

package array_20210222;

import java.util.Scanner;

public class ExArray03 {

	public static void main(String[] args) {
		int[] cars = new int[20];
		// ์š”์†Œ๋ฒˆํ˜ธ : ์ฃผ์ฐจ๋ฉด์˜ ๋ฒˆํ˜ธ
		//	์š”์†Œ์˜ ๊ฐ’ : ์ฃผ์ฐจ๋œ ์ฐจ๋Ÿ‰ ๋ฒˆํ˜ธ
		Scanner kb = new Scanner(System.in);
		
		while( true) {
			{// ๋ฐฐ์—ด ์š”์†Œ๋“ค์˜ ์ถœ๋ ฅ : ์ฃผ์ฐจ์žฅ ํ˜„ํ™ฉํ‘œ
				for(int i=0; i < cars.length; ++i) {
					System.out.println("["+i+"]"+cars[i] );					
				}
			}
			System.out.println(">");
			String cmd = kb.nextLine();
			if( cmd.equals("exit") ){
				// ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•œ๋‹ค.
				break;// ์ข…๋ฃŒํ•˜๊ฒ ๋‹ค. "exit"				
			}
			switch( cmd ) {
			case "in":
				System.out.println("์ฐจ๊ฐ€ ๋“ค์–ด์˜จ๋‹ค");
				{// ์ฃผ์ฐจ ๊ณต๊ฐ„์ด ์žˆ๋Š”์ง€ ์ฐพ๋Š”๋‹ค. : int[] 4์ž๋ฆฌ ์ด์ƒ, 0
					// ๊ฒ€์ƒ‰ 0 ์ด ์žˆ๋Š”์ง€ ์ฐพ๋Š”๋‹ค
					int search = 0;
					boolean has = false;
					int result = -1;
					for(int i=0; i< cars.length;++i) {
						if( cars[i] == search) {
							has = true;
							result = i;// search ์˜ ๋ฒˆํ˜ธ
							break;// stop for
						}
					}
					// ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ
					if( has) {
						System.out.println("๋นˆ ๊ณต๊ฐ„์ด ์žˆ๋‹ค > ");
						int carno = kb.nextInt(); kb.nextLine();
						int index = result;// ๊ฐ’์ด 0 ์ธ ์š”์†Œ์˜ ๋ฒˆํ˜ธ
						cars[index] = carno;// ๋นˆ ์ž๋ฆฌ์— ๋„ฃ๋Š”๋‹ค
					}else {
						System.out.println("0์ด ์—†๋‹ค -> ๋นˆ ๊ณต๊ฐ„ ์—†๋‹ค");
					}
				}
				break;
			case "out":
				System.out.println("์ฐจ๊ฐ€ ๋‚˜๊ฐ„๋‹ค > ");
				int nocar = kb.nextInt(); kb.nextLine();
				{// ์ฃผ์ฐจ ๊ณต๊ฐ„์ด ์žˆ๋Š”์ง€ ์ฐพ๋Š”๋‹ค. : int[] 4์ž๋ฆฌ ์ด์ƒ, 0
					// ๊ฒ€์ƒ‰ 0 ์ด ์žˆ๋Š”์ง€ ์ฐพ๋Š”๋‹ค
					int search = nocar;
					boolean has = false;
					int result = -1;
					for(int i=0; i< cars.length;++i) {
						if( cars[i] == search) {
							has = true;
							result = i;
							break;// stop for
						}
					}
					// ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ
					if( has) {
						System.out.println("์ฐจ๊ฐ€ ์žˆ๋‹ค");
						// ๋น„์šด๋‹ค : ์ฃผ์ฐจ๊ณต๊ฐ„์— ๋Œ€ํ•œ ํ‘œํ˜„
						cars[result] = 0;
					}else {
						System.out.println("์ฐจ๊ฐ€ ์—†๋‹ค");
					}
				}
				break;
			}// end switch
		}// end while
	}
}

 

        ๐Ÿ‘‰ While๋ฌธ ์ด์ „ ์ฝ”๋“œ ๋ถ„์„

public class ExArray03 {

	public static void main(String[] args) {
		int[] cars = new int[20];
		// ์š”์†Œ๋ฒˆํ˜ธ : ์ฃผ์ฐจ๋ฉด์˜ ๋ฒˆํ˜ธ
		//	์š”์†Œ์˜ ๊ฐ’ : ์ฃผ์ฐจ๋œ ์ฐจ๋Ÿ‰ ๋ฒˆํ˜ธ
		Scanner kb = new Scanner(System.in);

int[] cars = new int[20];  => intํ˜• ๋ฐฐ์—ด์ธ cars์˜ ๋ฐฐ์—ด ๊ธธ์ด๋ฅผ 20์œผ๋กœ ํ•˜์—ฌ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Scanner kb = new Scanner(System.in);  => ํ‚ค๋ณด๋“œ ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›๊ธฐ ์œ„ํ•ด Scannerํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜์—ฌ ์ธ์ž๊ฐ’์— System.in์„ ์ฃผ๊ณ , ๊ทธ ํ•จ์ˆ˜๋ฅผ kb๋ผ๋Š” ๋ณ€์ˆ˜์— ๋„ฃ์Šต๋‹ˆ๋‹ค.

 

        ๐Ÿ‘‰ While๋ฌธ์—์„œ switch๋ฌธ ์ด์ „๊นŒ์ง€ ์ฝ”๋“œ ๋ถ„์„

		while( true) {
			{// ๋ฐฐ์—ด ์š”์†Œ๋“ค์˜ ์ถœ๋ ฅ : ์ฃผ์ฐจ์žฅ ํ˜„ํ™ฉํ‘œ
				for(int i=0; i < cars.length; ++i) {
					System.out.println("["+i+"]"+cars[i] );					
				}
			}
			System.out.println(">");
			String cmd = kb.nextLine();
			if( cmd.equals("exit") ){
				// ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•œ๋‹ค.
				break;// ์ข…๋ฃŒํ•˜๊ฒ ๋‹ค. "exit"				
			}

while ( true ) {                                     => while๋ฌธ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์ด๋ฉฐ, ์ธ์ž๊ฐ’์œผ๋กœ true๋ฅผ ์ฃผ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ง€์†์ ์œผ๋กœ ๋ฐ˜๋ณตํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ ์ž…๋‹ˆ๋‹ค.

for( int i = 0; i < cars.length; ++i {      => for๋ฌธ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์ด๋ฉฐ, i๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™” ํ•˜์—ฌ ์„ ์–ธํ•œ ๋’ค cars ๋ฐฐ์—ด ๊ธธ์ด ๋ฏธ๋งŒ์ผ ๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๊ณ ,                                                                            i๋ฅผ 1์”ฉ ์ฆ๊ฐ€ ์‹œํ‚ต๋‹ˆ๋‹ค.

System.out.println("[" + i + "]" + cars[i]);      =>    ๋ผ์ธ ๋‹จ์œ„๋กœ ์ถœ๋ ฅ์„ ํ•˜๋Š”๋ฐ, ๊ทธ ์ธ์ž๊ฐ’์œผ๋กœ ๋Œ€๊ด„ํ˜ธ ์‚ฌ์ด์— i๊ฐ’ ์ฆ‰, ์ˆœ์„œ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , cars๋ฐฐ์—ด์˜                                                                                           Index๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค๋Š” ์˜๋ฏธ ์ž…๋‹ˆ๋‹ค. i๋Š” cars ๋ฐฐ์—ด์˜ ๊ธธ์ด๋งŒํผ 1์”ฉ ์ฆ๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— i๋ฅผ ์ธ์ž๋กœ                                                                                             ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

System.out.println(">");                              => ์‚ฌ์šฉ์ž์—๊ฒŒ ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›๊ธฐ ์œ„ํ•œ ํ‘œ์‹œ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

String cmd = kb.nextLine();                        => ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์•„ ์ €์žฅํ•˜๊ณ  ์žˆ๋˜ kb๋ณ€์ˆ˜๋ฅผ nextLine();ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์„                                                                                                         ๋ฐ›์•„ ๊ทธ ๊ฐ’์„ ๋ฌธ์ž์—ด ๋ณ€์ˆ˜ cmd์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

if ( cmd.equals("exit") ) {                            => ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ๊ฐ’ ๋ฌธ์ž์—ด์„ ๋‹ด๊ณ  ์žˆ๋Š” cmd๋ณ€์ˆ˜ ์•ˆ์˜ ๊ฐ’์ด ๋ฌธ์ž์—ด exit์™€ ๊ฐ™๋‹ค๋ฉด if๋ฌธ์—                                                                                                               ์ง„์ž…ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

break;                                                       => "exit" ๊ฐ’์ด ์ž…๋ ฅ๋˜์—ˆ๋‹ค๋ฉด while๋ฌธ์„ ์ข…๋ฃŒํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ ์ž…๋‹ˆ๋‹ค.

 

        ๐Ÿ‘‰ Switch ๋ฌธ์— Case "in"์— ๋Œ€ํ•œ ๋ถ„์„

			case "in":
				System.out.println("์ฐจ๊ฐ€ ๋“ค์–ด์˜จ๋‹ค");
				{// ์ฃผ์ฐจ ๊ณต๊ฐ„์ด ์žˆ๋Š”์ง€ ์ฐพ๋Š”๋‹ค. : int[] 4์ž๋ฆฌ ์ด์ƒ, 0
					// ๊ฒ€์ƒ‰ 0 ์ด ์žˆ๋Š”์ง€ ์ฐพ๋Š”๋‹ค
					int search = 0;
					boolean has = false;
					int result = -1;
					for(int i=0; i< cars.length;++i) {
						if( cars[i] == search) {
							has = true;
							result = i;// search ์˜ ๋ฒˆํ˜ธ
							break;// stop for
						}
					}
					// ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ
					if( has) {
						System.out.println("๋นˆ ๊ณต๊ฐ„์ด ์žˆ๋‹ค > ");
						int carno = kb.nextInt(); kb.nextLine();
						int index = result;// ๊ฐ’์ด 0 ์ธ ์š”์†Œ์˜ ๋ฒˆํ˜ธ
						cars[index] = carno;// ๋นˆ ์ž๋ฆฌ์— ๋„ฃ๋Š”๋‹ค
					}else {
						System.out.println("0์ด ์—†๋‹ค -> ๋นˆ ๊ณต๊ฐ„ ์—†๋‹ค");
					}
				}
				break;

case "in" :                                                     =>  ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ๊ฐ’์ด in์ด๋ผ๋Š” ๋ฌธ์ž์—ด์ด๋ผ๋ฉด ์ด ๊ณณ์œผ๋กœ ๋“ค์–ด ๊ฐ‘๋‹ˆ๋‹ค.

System.out.println("์ฐจ๊ฐ€ ๋“ค์–ด์˜จ๋‹ค");           => ์ฐจ๊ฐ€ ๋“ค์–ด์˜จ๋‹ค๋Š” ๋ฌธ์žฅ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

int search = 0;                                            => ์ฐจ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  search ๋ณ€์ˆ˜๋ฅผ ์ •์ˆ˜ํ˜•์œผ๋กœ 0๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™” ํ•˜์—ฌ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. ์ •์ˆ˜ํ˜•์œผ๋กœ ์„ ์–ธํ•˜๋Š” ์ด์œ ๋Š” cars๋ผ๋Š” ๋ฐฐ์—ด์ด ์ •์ˆ˜ํ˜•์ด๊ธฐ ๋•Œ๋ฌธ ์ž…๋‹ˆ๋‹ค. search๊ฐ’์ด 0์ด๋ผ๋ฉด ์ฐจ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ‘œํ˜„ ๋ฉ๋‹ˆ๋‹ค.

boolean has = false;                                   => boolean Type์˜ has ๋ณ€์ˆ˜๋ฅผ false๋กœ ์ดˆ๊ธฐํ™” ํ•˜์—ฌ ์ฐจ๊ฐ€ ์žˆ๋‹ค์™€ ์—†๋‹ค๋ฅผ ํŒ๋ณ„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

int result = -1;                                            => ๋ฐ‘์—์„œ ์ฐจ๋Ÿ‰ ๋ฒˆํ˜ธ๋ฅผ ์ €์žฅํ•  index๋ฅผ ์—ฐ๊ฒฐํ•ด ์ฃผ๊ธฐ ์œ„ํ•ด result ๋ณ€์ˆ˜๋ฅผ -1๋กœ ์ดˆ๊ธฐํ™” ํ•˜์—ฌ ์„ ์–ธ ํ•ฉ๋‹ˆ๋‹ค.

for(int i = 0; i < cars.length; ++i {              => for๋ฌธ์„ ์‹œ์ž‘ํ•˜์—ฌ ์ฐจ๊ฐ€  ์ฃผ์ฐจ์žฅ์— ์žˆ๋Š”์ง€ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

if( cars[i] == search) {                                => cars์˜ i๋ฒˆ์งธ index๋ฒˆํ˜ธ์™€ serarch๊ฐ€ ๊ฐ™๋‹ค๋ฉด ์ฆ‰, search์˜ ๊ฐ’์ด 0์ธ๋ฐ, cars ๋ฐฐ์—ด์˜ i๋ฒˆ์งธ index ๋ฒˆํ˜ธ๊ฐ€                                                                                ๊ฐ™๋‹ค๋ฉด if๋ฌธ์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

has = true;                                                 => has ๋ณ€์ˆ˜๋ฅผ true๋กœ ๋ณ€๊ฒฝํ•ด ์ฃผ์–ด ์ฐจ๊ฐ€ ์žˆ๋‹ค๋ผ๋Š” ์˜๋ฏธ๋ฅผ ์ค๋‹ˆ๋‹ค. ์ด case๋ฌธ์ด "in"์ด๋ผ๋Š” ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์•˜์„ ๋•Œ                                                                             ๋“ค์–ด์˜ค๋Š” ๊ฒƒ์ด๊ณ , ๊ทธ๋ ‡๋‹ค๋ฉด ์ฐจ๊ฐ€ ๋“ค์–ด์˜จ ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— has๋ฅผ true๋กœ ๋ฐ”๊ฟ” ํ•ด๋‹น ์ž๋ฆฌ์— ์ฐจ๊ฐ€ ์žˆ๋‹ค๊ณ                                                                          ํ‘œํ˜„ ํ•ด ์ฃผ๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

result = i;                                                   => ์•„๋ž˜ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์— ์‚ฌ์šฉํ•  if๋ฌธ์—์„œ index์™€ ์—ฐ๊ฒฐ๋  result ๋ณ€์ˆ˜์— i๊ฐ’์„ ๋„ฃ์–ด์ค˜์„œ ํ•ด๋‹น ์ž๋ฆฌ์— ์ฐจ๊ฐ€ ๋“ค์–ด๊ฐ„ ๊ฒƒ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

break;                                                       => ํ•ด๋‹น for๋ฌธ์„ ์ข…๋ฃŒํ•˜๊ณ , ์•„๋ž˜๋กœ ๋‚ด๋ ค ๊ฐ‘๋‹ˆ๋‹ค.

if(has) {                                                    => ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋กœ ์‚ฌ์šฉํ•  if๋ฌธ์„ ์‹œ์ž‘ํ•˜๋Š”๋ฐ, ์กฐ๊ฑด์œผ๋กœ has ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, has ๋ณ€์ˆ˜๊ฐ€ ์ฐธ                                                                                                    ์ด๋ผ๋ฉด (์œ„์˜ has ๋ณ€์ˆ˜์— true๊ฐ’์„ ์คฌ๊ธฐ ๋•Œ๋ฌธ์— ์ฐธ ์ž…๋‹ˆ๋‹ค.) if๋ฌธ์„ ์‹คํ–‰ํ•ด๋ผ ์ž…๋‹ˆ๋‹ค.

System.out.println("๋นˆ ๊ณต๊ฐ„์ด ์žˆ๋‹ค > ");   => has ๋ณ€์ˆ˜๊ฐ€ ์ฐธ์ด๋ผ๋Š” ๊ฒƒ์€ ์ฃผ์ฐจ์žฅ ๊ณต๊ฐ„์ด ๋น„์–ด์žˆ๋‹ค๋Š” ๊ฒƒ์„ ํ‘œํ˜„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.                                                                                                                         ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž์—๊ฒŒ ๋นˆ ๊ณต๊ฐ„์ด ์žˆ๋‹ค๊ณ  ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•ด ์ถœ๋ ฅ์„ ๋จผ์ € ํ•ฉ๋‹ˆ๋‹ค.

int carno = kb.nextInt(); kb.nextLine();   => ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜ carno์€ ์ฐจ๋Ÿ‰๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜ ์ž…๋‹ˆ๋‹ค. ๋นˆ ๊ณต๊ฐ„์ด ์žˆ๋‹ค๋ผ๊ณ  ์ถœ๋ ฅ์ด ๋œ  ๋’ค ์ฐจ๋Ÿ‰์ด                                                                                    ์ฃผ์ฐจ๋˜๋ฉด ํ•ด๋‹น ์ž๋ฆฌ์— ์ฐจ๋Ÿ‰๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ ํ•ด ์ฃผ์–ด ์ฐจ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. carno๋ณ€์ˆ˜์— ์ •์ˆ˜์™€                                                                             ๋ฌธ์ž๋ฅผ ๋ชจ๋‘๋ฐ›์•„ ๋„ฃ๊ธฐ ์œ„ํ•ด nextInt(); ์™€ nextLine(); ํ•จ์ˆ˜๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 int index = result;                                  => ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜ index์— index๋ณ€์ˆ˜์™€ ์—ฐ๊ฒฐ๋  result๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋„ฃ์–ด ์ค๋‹ˆ๋‹ค.

else {                                                      => if๋ฌธ์˜ ์กฐ๊ฑด์ด ์ฐธ์ด ์•„๋‹ˆ๋ผ๋ฉด ์ฆ‰, has์˜ ๊ฐ’์ด false๋ผ๋ฉด ์•„๋ž˜๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

System.out.println("0์ด ์—†๋‹ค -> ๋นˆ ๊ณต๊ฐ„์ด ์—†๋‹ค");          =>     ์ฐจ๊ฐ€ ๋“ค์–ด๊ฐˆ ๊ณต๊ฐ„์ด ์—†๋‹ค๋ผ๋Š” ๊ฒƒ์„ ์ถœ๋ ฅ ํ•ฉ๋‹ˆ๋‹ค.

}

}

break;                                                     => break๋Š” ์ž๊ธฐ๊ฐ€ ์†ํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ๋‚˜๊ฐ„๋‹ค๋Š” ์˜๋ฏธ ์ž…๋‹ˆ๋‹ค. switch๋ฌธ์„ ๋‚˜๊ฐ€๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ด๊ณ ,                                                                                                         case "in"์˜ ๊ณ„์‚ฐ์„ ๋๋‚ด๊ฒ ๋‹ค๋Š” ์˜๋ฏธ ์ž…๋‹ˆ๋‹ค.

 

       ๐Ÿ‘‰ Switch ๋ฌธ์— Case "out"์— ๋Œ€ํ•œ ๋ถ„์„

			case "out":
				System.out.println("์ฐจ๊ฐ€ ๋‚˜๊ฐ„๋‹ค > ");
				int nocar = kb.nextInt(); kb.nextLine();
				{// ์ฃผ์ฐจ ๊ณต๊ฐ„์ด ์žˆ๋Š”์ง€ ์ฐพ๋Š”๋‹ค. : int[] 4์ž๋ฆฌ ์ด์ƒ, 0
					// ๊ฒ€์ƒ‰ 0 ์ด ์žˆ๋Š”์ง€ ์ฐพ๋Š”๋‹ค
					int search = nocar;
					boolean has = false;
					int result = -1;
					for(int i=0; i< cars.length;++i) {
						if( cars[i] == search) {
							has = true;
							result = i;
							break;// stop for
						}
					}
					// ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ
					if( has) {
						System.out.println("์ฐจ๊ฐ€ ์žˆ๋‹ค");
						// ๋น„์šด๋‹ค : ์ฃผ์ฐจ๊ณต๊ฐ„์— ๋Œ€ํ•œ ํ‘œํ˜„
						cars[result] = 0;
					}else {
						System.out.println("์ฐจ๊ฐ€ ์—†๋‹ค");
					}
				}
				break;
			}// end switch
		}// end while
	}
}

 

case "out":                                         => ์‚ฌ์šฉ์ž ์ž…๋ ฅ๊ฐ’์ด out์ด๋ผ๋ฉด ์ด ๊ณณ์œผ๋กœ ๋“ค์–ด์˜ต๋‹ˆ๋‹ค.  ์ฆ‰, ์ฐจ๊ฐ€ ๋‚˜๊ฐ„๋‹ค์— ๋Œ€ํ•œ ์—ฐ์‚ฐ์„ ํ•˜๋Š” ๊ณณ ์ž…๋‹ˆ๋‹ค.

System.out.println("์ฐจ๊ฐ€ ๋‚˜๊ฐ„๋‹ค > "); => ์ฐจ๊ฐ€ ๋‚˜๊ฐ„๋‹ค๋ผ๊ณ  ์ถœ๋ ฅ์„ ํ•ด ์ค๋‹ˆ๋‹ค.

์ด์ œ ์•„๋ž˜๋ถ€ํ„ฐ๋Š” cars๋ผ๋Š” ๋ฐฐ์—ด์— ์š”์†Œ๊ฐ’์ด 0์ธ ๊ฐ’ ์ฆ‰, ์ฐจ๊ฐ€ ๋น„์–ด์žˆ๋‹ค๋Š” ํ‘œํ˜„์„ ์ฐพ๊ธฐ ์œ„ํ•œ ์—ฌ์ •์ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.


int nocar = kb.nextInt(); kb.nextLine();  => ๋ฌธ์ž์—ด๊ณผ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ ๋ฐ›์€ kb๋ณ€์ˆ˜์˜ ๊ฐ’์„ nocar๋ผ๋Š” ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜์— ๋‹ด์Šต๋‹ˆ๋‹ค.                                                                                                                        nocar๋ณ€์ˆ˜๋Š” ์ฐจ๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜ ์ž…๋‹ˆ๋‹ค.

boolean has = false;                          => has ๋ณ€์ˆ˜๋ฅผ false๋กœ ๋ฐ”๊ฟ”์คŒ์œผ๋กœ์จ, ์ฐจ๊ฐ€ ์—†๋‹ค๋ผ๋Š” ๊ฒƒ์„ ํ‘œํ˜„ ํ•ด ์ค๋‹ˆ๋‹ค.

int result = -1;                                   => ์ฃผ์ฐจ์žฅ์„ ํ‘œํ˜„ํ–ˆ๋˜ ๋ฐฐ์—ด์—์„œ ์š”์†Œ๋ฒˆํ˜ธ๋กœ ์‚ฌ์šฉ๋˜๊ฒŒ ํ•  result๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋ฉฐ,                                                                                                                        -1๋กœ ์ดˆ๊ธฐํ™” ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ 0์œผ๋กœ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜๋˜ ์–ด๋–ค ๊ฐ’์œผ๋กœ ์„ ์–ธํ•ด๋„ ์ƒ๊ด€ ์—†์Šต๋‹ˆ๋‹ค.

for(int i = 0; i < cars.length; ++i)      => ์ด์ œ ์ฐจ๊ฐ€ ๋‚˜๊ฐ€๋Š” ๊ฒƒ์„ ํ‘œํ˜„ํ•ด ์ฃผ๊ธฐ ์œ„ํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์ฐจ์žฅ ๊ณต๊ฐ„์„ ํ‘œํ˜„ํ–ˆ๋˜ cars๋ผ๋Š”                                                                                              ๋ฐฐ์—ด์˜ ๊ธธ์ด ๋งŒํผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

if( cars[i] == search) {                       => for๋ฌธ์•ˆ์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— i์˜ ์š”์†Œ๋ฒˆํ˜ธ๋Š” ๊ณ„์† ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. cars๋ผ๋Š” ๋ฐฐ์—ด์˜ ์š”์†Œ๊ฐ’์ด search ์ฆ‰,                                                                                                ์ฐจ๋Ÿ‰ ๋ฒˆํ˜ธ๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๋ณ€์ˆ˜์™€ ๋น„๊ตํ•ด์„œ ๊ฐ’์ด ์žˆ๋‹ค๋ฉด ์ฐจ๊ฐ€ ์žˆ๋‹ค๋ผ๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

has = true;                                        => ์ฐจ๊ฐ€ ์žˆ๋‹ค, ์—†๋‹ค๋ฅผ ํ‘œํ˜„ํ•˜๋Š” has ๋ณ€์ˆ˜๋ฅผ true๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์ฐจ๊ฐ€ ๋‚˜๊ฐ”์Œ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

result = i;                                          => ์•„๋ž˜ ๋‹ค์‹œ ์‹œ์ž‘๋  if๋ฌธ์—์„œ ๋‹ค์‹œ ์ฐจ๊ฐ€ ์žˆ๋‹ค๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ, cars๋ณ€์ˆ˜์˜ ์š”์†Œ๋ฒˆํ˜ธ๋กœ ์‚ฌ์šฉ๋  ๊ฐ’์„ ์œ„ํ•ด                                                                                             result๊ฐ’์— ๋ฐ˜๋ณต์— ๋”ฐ๋ผ ์ฆ๊ฐ€ํ•˜๋Š” i๊ฐ’์„ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.

break;                                               => ์ฐจ๊ฐ€ ์žˆ๋‹ค๊ฐ€ ๋‚˜๊ฐ”์Œ์— ๋Œ€ํ•œ ๊ณ„์‚ฐ์„ ์œ„ํ•œ for๋ฌธ์˜ ๋ฐ˜๋ณต์„ ๋น ์ ธ ๋‚˜๊ฐ‘๋‹ˆ๋‹ค.

 

์ด์ œ ์•„๋ž˜๋ถ€ํ„ฐ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•˜์—ฌ ์—ฌ์ •์„ ์‹œ์ž‘ ํ•ฉ๋‹ˆ๋‹ค.


if ( has ) {                                         => has ๋ณ€์ˆ˜๋Š” ์ฐจ๊ฐ€ ์žˆ๋‹ค, ์—†๋‹ค๋ฅผ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด๊ณ , true๊ฐ’์œผ๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค๋Š” ๊ฒƒ์€ ์ฐจ๊ฐ€ ์žˆ๋‹ค๋ผ๋Š” ์˜๋ฏธ ์ž…๋‹ˆ๋‹ค.                                                                                  ์ด๊ฒƒ์ด ์ฐธ์ด๋ผ๋ฉด ์ฐจ๊ฐ€ ์žˆ๋‹ค๊ฒ ์ง€์š”?

System.out.println("์ฐจ๊ฐ€ ์žˆ๋‹ค")       => ์ฐจ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ถœ๋ ฅ ํ•ด์ค๋‹ˆ๋‹ค.


์ด์ œ ์ฐจ๊ฐ€ ๋‚˜๊ฐ”์œผ๋‹ˆ ๋ฐฐ์—ด์˜ ์š”์†Œ๊ฐ’์„ ๋น„์›Œ ์ค๋‹ˆ๋‹ค.

cars[result] = 0;                             => ๋ฐฐ์—ด์€ ์ˆœ์ฐจ์ ์œผ๋กœ ์‚ฝ์ž…์ด ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ž„์˜๋กœ ์ˆ˜์ •์ด๋‚˜, ์ถ”๊ฐ€๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์ด๊ฒƒ์€ ์ž„์˜์˜ ์ˆœ์„œ๋กœ                                                                        ์ฐจ๊ฐ€ ์žˆ๋‹ค๊ฐ€ ๋‚˜๊ฐ„ ๊ณต๊ฐ„์„ ๋น„์—ˆ๋‹ค๋ผ๊ณ  ํ‘œํ˜„ ํ•ด ์ฃผ๊ธฐ ์œ„ํ•ด ์œ„์—์„œ ๋‚˜๊ฐ„ ๊ณต๊ฐ„์— ๋Œ€ํ•˜์—ฌ ์•Œ๋ ค์ฃผ์—ˆ๋˜ for๋ฌธ์—์„œ i ๊ฐ’์„                                                                        result๊ฐ’์—  ๋„ฃ์–ด์คŒ์œผ๋กœ ํ˜„์žฌ cars[result]๋Š” ํ•ด๋‹น ๊ณต๊ฐ„์„ ๊ฐ€๋ฅดํ‚ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.                                                                                                                         ์ด๊ฒƒ์„ 0์œผ๋กœ ํ•ด์คฌ๋‹ค๋Š” ๊ฒƒ์€ ๋‹ค์‹œ ๋น„์–ด์žˆ๋‹ค๊ฐ€ ๋˜์—ˆ๋‹ค๋ผ๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

else {                                             => has๊ฐ€ false๋ผ๋ฉด ์ฐจ๊ฐ€ ์—†๋‹ค๋ผ๋Š” ์˜๋ฏธ๊ฒ ์ง€์š”?

System.out.println("์ฐจ๊ฐ€ ์—†๋‹ค")     => ์ฐจ๊ฐ€ ์—†๋‹ค๊ณ  ์ถœ๋ ฅ ํ•ฉ๋‹ˆ๋‹ค.

break;                                           => ์ž์‹ ์ด ์†ํ–ˆ๋˜ ๋ฐ˜๋ณต๋ฌธ์ธ switch๋ฌธ์„ ๋‚˜๊ฐ€๊ณ  ๊ฒฐ๊ตญ while๋ฌธ์œผ๋กœ ๋Œ์•„๊ฐ€๊ฒ ๋„ค์š”!

}

 


์ฃผ๋‹ˆํ•˜๋ž‘์˜ ๊ธ€์ด ๋งˆ์Œ์— ๋“œ์…จ๋‚˜์š”? ๊ตฌ๋…๊ณผ ๊ณต๊ฐ! ๊ทธ๋ฆฌ๊ณ , ๋Œ“๊ธ€์€ ์ฃผ๋‹ˆํ•˜๋ž‘์—๊ฒŒ ๋งŽ์€ ํž˜์ด ๋ฉ๋‹ˆ๋‹ค!

728x90
๋ฐ˜์‘ํ˜•