๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Programming/Programming Language

JAVA์˜ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ(String): ์ž…๋ ฅํ•˜๊ธฐ, ํ•œ ์ž์”ฉ ์ฝ๊ธฐ, ์ž๋ฅด๊ธฐ

 

 

 21.07.15 ์ž๋ฐ”๋กœ ์ œ๋Œ€๋กœ ์ฝ”๋”ฉ์„ ์ฒ˜์Œ ์‹œ์ž‘ํ•ด๋ดค๋‹ค๊ฐ€ ๊ธฐ์ดˆ ๋ฌธ๋ฒ•์— ํ˜ธ๋˜๊ฒŒ ๋‹นํ•œ ๋‚ .

 ํŠนํžˆ String์— ์ œ๋Œ€๋กœ ๋Œ€์˜€๋‹ค...

 ์ •๋ฆฌํ•ด๋ณธ๋‹ค.

 

 

 


1. ๋ฌธ์ž์—ด ์ž…๋ ฅ๋ฐ›๊ธฐ

 

 ๋ฌธ์ž์—ด ํฌํ•จ ์—ฌ๋Ÿฌ ์ž…๋ ฅ์„ ๋ฐ›์„ ๋•Œ์—๋Š” ๐Ÿ’ก Scanner ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

Scanner sc = new Scanner(System.in);
String str1 = sc.next();
String str2 = sc.nextLine();
int num1 = sc.nextInt();
double num2 = sc.nextDouble();

 

 ์—ฌ๊ธฐ์„œ ์ •๋ง๋กœ ์ฃผ์˜ํ•  ์ !

 next()์™€ nextLine()์˜ ์ฐจ์ด์ด๋‹ค.

 

-

 next() : ๋ฌธ์ž ํ˜น์€ ๋ฌธ์ž์—ด์„ ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋‹จ์–ด, ํ˜น์€ ํ•œ ๋ฌธ์ž์”ฉ ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋‹ค.

 ๋”ฐ๋ผ์„œ ์œ„ ์˜ˆ์‹œ ์ค‘ str1์— 'Hello World!'๋ฅผ ์ž…๋ ฅํ•˜๋ฉด 'Hello'๋งŒ ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค. '\n' ๋ฌธ์ž๋ฅผ ๋ฌด์‹œํ•œ๋‹ค.

-

 nextLine() : ๋ฌธ์ž ํ˜น์€ ์—”ํ„ฐ๋ฅผ ์น˜๊ธฐ ์ „๊นŒ์ง€์˜ ๋ฌธ์žฅ ์ „์ฒด๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. '\n'์„ ํฌํ•จํ•˜๋Š” ํ•œ ๋ผ์ธ์„ ์ฝ๊ณ , '\n'์„ ๋ฒ„๋ฆฐ ๋‚˜๋จธ์ง€๋งŒ ๋ฆฌํ„ดํ•œ๋‹ค.

 

 ์ด ๋•Œ ๋‘˜์˜ ๊ฒฐ์ •์ ์ธ ์ฐจ์ด์ ์€ '๊ฐœํ–‰๋ฌธ์ž์˜ ๋ฌด์‹œ' ์œ ๋ฌด์ด๋‹ค.

 ์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•ด๋ณธ๋‹ค.

 

Scanner sc = new Scanner(System.in);

int num = sc.nextInt();
String str = sc.nextLine();

 

 1. num์— '5'๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ์น˜๋ฉด, ๋ฒ„ํผ์—๋Š” 5\n์ด ๋“ค์–ด์˜จ๋‹ค.

 2. nextInt()๋Š” ๋ถ„๋ฆฌ์ž๋ฅผ ์ œ์™ธํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ € ์ค‘์— 5๋งŒ ๊ฐ€์ ธ์™€์„œ ๋ฒ„ํผ์—๋Š” '\n'๋งŒ์ด ๋‚จ๊ฒŒ๋œ๋‹ค.

 3. nextLine()์— ์ž…๋ ฅ์„ ๋ฏธ์ฒ˜ ๋„ฃ๊ธฐ ์ „์— nextLine()์€ ๋จผ์ € ๋ฒ„ํผ์— ๋‚จ์€ '\n'์„ ์ฝ์–ด๋“ค์—ฌ ํ•  ์ผ์„ ์ข…๋ฃŒํ•œ๋‹ค.

 

 ์œ„์™€ ๊ฐ™์€ ์ผ์„ ๋ง‰๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

 

โœ”๏ธ ์ฒซ ๋ฒˆ์งธ, nextLine() ๋Œ€์‹  next()๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ. 

โœ”๏ธ ๋‘ ๋ฒˆ์งธ, nextInt() ๋‹ค์Œ์œผ๋กœ ์ž…๋ ฅ ๋ฐ›์•„์•ผ ํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ๊ณต๋ฐฑ์„ ํฌํ•จํ•œ ๋ฌธ์ž์—ด์ด๋ผ๋ฉด sc.nextLine() ์ค„์„ ์„ ํ–‰ํ•˜์—ฌ ์ถ”๊ฐ€ํ•  ๊ฒƒ.

โœ”๏ธ ์„ธ ๋ฒˆ์งธ, nextInt() ๋Œ€์‹  Integer.parseInt(sc.nextLine()); ์„ ์‚ฌ์šฉํ•  ๊ฒƒ.

 

 ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฐœํ–‰๋ฌธ์ž ํฌํ•จ ํ•œ ์ค„์„ ์ฝ์–ด์˜จ ๋‹ค์Œ ์ •์ˆ˜ํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

 

 

 

 

 


 2. String ํ•œ ๋ฌธ์ž์”ฉ ๊ฐ€์ ธ์˜ค๊ธฐ

 

๐Ÿ’ก charAt() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 ๊ด„ํ˜ธ ์•ˆ์— ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค. ๊ณต๋ฐฑ ํฌํ•จํ•˜์—ฌ, ํ•œ ๊ธ€์ž์”ฉ ์ฝ์–ด๋ณด๋Š” ์ฝ”๋“œ๋ฅผ ์งค ์ˆ˜ ์žˆ๋‹ค. 

String str = sc.nextLine();	// str์€ ๊ณต๋ฐฑ์ด ์—†๋Š” ๋ฌธ์ž์—ด
String[] strArr = new String[str.length()];

for(int i=0; i< str.length(); i++){
	char ch = str.charAt(i);
    strArr[i] = ch;
}
String str = "SSAFY 6๊ธฐ"

for (int i=0; i < str.length(); i++) {
	System.out.println( str.charAt(i) );
}


// ๊ฒฐ๊ณผ
S
S
A
F
Y

6
๊ธฐ

 

 

 

 

 

 

 

 


 3. ๋ฌธ์ž์—ด ์ž๋ฅด๊ธฐ

 

 ์ฒซ ๋ฒˆ์งธ,๐Ÿ’กsplit() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 

 ๋ฌธ์ž์—ด์„ ๋ถ„ํ• ํ•  ๊ธฐ์ค€์ด ๋˜๋Š” ๋ฌธ์ž๋ฅผ ํ•จ์ˆ˜์— ์ง€์ •ํ•˜๋ฉด ๋œ๋‹ค.

 

 - ๊ธฐ์ค€ ๋ฌธ์ž๋Œ€๋กœ ์ž๋ฅด๊ธฐ

String str = "์•ˆ๋…•ํ•˜์„ธ์š”";
String[] arr = str.split("");

// arr ๊ฒฐ๊ณผ
['์•ˆ','๋…•','ํ•˜','์„ธ','์š”']
String phone = "010-5050-5009";
String[] arr = phone.split("-");

// arr ๊ฒฐ๊ณผ
['010', '5050', '5009']

 

- ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ

 String[] split(String regex, int limit)

String str = "You are beautiful";
String[] arr = str.split(" ", 2);	// ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ์ž๋ฅด๊ธฐ

// arr ๊ฒฐ๊ณผ
['You', 'are beautiful']

 

 

 

 ๋‘ ๋ฒˆ์งธ, ๐Ÿ’กsubstring() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 ์ธ์ž๋กœ ์ „๋‹ฌ๋œ index๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ž๋ฅด๊ณ  String์„ ๋ฆฌํ„ดํ•œ๋‹ค.

String str = "Don't Look Back In Anger";
String result1 = str.substring(0, 10);
String result2 = str.substring(11);

// ๊ฒฐ๊ณผ
result1: Don't Look
result2: Back In Anger

 

 - ์ธ์ž๋ฅผ ํ•˜๋‚˜๋งŒ ์ „๋‹ฌํ•˜๋ฉด ๊ทธ ๊ฐ’์€ beginIndex๋กœ, substring()์€ begin์„ ํฌํ•จํ•˜์—ฌ ๋งˆ์ง€๋ง‰๊นŒ์ง€๋ฅผ ์ž˜๋ผ์„œ ๋ฆฌํ„ดํ•œ๋‹ค.

 - ์ธ์ž๋ฅผ ๋‘ ๊ฐœ๋ฅผ ์ „๋‹ฌํ•˜๋ฉด ๊ทธ ๊ฐ’๋“ค์€ beginIndex์™€ endIndex์ด๋‹ค. begin์„ ํฌํ•จํ•˜์—ฌ end ์ด์ „๊นŒ์ง€๋ฅผ ์ž˜๋ผ์„œ ๋ฆฌํ„ดํ•œ๋‹ค.

 

 

 

 

 

 

 ์–ด๋ ต๋‹ค ์–ด๋ ค์›Œ.....

 

 

 

 

 

 

 

๐Ÿ’™ ๐Ÿ’™ ๐Ÿ’™

 

 

๏ผฐ๏ฝ๏ฝ“๏ฝ”๏ฝ…๏ฝ„ ๏ผข๏ฝ™ ๏ผณ๏ผก๏ผน

๐˜›๐˜ฉ๐˜ข๐˜ฏ๐˜ฌ๐˜ด ๐˜ง๐˜ฐ๐˜ณ ๐˜ณ๐˜ฆ๐˜ข๐˜ฅ๐˜ช๐˜ฏ๐˜จ