[Java] ๋ฐฐ์—ด (01.06)

๋Š˜๋ณดยท2025๋…„ 1์›” 6์ผ

Java

๋ชฉ๋ก ๋ณด๊ธฐ
8/17
post-thumbnail

๐Ÿ“Œ ์•„๋ž˜์˜ ๋‚ด์šฉ์€ ์ •์  ๋ฐฐ์—ด์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃจ๋ฉฐ, ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜์ธ ์ปฌ๋ ‰์…˜์—์„œ ๋™์  ๋ฐฐ์—ด์„ ๋‹ค๋ฃฌ๋‹ค.

๋ฐฐ์—ด

  • ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.
  • ๋ฐฐ์—ดํ˜• ๋ณ€์ˆ˜๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ’์„ ํ•œ๋ฒˆ์— ์ €์žฅํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ •์  ๋ฐฐ์—ด์ด๋ฉฐ, ์„ ์–ธ ๋ฐ ์ƒ์„ฑ ์‹œ ๊ธธ์ด๋ฅผ ์ง€์ •ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.
  • import java.util.Arrays; ํ•ด์ฃผ๊ธฐ

์„ ์–ธํ•˜๊ธฐ

  • ๋ณ€์ˆ˜ ํƒ€์ž… [ ] ๋ณ€์ˆ˜; ( ex> int [ ] arr; )
  • ๋ณ€์ˆ˜ ํƒ€์ž… ๋ณ€์ˆ˜ [ ]; ( ex> int arr [ ]; )

์ƒ์„ฑํ•˜๊ธฐ

  • ๋ณ€์ˆ˜ ํƒ€์ž… ๋ณ€์ˆ˜ [์‚ฌ์ด์ฆˆ] ( ex> int array [] = new int [8] )

๐Ÿ’ก new๋ฅผ ํ†ตํ•ด ์ƒ์„ฑํ•˜๋ฉฐ, ์‚ฌ์ด์ฆˆ๋ฅผ ์ง€์ •ํ•ด ์ฃผ์–ด์•ผํ•œ๋‹ค. ๋˜ํ•œ, ์ƒ์„ฑ ์‹œ์—๋Š” ํƒ€์ž…๋ณ„ ์ดˆ๊ธฐ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜์–ด ์ฑ„์›Œ์ง„๋‹ค.

โ—์œ„์˜ ์˜ˆ์‹œ๋Š” intํ˜• ๊ฐ’์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š” ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๊ณ , ๋ฐฐ์—ดํ˜• ๋ณ€์ˆ˜์—๋Š” ๊ฐ™์€ ํƒ€์ž…๋งŒ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค.


์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ•

{ } ์ดˆ๊ธฐํ™”

int [ ] arr = {1, 2, 3, 4, ... }

for๋ฌธ ์ดˆ๊ธฐํ™”

		int[] Arr = {1, 2, 3, 4, 5};
		for (int i = 0; i < Arr.length; i++) {
			intArray[i] = i;
		}

๐Ÿ’ก ๋ณ€์ˆ˜๋ช….length: ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ์•Œ๋ ค์ค€๋‹ค.

๊ฐ™์€ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”

๐Ÿ’ก Arrays.fill (๋ฐฐ์—ด ๋ณ€์ˆ˜๋ช…, ๋„ฃ์„ ๊ฐ’) : ๋ชจ๋“  ๊ฐ’์„ ๋™์ผํ•˜๊ฒŒ ์ฑ„์›Œ์ค€๋‹ค.


๋ณต์‚ฌ

๐Ÿ“Œ ๋ฐฐ์—ด๊ณผ ๊ฐ™์€ ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜๋“ค์€ ์‹ค์ œ ๊ฐ’์ด ์•„๋‹Œ ์ฃผ์†Œ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ๋œ๋‹ค.

์–•์€ ๋ณต์‚ฌ

์–•์€ ๋ณต์‚ฌ๋ž€ ๋Œ€์ž… ์—ฐ์‚ฐ์ž =์„ ์ด์šฉํ•˜์—ฌ ๋ณต์‚ฌํ•  ํ•ด ์‹ค์ œ ๊ฐ’์ด 1๊ฐœ๋กœ ์œ ์ง€๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

int[] a = { 1, 2, 3, 4 };
int[] b = a; 
b[0] = 3; 
System.out.println(a[0]); 

โ—int[] b = a; ๋ฐฉ์‹์œผ๋กœ ์–•์€ ๋ณต์‚ฌ๋ฅผ ํ•  ๊ฒฝ์šฐ b๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ์›๋ณธ๊ฐ’ (a)์— ์˜ํ–ฅ์„ ๋ผ์น  ์ˆ˜ ์žˆ๋‹ค.
ย ย ย ย ๋”ฐ๋ผ์„œ, ์œ„์˜ ์ฝ”๋“œ ๊ฒฐ๊ณผ์—์„œ ์–•์€ ๋ณต์‚ฌ๋กœ ์ธํ•ด ์›๋ณธ ๊ฐ’(a)๋„ ๋ณ€ํ™”ํ•˜๊ฒŒ ๋œ๋‹ค.

๊นŠ์€ ๋ณต์‚ฌ

  • for๋ฌธ์„ ํ†ตํ•ด ๊บผ๋‚ด์„œ ๋ณต์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ• ---------- (1)
int a [] = {1, 2, 3};
int b [] = new int[a.length]; 
for (int i = 0; i < a.length; i++) {
 	b[i] = a[i];
}

์œ„์™€ ๊ฐ™์ด ๋ณต์‚ฌํ•  ๊ฒฝ์šฐ ์›๋ณธ๊ฐ’ (a)์— ์˜ํ–ฅ์„ ๋ผ์น˜์ง€ ์•Š๋Š”๋‹ค.

  • clone ( ) ๋ฉ”์„œ๋“œ (ํ•จ์ˆ˜) ---------- (2)
int a [] = {1, 2, 3};
int b [] = a.clone();

โ— ๋‹จ, 2์ฐจ์› ๋ฐฐ์—ด ์ด์ƒ์ผ ๊ฒฝ์šฐ์—๋Š” ์–•์€ ๋ณต์‚ฌ๊ฐ€ ๋œ๋‹ค.

  • Array.copyOf (๋ณ€์ˆ˜, ๋ณ€์ˆ˜.length ) ---------- (3)
int a [] = {1, 2, 3};
int b [] = Array.copyOf(a, a.length);

๐Ÿ’ก 2์ฐจ์› ๋ฐฐ์—ด ์ด์ƒ์ธ ๊ฒฝ์šฐ์—๋„ ๊นŠ์€ ๋ณต์‚ฌ๊ฐ€ ๋œ๋‹ค.


String ๊ธฐ๋Šฅ

length

๋ณ€์ˆ˜. length๋Š” String ์ฆ‰, ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.

String str = "ABCD";
int b = str.length;

๐Ÿ’ก length์˜ ๊ฒฝ์šฐ intํ˜•์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.


charAt

๋ณ€์ˆ˜.charAt (index)๋Š” String ์ธ๋ฑ์Šค์˜ ๋ฌธ์ž์„ ๊ฐ€์ง€๊ณ  ์˜ฌ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

String str = "ABCD";
char b = str.charAt (2);

๐Ÿ’ก charAt์˜ ๊ฒฝ์šฐ charํ˜•์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์œ„์˜ ์˜ˆ์‹œ์—์„œ์˜ b๋Š” 'C'๋ผ๋Š” ๋ฌธ์ž๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.


substring

๋ณ€์ˆ˜.substring (from index, to index)๋Š” String์—์„œ from ~ to์— ํ•ด๋‹นํ•˜๋Š” ์ธ๋ฑ์Šค์˜ ๋ฌธ์ž์—ด ์–ป์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.

String str = "ABCD";
String b = str.substring(0, 3);

๐Ÿ’ก substring์˜ ๊ฒฝ์šฐ Stringํ˜•์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์œ„์˜ ์˜ˆ์‹œ์—์„œ์˜ b๋Š” 'D'๋ผ๋Š” ๋ฌธ์ž๋ฅผ ์ œ์™ธํ•œ 'ABC' ๋ฌธ์ž์—ด์ด ๋œ๋‹ค.

๐Ÿ’ก ์•„๋ž˜์™€ ๊ฐ™์ด (0, 1)์„ ํ•˜๊ฒŒ๋˜๋ฉด "A"๋งŒ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

String str = "ABCD";
String b = str.substring(0, 1); // "A"
String str = "ABCD";
String b = str.substring(2, 3); // "C"

equals

๋ณ€์ˆ˜.equals (String ๋น„๊ตํ•  ๊ฐ’)๋Š” ๋ณ€์ˆ˜์™€ ๋น„๊ตํ•  ๊ฐ’์ด ๊ฐ™์€์ง€ ํ™•์ธํ•˜๊ณ , ๊ฐ™๋‹ค๋ฉด true ๋‹ค๋ฅด๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

String str = "ABCD";
String newStr = "ABCD";
boolean result = newStr.equals (str);

๐Ÿ’ก equals์˜ ๊ฒฝ์šฐ booleanํ˜•์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์œ„์˜ ์˜ˆ์‹œ์—์„œ์˜ str๊ณผ newStr์€ ๋™์ผํ•œ ๋ฌธ์ž์—ด์ด๊ธฐ ๋•Œ๋ฌธ์— true๊ฐ€ ๋ฐ˜ํ™˜๋œ๋‹ค. ๋”ฐ๋ผ์„œ result๋Š” true๊ฐ€ ๋œ๋‹ค.

๐Ÿ“Œ Scanner๋ฅผ ํ†ตํ•ด ์ž…๋ ฅํ•œ ๊ฐ’์ด ๋‚ด๊ฐ€ ์ง€์ •ํ•œ ๋ฌธ์ž์—ด๊ณผ ๊ฐ™์€์ง€ ํ™•์ธํ•  ๊ฒฝ์šฐ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

Scanner sc = new Scanner(System.in);
while("๋".equals(sc.next())) { }

toCharArray

๋ณ€์ˆ˜.toCharArray ()๋Š” ๋ฌธ์ž์—ด์„ char [ ] (๋ฌธ์ž ๋ฐฐ์—ด)๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค.

String str = "ABCD";
char arr [] = str.toCharArray();

๐Ÿ’ก toCharArray์˜ ๊ฒฝ์šฐ ๋ฌธ์ž ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.


new String

new String( char [ ] )๋Š” char [ ] (๋ฌธ์ž ๋ฐฐ์—ด)์„ ๋ฌธ์ž์—ด ๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค.

char[] charArray = {'A', 'B', 'C'};
String charArrayString = new String(charArray);

๐Ÿ’ก new String์˜ ๊ฒฝ์šฐ String์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.


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

  • 2์ฐจ์› ์ด์ƒ์˜ ๋ฐฐ์—ด๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ชจ๋‘ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์„ ์–ธ ๋ฐ ์ƒ์„ฑ, ์ดˆ๊ธฐํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์„ ์–ธํ•˜๊ธฐ

  • ๋ณ€์ˆ˜ ํƒ€์ž… [ ][ ] ๋ณ€์ˆ˜; ( ex> int [ ] [ ] arr; )
  • ๋ณ€์ˆ˜ ํƒ€์ž… ๋ณ€์ˆ˜ [ ][ ]; ( ex> int arr [ ] [ ]; )
  • ๋ณ€์ˆ˜ ํƒ€์ž… [ ] ๋ณ€์ˆ˜ [ ]; ( ex> int [ ] arr [ ]; )

์ƒ์„ฑํ•˜๊ธฐ

  • ๋ณ€์ˆ˜ ํƒ€์ž… ๋ณ€์ˆ˜ [์‚ฌ์ด์ฆˆ][์‚ฌ์ด์ฆˆ] ( ex> int array [ ] [ ]= new int [2] [3] )

๐Ÿ’ก ๋‹ค์ฐจ์› ๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ ์ฒซ๋ฒˆ์งธ [ ]๊ฐ€ ๋ฆฌ์ŠคํŠธ์˜ ๊ฐœ์ˆ˜, ๋‘๋ฒˆ์งธ [ ]๊ฐ€ ๋ฆฌ์ŠคํŠธ ๋‚ด์˜ ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค๊ณ  ย ย ย ย ย ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•˜๋‹ค.
ย ย ย ย ย ์œ„์™€ ๊ฐ™์ด [2] [3] ์ธ ๊ฒฝ์šฐ์—๋Š” [ [๊ฐ’1, ๊ฐ’2, ๊ฐ’3] , [๊ฐ’1, ๊ฐ’2, ๊ฐ’3] ] ํ˜•ํƒœ์ด๋‹ค.

๐Ÿ“Œ 2์ฐจ์› ์ด์ƒ์˜ ๋ฐฐ์—ด์€ ๋‘๋ฒˆ์งธ [ ]๋ฅผ ์ƒ๋žต์‹œ ๊ธธ์ด๊ฐ€ ์ •ํ•ด์ง€์ง€ ์•Š์•„ ๊ฐ๊ฐ ๋‹ค๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜๋ฅผ ์„ ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๊ฐ€๋ณ€ ๋ฐฐ์—ด์ด๋ผ๊ณ  ํ•œ๋‹ค.

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

โ—์„ ์–ธ ๋ฐ ์ƒ์„ฑํ•œ arr์˜ 0๋ฒˆ์งธ ๋ฆฌ์ŠคํŠธ์˜ ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜๋Š” 2๊ฐœ, 1๋ฒˆ์งธ ๋ฆฌ์ŠคํŠธ์˜ ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜๋Š” 4๊ฐœ, 3๋ฒˆ์งธ ๋ฆฌ์ŠคํŠธ์˜ ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜๋Š” 1๊ฐœ๋กœ ์„ ์ •๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ•

{ } ์ดˆ๊ธฐํ™”

int [ ] arr = { {1, 2} , {3, 4, 5} ... }

โ—๊ฐ€๋ณ€ ๋ฐฐ์—ด์„ ์œ„์™€ ๊ฐ™์ด ์ค‘๊ด„ํ˜ธ๋กœ ์ดˆ๊ธฐํ™” ํ•  ๋•Œ ์ง€์ •ํ•ด๋„ ๋œ๋‹ค.

for๋ฌธ ์ดˆ๊ธฐํ™”

int[] [] Arr = new int [2][3];
for (int i = 0; i < array.length; i++) {
    for (int j = 0; j < array[i].length; j++) {
        arr[i][j] = 0;
    }
}
profile
๋ˆ„์›Œ๋งŒ ์žˆ์ง€ ๋ง๊ณ  ์ œ๋ฐœ ๋ญ๋ผ๋„ ํ•˜์ž.

0๊ฐœ์˜ ๋Œ“๊ธ€