[String-2] StringBuilder 클래스/ 연습문제

seratpfk·2022년 7월 27일
0

JAVA

목록 보기
31/96

java.lang.StringBuilder 클래스

StringBuilder sb = new StringBuilder();
sb.append(1);
sb.append(true);
sb.append('T');
sb.append(3.14);
sb.append("hello");
System.out.println(sb);

출력:
1trueT3.14hello

동등 비교

System.out.println(sb.equals("1trueT3.14hello"));

출력:
false

이유:
String과 StringBuilder는 다르다.
StringBuilder로 만든 문자열은 반드시 마지막에 String으로 변환해야 함.

String result = sb.toString();
System.out.println(result);
System.out.println(result.equals("1trueT3.14hello"));

출력:
true

#알파벳 출력하기

String alphabet1 = "";
long begin1 = System.nanoTime();
for(char ch = 'a'; ch <= 'z'; ch++) {
	alphabet1 += ch;
}
long end1 = System.nanoTime();	
System.out.println((end1 - begin1) + alphabet1);

출력:
79000abcdefghijklmnopqrstuvwxyz
------이 숫자는 출력할 때마다 바뀐다.

StringBuilder sb2 = new StringBuilder();
long begin2 = System.nanoTime();
for(char ch = 'a'; ch <= 'z'; ch++) {
	sb2.append(ch);
}
long end2 = System.nanoTime();
String alphabet2 = sb2.toString();
System.out.println((end2 - begin2) + alphabet2);

출력:
145600abcdefghijklmnopqrstuvwxyz

StringBuilder가 String보다 빠르다.

연습문제1

대문자 6자리로 구성된 인증코드 작성하기

StringBuilder sbCode = new StringBuilder();
String code = sbCode.toString();
System.out.println("인증코드 : " + code);
StringBuilder sbCode = new StringBuilder();
for(int n = 0; n < 6; n++) {
	sbCode.append((char)((int)(Math.random() * 26) + 'A'));
}
String code = sbCode.toString();
System.out.println("인증코드 : " + code);

출력:
인증코드 : OZDLBX

연습문제2

1 2 3 4 5 6 7 8 9 10 만들기

StringBuilder sbPaging = new StringBuilder();
String paging = sbPaging.toString();
StringBuilder sbPaging = new StringBuilder();
for(int i = 1; i <= 10; i++) {
    sbPaging.append(i);
    sbPaging.append(" ");
}
StringBuilder sbPaging = new StringBuilder();
String paging = sbPaging.toString();

출력:
1 2 3 4 5 6 7 8 9 10

0개의 댓글