๐™น๐šŠ๐šŸ๐šŠ

[JAVA] String ๋ฌธ์ž์—ด ๊ธธ์ด / ๋ฐฐ์—ด ๊ธธ์ด / ๋ฌธ์ž ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ / Integer.pagseInt() / (int) String

ํ•ด๋ฒ„๋‹ˆ 2023. 8. 15. 17:40
๋ฐ˜์‘ํ˜•

๊ถ๊ธˆ์ฆ

String message = "12345";

 

String์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆซ์ž๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐ‘ ์ฝ”๋“œ์ฒ˜๋Ÿผ ํ•˜๋‚˜ ํ•˜๋‚˜ ์ž˜๋ผ์„œ ๋ฐฐ์—ด์— ๋‹ด์„ ์ˆ˜ ์žˆ์„๊นŒ? 

 

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

 

์— ๋Œ€ํ•œ ๊ถ๊ธˆ์ฆ์ด ์žˆ์–ด ์ •๋ฆฌ๊ธ€์„ ์ž‘์„ฑํ•ด๋ณด๊ฒŒ ๋์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

 

 

 

 

 

 

1. chatAt() ์„ ์ด์šฉ

 

์ „์ฒด์ ์ธ ์ฝ”๋“œ

public class Main {
	public static void main(String args[]) throws IOException{
		String message = "12345";
		int[] arr = new int[message.length()];
		
		System.out.println("๋ฌธ์ž 0์ด ์ˆซ์ž๋กœ : " + (int)'0');
		System.out.println("๋ฌธ์ž 1์ด ์ˆซ์ž๋กœ : " + (int)'1');
		System.out.println("๋ฌธ์ž 2์ด ์ˆซ์ž๋กœ : " + (int)'2');
		System.out.println("๋ฌธ์ž 3์ด ์ˆซ์ž๋กœ : " + (int)'3');
		
		System.out.print("arr[] (0 ๋นผ๊ธฐ ์ „) : ");
		for(int i=0; i<arr.length; i++) {
			arr[i] = (int)message.charAt(i);
			System.out.print(arr[i] + "\t");
		}
		
		System.out.print("\narr[] (0 ๋นผ๊ณ ๋‚œ ํ›„) : ");
		for(int i=0; i<arr.length; i++) {
			arr[i] = (int)message.charAt(i) - (int)'0';
			System.out.print(arr[i] + "\t");
		}
	}	
}

 

 

 

 

 

 

 

 

์ƒ์„ธ ์„ค๋ช…

String message = "12345";
int[] arr = new int[message.length()];

message.length() ๋ฅผ ์ด์šฉํ•˜์—ฌ int ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ์žก์•„์ค€๋‹ค.

 

 

 

 

 

 

 

for(int i=0; i<arr.length; i++) {
	arr[i] = (int)message.charAt(i);
	System.out.print(arr[i] + "\t"); // [49, 50, 51, 52, 53]
}

for๋ฌธ์„ ์ด์šฉํ•˜์—ฌ message.charAt(i)๋ฅผ ๊ตฌํ•ด์ค€ ํ›„ intํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค.

arr[i] = (int)message.charAt(i); 

 

 

์–ด๋ผ!! ๊ทผ๋ฐ ๋ฐ˜ํ™˜ ๊ฐ’์ด ๋‚ด๊ฐ€ ์›ํ–ˆ๋˜ [1, 2, 3, 4, 5] ๊ฐ€ ์•„๋‹Œ [49, 50, 51, 52, 53] ์ด ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค.

 

 

 

 

 

 

 

ASCII CODE ๋•Œ๋ฌธ์—

 

charAt์€ ์•„์Šคํ‚ค์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์›ํ•˜๋˜ ์ˆซ์ž์™€ ๋‹ค๋ฅด๊ฒŒ ๋‚˜์˜ค๋Š” ๊ฒƒ์ด๋‹ค.

charAt์œผ๋กœ ์ž๋ฅด๊ฒŒ ๋˜๋ฉด String์ด ์•„๋‹Œ char ํƒ€์ž…์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์•„์Šคํ‚ค์ฝ”๋“œ๋กœ ๋ณ€ํ™˜์ด ๋œ๋‹ค.

(charํ˜•์€ intํ˜•์œผ๋กœ ๋ณ€ํ™˜์‹œ ascii code๋กœ ๋ณ€ํ™˜๋จ)

์œ„๋ฅผ ์ž˜ ์‚ดํŽด๋ณด๋ฉด 0์€ 48 / 1์€ 49 ... ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋œ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฉด..?

 

๊ทธ๋ž˜์„œ 0๋งŒํผ์˜ ํฌ๊ธฐ๋ฅผ ๋นผ์ค€๋‹ค๋ฉด 0์€ 0 / 1์€ 1 ... ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ?

 

 

 

 

for(int i=0; i<arr.length; i++) {
	arr[i] = (int)message.charAt(i) - (int)'0';
	System.out.print(arr[i] + "\t");	// 	[1, 2, 3, 4, 5]
}

 ์ด๋ ‡๊ฒŒ ํ•˜๋‚˜ ํ•˜๋‚˜๋ฅผ charAt์œผ๋กœ ์ชผ๊ฐœ์ค€ ๋‹ค์Œ int ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•ด์„œ int๋ฐฐ์—ด์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ์›ํ•˜๋Š” [1, 2, 3, 4, 5] ๊ฐ’์ด ๋‚˜์˜ค๋Š” ๊ฑธ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค

 

 

 

 

 

 

 

 

2. split()์œผ๋กœ ๊ตฌํ•˜๊ธฐ

 

์ „์ฒด์ ์ธ ์ฝ”๋“œ

import java.io.IOException;

public class Main {
	public static void main(String args[]) throws IOException{
		String message = "12345";
		String[] messageArr = message.split("");
		int[] arr = new int[messageArr.length];
		
		for(int i=0; i<arr.length;i++) {
			arr[i] = Integer.parseInt(messageArr[i]);
			System.out.print(arr[i] + "\t");
		}
	}
}

 

 

 

 

 

 

 

์„ธ๋ถ€ ์„ค๋ช…

String[] messageArr = message.split(""); 
// ["1", "2," "3", "4", "5"]

split์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ž๋ฅผ ์ž๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

 

message.split("") → ํ•œ ๊ธ€์ž์”ฉ ์ž๋ฅด๊ธฐ

message.split(" ") → ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ์ž๋ฅด๊ธฐ

๋“ฑ๋“ฑ split์„ ์ด์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ž๋ฅผ ์ž๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

 

๊ทธ๋ ‡๊ฒŒ ["1", "2", "3", "4", "5"] ์ธ String ๋ฐฐ์—ด์ด ๋งŒ๋“ค์–ด์กŒ๋‹ค.

 

 

 

 

 

 

 

int[] arr = new int[messageArr.length];
		
for(int i=0; i<arr.length;i++) {
	arr[i] = Integer.parseInt(messageArr[i]);
	System.out.print(arr[i] + "\t");	// [1, 2, 3, 4, 5]
}

String ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋งŒํผ(messageArr.length) int ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•ด์ค€๋‹ค. 

 

Integer.parseInt() ๋Š” String์„ int๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. 

์œ„๋ฅผ ์ด์šฉํ•˜์—ฌ int ๋ฐฐ์—ด์— ๊ฐ’์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค! 

 

 

 

 

 

 

 

 

 

 

String ๋ฐฐ์—ด / String charAt() ์‚ฌ์šฉ์‹œ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„

๋ฌธ์ž์—ด ๊ธธ์ด ๊ตฌํ•˜๊ธฐ

String message = "12345";
String[] messageArr = message.split("");
		
int[] arr = new int[message.length()];		// 5
int[] arr2 = new int[messageArr.length];	// 5

์ผ๋ฐ˜ String์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด

messageArr.length()

 

๋ฐฐ์—ด String์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด

messageArr.length  

 

๋กœ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค.

์†”์งํžˆ ์ง€๊ธˆ์€ ๋ถ„๋ช…ํžˆ ์•Œ๊ฒ ์ง€๋งŒ ๋‹ค๋ฅธ ์–ธ์–ด๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค ๋‹ค์‹œ JAVA๋กœ ์˜ค๊ฒŒ ๋˜๋ฉด ๊ด„ํ˜ธ'()' ๋•Œ๋ฌธ์— ์˜ค๋ฅ˜๋ฅผ ๋ณผ ์ˆ˜๋„ ์žˆ๋‹ค.

 

 

 

 

 

 

Char์€ (int) & String์€ Integer.ParseInt()

String message = "12345";
String[] messageArr = message.split("");
int[] arr = new int[messageArr.length];
int[] arr2 = new int[message.length()];

for (int i = 0; i < arr.length; i++) {
	arr[i] = Integer.parseInt(messageArr[i]);
    // arr[i] = (int)messageArr[i];	→ ์—๋Ÿฌ
	System.out.print(arr[i] + "\t");
}
		
System.out.print("\n");
for (int i = 0; i < arr2.length; i++) {
	arr2[i] = (int) message.charAt(i) - (int)'0';
    // arr2[i] = Integer.parseInt(message.charAt(i));	→ ์—๋Ÿฌ
	System.out.print(arr2[i] + "\t");
}

 

๊ทธ๋ฆฌ๊ณ  

char์€ (int) ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๊ณ 

String์€ Integer.parseInt() ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. (Integer.valueOf()๋„ ๋จ.)

์„œ๋กœ ๋ฐ”๊ฟ”์„œ ์“ด๋‹ค๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. 

 

 

 

 

 

 

 

 

String ๋ฐฐ์—ด๋กœ (int) ๋ถˆ๊ฐ€๋Šฅ!

 

 

 

 

char๋กœ Integer.parseInt() ๋ถˆ๊ฐ€๋Šฅ!!

ํ•˜์ง€๋งŒ charAtํ•˜๊ธฐ ์ „ message๋Š” String์ด๊ธฐ ๋•Œ๋ฌธ์—

Integer.parseInt(message)๋Š” ๊ฐ€๋Šฅํ•˜๋‹ค! 

 

 

๋ฐ˜์‘ํ˜•