๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“— Book/์ž๋ฐ”์˜ ์ •์„

5-2์žฅ String๋ฐฐ์—ด

by hyeon-z 2023. 3. 29.

 

1. String๋ฐฐ์—ด์˜ ์„ ์–ธ๊ณผ ์ƒ์„ฑ

String[] name = new String[3];

3๊ฐœ์˜ Stringํƒ€์ž…์˜ ์ฐธ์กฐ ๋ณ€์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฐ„์ด ๋งˆ๋ จ๋˜๊ณ  ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜์˜ ๊ธฐ๋ณธ ๊ฐ’์€ null์ด๋ฏ€๋กœ ๊ฐ ์š”์†Œ์˜ ๊ฐ’์€ null๋กœ ์ดˆ๊ธฐํ™”๋œ๋‹ค.

* null์€ ์–ด๋– ํ•œ ๊ฐ์ฒด๋„ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋Š” ๋œป

 

- ๋ณ€์ˆ˜์˜ ํƒ€์ž…์— ๋”ฐ๋ฅธ ๊ธฐ๋ณธ ๊ฐ’

 

2. String๋ฐฐ์—ด์˜ ์ดˆ๊ธฐํ™”

String[] name = new String[] {"Kim", "Park", "Yi"};
String[] name = {"Kim", "Park", "Yi"};  // new String[] ์ƒ๋žต ๊ฐ€๋Šฅ

ํŠน๋ณ„ํžˆ Stringํด๋ž˜์Šค๋งŒ “Kim”๊ณผ ๊ฐ™์ด ํฐ ๋”ฐ์˜ดํ‘œ๋งŒ์œผ๋กœ ๊ฐ„๋ฝํžˆ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ํ—ˆ์šฉ๋œ๋‹ค.

์›๋ž˜ String์€ ํด๋ž˜์Šค์ด๋ฏ€๋กœ new์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

 

- ํฐ ๋”ฐ์˜ดํ‘œ๋ฅผ ํ†ตํ•œ ๊ฐ์ฒด ์ƒ์„ฑ

String[] name = new String[3];
name[0] = "Kim";
name[1] = "Park";
name[2] = "Yi";

 

๊ฐ„๋žตํ•˜๊ฒŒ ๊ทธ๋ฆฐ ๊ฒƒ

 

- new์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•œ ๊ฐ์ฒด ์ƒ์„ฑ

String[] name = new String[3];
name[0] = new String("Kim");
name[1] = new String("Park");
name[2] = new String("Yi");

 

์ฐธ์กฐํ˜• ๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ, ๋ฐฐ์—ด์— ์ €์žฅ๋˜๋Š” ๊ฒƒ์€ ๊ฐ์ฒด์˜ ์ฃผ์†Œ์ด๋‹ค.

 

 

3. char๋ฐฐ์—ด๊ณผ String ํด๋ž˜์Šค

๐Ÿ’ก String ํด๋ž˜์Šค๋Š” char๋ฐฐ์—ด์— ๊ธฐ๋Šฅ(๋ฉ”์„œ๋“œ)์„ ์ถ”๊ฐ€ํ•œ ๊ฒƒ์ด๋‹ค.

 

char๋ฐฐ์—ด๊ณผ String ํด๋ž˜์Šค์˜ ์ฐจ์ด์ 

 

String๊ฐ์ฒด(๋ฌธ์ž์—ด)์€ ์ฝ์„ ์ˆ˜๋งŒ ์žˆ์„  ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜๋Š” ์—†๋‹ค.

 

String str = "Java";
str = str + "8"; // "Java8"์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์ด str์— ์ €์žฅ๋œ๋‹ค.
System.out.println(str๏ผ‰; // "Java8"

๋ฌธ์ž์—ด str์˜ ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ์ƒˆ๋กœ์šด ๋‚ด์šฉ์˜ ๋ฌธ์ž์—ด์ด ์ƒ์„ฑ๋œ๋‹ค.

 

String ํด๋ž˜์Šค์˜ ์ฃผ์š” ๋ฉ”์„œ๋“œ

 

 

1. char charAt(int index)

๋ฌธ์ž์—ด์—์„œ ํ•ด๋‹น ์œ„์น˜(index)์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

String str = "ABCDE";
char ch = str.charAt(3); // ๋ฌธ์ž์—ด str์˜ 4๋ฒˆ์งธ ๋ฌธ์ž 'D'๋ฅผ ch์— ์ €์žฅ

 

2. int length()

๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

String str = "ABCDE";
System.out.println(str.length());  // 5

 

3. String substring(int from, int now)

๋ฌธ์ž์—ด์—์„œ ํ•ด๋‹น ๋ฒ”์œ„(from ~ to)์— ์žˆ๋Š” ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. (to๋Š” ๋ฒ”์œ„์— ํฌํ•จ๋˜์ง€ ์•Š์Œ)

String str = "012345";

String tmp = str.substring(1, 4);  // str์—์„œ index๋ฒ”์œ„ 1 ~ 3์˜ ๋ฌธ์ž๋“ค์„ ๋ฐ˜ํ™˜
System.out.println(tmp);  // "123"

 

4. boolean equals (Object obj)

๋ฌธ์ž์—ด์˜ ๋‚ด์šฉ์ด obj์™€ ๊ฐ™์€์ง€ ํ™•์ธํ•œ๋‹ค. ๊ฐ™์œผ๋ฉด ๊ฒฐ๊ณผ๋Š” true, ๋‹ค๋ฅด๋ฉด false๊ฐ€ ๋œ๋‹ค

String str = "abc";

if(str.equals("abc")) {  // str์™€ "abc"๊ฐ€ ๋‚ด์šฉ์ด ๊ฐ™์€์ง€ ํ™•์ธ
		...
}

๊ธฐ๋ณธํ˜• ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋น„๊ตํ•˜๋Š” ๊ฒฝ์šฐ:  ==

๋ฌธ์ž์—ด์˜ ๋‚ด์šฉ์„ ๋น„๊ตํ•˜๋Š” ๊ฒฝ์šฐ: equals() → ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„, equalsIgnoreCase() → ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ X

 

5. char toCharArray()

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

char[] chArr = {'A', 'B', 'C'};

String str = new String(chArr);  // char๋ฐฐ์—ด -> String
char[] tmp = str.toCharArray();  // String -> char๋ฐฐ์—ด

 

4. ์ปค๋งจ๋“œ ๋ผ์ธ์„ ํ†ตํ•ด ์ž…๋ ฅ๋ฐ›๊ธฐ

๐Ÿ’ก java “main๋ฉ”์„œ๋“œ๊ฐ€ ๋‹ด๊ธด ํด๋ž˜์Šค ์ด๋ฆ„” ๋ณ€์ˆ˜ 1 ๋ณ€์ˆ˜ 2

 

c:\jdk1.8\work\ch5>java MainTest abc 123

args[0]์€ “abc”์ด๊ณ  args[1]์€ “123”์ด๋‹ค.

์ปค๋งจ๋“œ๋ผ์ธ์„ ํ†ตํ•ด ์ž…๋ ฅ๋œ ๋‘ ๋ฌธ์ž์—ด์€ String๋ฐฐ์—ด์— ๋‹ด๊ฒจ์„œ MainTestํด๋ž˜์Šค์˜ main๋ฉ”์„œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜(args)์— ์ „๋‹ฌ๋œ๋‹ค.

 

C:\jdk1.8\work\ch5>java MainTest abc 123 "Hello world"

์ปค๋งจ๋“œ๋ผ์ธ์— ์ž…๋ ฅ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๊ณต๋ฐฑ ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž…๋ ฅ๋  ๊ฐ’์— ๊ณต๋ฐฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํฐ๋”ฐ์˜ดํ‘œ(”)๋กœ ๊ฐ์‹ธ์ฃผ์–ด์•ผ ํ•œ๋‹ค.

๋˜ํ•œ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด๋„ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž์—ด๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค.

 

C:\jdk1.8\work\ch5>java MainTest

์ปค๋งจ๋“œ๋ผ์ธ์—์„œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ํฌ๊ธฐ๊ฐ€ 0์ธ ๋ฐฐ์—ด์ด ์ƒ์„ฑ๋˜์–ด args.length์˜ ๊ฐ’์€ 0์ด ๋œ๋‹ค.

 

 

Reference

์ž๋ฐ”์˜ ์ •์„ - ๋‚จ๊ถ ์„ฑ

 

๋Œ“๊ธ€