๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
1. Java ์ž๋ฐ”/1_0. ์ฑ…, ๊ฐ•์˜

[์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ1] 9์ฃผ์ฐจ ๊ฐ•์˜_ํ•„๊ธฐ

by ๋น„์†Œ์•ผ 2022. 4. 24.
728x90

[์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ1] 9์ฃผ์ฐจ ๊ฐ•์˜_ํ•„๊ธฐ

๋‹ค์ฐจ์› ๋ฐฐ์—ด, ๋ฉ”์†Œ๋“œ์˜ ๋ฐฐ์—ด ๋ฆฌํ„ด, ์˜ˆ์™ธ์ฒ˜๋ฆฌ

1์ฐจ์‹œ ๋‹ค์ฐจ์› ๋ฐฐ์—ด

 

 

๋‹ค์ฐจ์› ๋ฐฐ์—ด // ์ฃผ๋กœ 2์ฐจ์› ๋ฐฐ์—ด ์‚ฌ์šฉ
int[][] i = new int[2][5]; // intํ˜• ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ํฌ๊ธฐ๊ฐ€ 2ํ–‰ 5์—ด์ธ ๋ฐฐ์—ด i ์„ ์–ธ ๋™์‹œ์— ์ƒ์„ฑ
int[][] intArray = {{0, 1, 2}, {3, 4, 5}, {6, 7, 8}}; // ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ  ๋™์‹œ์— ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ์œผ๋กœ ๊ฐ’์„ ์ดˆ๊ธฐํ™”ํ•˜๋ฉด new ์—ฐ์‚ฐ์ž๋กœ ๋”ฐ๋กœ ๋ฐฐ์—ด ๊ฐ์ฒด์˜ ์ƒ์„ฑ์„ ํ•  ํ•„์š” ์—†๋‹ค.
๋ฐฐ์—ด ๊ฐ์ฒด๊ฐ€ ์ด 3๊ฐœ๊ฐ€ ๋งŒ๋“ค์–ด์ง„๋‹ค. // ํ–‰ ๋ฐฐ์—ด 1๊ฐœ, ๊ฐ ํ–‰์— ๋Œ€ํ•œ ์—ด ๋ฐฐ์—ด 2๊ฐœ

2์ฐจ์› ๋ฐฐ์—ด์˜ length ํ•„๋“œ // ์ž๋ฐ”์—์„œ๋Š” ๋น„์ •๋ฐฉํ˜• ๋ฐฐ์—ด ๋•Œ๋ฌธ์— length ํ•„๋“œ๋กœ ๋ฐ˜๋ณต๋ฌธ์„ ์ œ์–ดํ•œ๋‹ค.
i.length // 2์ฐจ์› ๋ฐฐ์—ด i์˜ ํ–‰์˜ ๊ฐœ์ˆ˜, 2
i[n].length // 2์ฐจ์› ๋ฐฐ์—ด i์˜ n๋ฒˆ์งธ ํ–‰์˜ ์—ด์˜ ๊ฐœ์ˆ˜

์ •๋ฐฉํ˜• ๋ฐฐ์—ด // ๊ฐ ํ–‰์— ๋Œ€ํ•œ ์—ด์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์€ ๋ฐฐ์—ด
๋น„์ •๋ฐฉํ˜• ๋ฐฐ์—ด // ๊ฐ ํ–‰์— ๋Œ€ํ•œ ์—ด์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ๋ฐฐ์—ด
๋น„์ •๋ฐฉํ˜• ๋ฐฐ์—ด์˜ ์ƒ์„ฑ // ํ–‰์— ๋Œ€ํ•œ ๋ฐฐ์—ด ๊ฐ์ฒด ๋จผ์ € ์ƒ์„ฑํ•˜๊ณ , ๊ฐ ํ–‰์— ๋Œ€ํ•œ ์—ด ๋ฐฐ์—ด ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ๋Œ€์ž…ํ•œ๋‹ค.

int[][] i = new int[4][];
i[0] = new int[1];
i[1] = new int[2];
i[2] = new int[3];
i[3] = new int[4];

2์ฐจ์‹œ ๋ฉ”์†Œ๋“œ์˜ ๋ฐฐ์—ด ๋ฆฌํ„ด

 

๋ฉ”์†Œ๋“œ์˜ ๋ฐฐ์—ด ๋ฆฌํ„ด // ๋ฐฐ์—ด์˜ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ๋ฆฌํ„ด
๋ฉ”์†Œ๋“œ ์„ ์–ธ๋ถ€์˜ ๋ฆฌํ„ด ํƒ€์ž…๊ณผ ๋ฉ”์†Œ๋“œ ๋‚ด๋ถ€์˜ ๋ฆฌํ„ด๋ฌธ์˜ ๋ฆฌํ„ด ํƒ€์ž…์ด ์ผ์น˜ ํ•ด์•ผํ•จ

int[] makeArray() {
    int[] temp = new int[4];
    return temp;
}

String[] args๋Š” main() ๋ฉ”์†Œ๋“œ์— ์ธ์ž๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•

3์ฐจ์‹œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ

 

์ปดํŒŒ์ผ ์—๋Ÿฌ compile error // ๋ฌธ๋ฒ• ์˜ค๋ฅ˜, ์ปดํŒŒ์ผํ•  ๋•Œ ๋ฐœ๊ฒฌ

์˜ˆ์™ธ exception // ์˜ค๋™์ž‘์ด๋‚˜ ๊ฒฐ๊ณผ์— ์•…์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜, ์‹คํ–‰ ์ค‘ ๋ฐœ์ƒ

์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐ์ฒด์— ์ •๋ณด๋ฅผ ๋‹ด์•„ ๋ฆฌํ„ด
์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋ฉด ๊ฐ•์ œ ์ข…๋ฃŒ๋จ
 

์˜ˆ์™ธ ํƒ€์ž…(์˜ˆ์™ธ ํด๋ž˜์Šค) ์˜ˆ์™ธ ๋ฐœ์ƒ ๊ฒฝ์šฐ ํŒจํ‚ค์ง€
ArithmeticException ์ •์ˆ˜๋ฅผ 0์œผ๋กœ ๋‚˜๋ˆŒ ๋•Œ ๋ฐœ์ƒ java.lang
NullPointerException null ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ฐธ์กฐํ•  ๋•Œ ๋ฐœ์ƒ java.lang
ClassCastException ๋ณ€ํ™˜ํ•  ์ˆ˜ ์—†๋Š” ํƒ€์ž…์œผ๋กœ ๊ฐ์ฒด๋ฅผ ๋ณ€ํ™˜ํ•  ๋•Œ ๋ฐœ์ƒ java.lang
OutOfMemoryError ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ ๋ฐœ์ƒ java.lang
ArrayIndexOutOfBoundsException ๋ฐฐ์—ด์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ์ ‘๊ทผ ์‹œ ๋ฐœ์ƒ java.lang
IllegalArgumentException ์ž˜๋ชป๋œ ์ธ์ž ์ „๋‹ฌ ์‹œ ๋ฐœ์ƒ java.lang
IOException ์ž…์ถœ๋ ฅ ๋™์ž‘ ์‹คํŒจ ๋˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ ์‹œ ๋ฐœ์ƒ java.io
NumberFormatException ๋ฌธ์ž์—ด์ด ๋‚˜ํƒ€๋‚ด๋Š” ์ˆซ์ž์™€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ํƒ€์ž…์˜ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ ์‹œ ๋ฐœ์ƒ java.lang
InputMismatchException Scanner ํด๋ž˜์Šค์˜ nextInt()๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์ •์ˆ˜๋กœ ์ž…๋ ฅ๋ฐ›๊ณ ์ž ํ•˜์˜€์ง€๋งŒ, ์‚ฌ์šฉ์ž๊ฐ€ 'a' ๋“ฑ๊ณผ ๊ฐ™์ด ๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ java.util


try {
์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ์‹คํ–‰๋ฌธ
}
catch(์ฒ˜๋ฆฌํ•  ์˜ˆ์™ธ ํƒ€์ž… ์„ ์–ธ) {
์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฌธ
}
finally { // ์ƒ๋žต ๊ฐ€๋Šฅ, ์ž๋ฐ”์—๋งŒ ์žˆ๊ณ , C/C++์—๋Š” ์—†๋‹ค.
๋ฌด์กฐ๊ฑด ์‹คํ–‰๋˜๋Š” ๋ฌธ์žฅ
}

728x90