백준에서 문제 풀 때, class명이 Main이여야 한다.
첫 번째 방법
public class Main {
public static void main(String[] args){
String greeting = "Hello World!";
System.out.println(greeting);
}
}
두 번째 방법
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedWriter greet = new BufferedWriter(new OutputStreamWriter(System.out))
greet.write("Hello World!");
greet.flush();
greet.close();
}
}
BufferedWriter/BufferedReader는 Buffer에 있는 IO클래스이다.
데이터를 임시 공간(버퍼)에 저장해 두었다가 한 번에 출력 또는 내보내는 방식이다. Scanner는 BufferReader보다 느리다.
String은 내부 문자열을 수정할 수 없음.
+ 또는 replace() 메소드를 쓰면 새로운 문자열을 리턴한다. 따라서 String을 빈번하게 연산하는 방식은 비효율적이다.
StringBuffer와 StringBuilder는 내부 버퍼(buffer : 데이터를 임시로 저장하는 메모리)에 문자열을 저장.
버퍼 내부에서 추가, 수정, 삭제 작업을 할 수 있도록 설계되어 있다.
세 번째 방법
public class Main {
public static void main(String[] args){
StringBuilder greet = new StringBuilder();
greet.append("Hello World!");
System.out.println(greet);
}
}
StringBuilder도 데이터를 저장해 두었다가 한 번에 출력한다.
StringBuilder의 장점
문자열을 조작할 때 매우 유용하다.
StringBuilder의 특징
문자열을 이어 붙인다.
메소드 | 설명 | |||||
append() | 문자열 끝에, 주어진 매개값 추가 | |||||
insert(int offset, ..) | 문자열 중간에, 주어진 매개값 추가 | |||||
delete(int start, int end) | 문자열 일부분 삭제 | |||||
deleteCharAt(int index) | 문자열에서 주어진 index의 문자 삭제 | |||||
replace(int Start, int End, String str) | 문자열의 일부분을 다른 문자열로 대치 | |||||
reverse() | 문자열의 순서를 반대로 변경 | |||||
setCharAt(int index, char ch) | 문자열에서 주어진 index의 문자를 다른 문자로 대치 |
네 번째 방법
public class Main {
public static void main(String[] args){
StringBuffer greet = new StringBuffer();
greet.append("Hello World!");
System.out.println(greet);
}
}
StringBuffer의 장점
문자열을 조작할 때 매우 유용하다.
StringBuffer의 특징
동기화를 지원하기 때문에, 멀티스레드 환경에서 안전하다.
(multi-thread 상황에서 문자열이 리소스로 사용된다면 StringBuffer를 사용해주어야 한다.
동기화를 지원해 주어 StringBuilder보단 느리지만, 문자열 조작에 있어서 String보다 빠르다.)
'알고리즘 > [백준] JAVA' 카테고리의 다른 글
[백준] 10818 최소, 최대 (0) | 2023.04.25 |
---|---|
[백준] 10807 개수 세기 (0) | 2023.04.25 |
[백준] 25304 영수증 (0) | 2023.04.24 |
[백준] 10950 A+B - 3 (0) | 2023.04.21 |
[백준] 2739 구구단 (0) | 2023.04.21 |