👉🏻 4가지 풀이 방법을 이용한다.
크게 System 클래스, BufferedReader, StringBuilder, StringBuffer를 이용하여 풀이한다.
👉🏻 방법 1 (System 클래스 - 표준 입출력)
public class Main {
public static void main(String[] args){
System.out.println("강한친구 대한육군");
System.out.println("강한친구 대한육군");
// System.out.printf("%s","강한친구 대한육군\n강한친구 대한육군");
// System.out.printf("%s\n%s","강한친구 대한육군","강한친구 대한육군");
// System.out.printf("강한친구 대한육군\n강한친구 대한육군");
}
}
단순 출력 시 println()을 쓰면되고
그 외에는 특정 순서에 따라 개행('\n')하거나 문자열과 숫자 등 서로 다른 타입을 다룰 때는 printf(); 또는 print();를 쓴다.
👉🏻 방법 2 BufferedWriter
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException{
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
bw.write("강한친구 대한육군");
bw.newLine();
bw.write("강한친구 대한육군");
bw.flush();
bw.close();
}
}
👉🏻 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); 설명
Buff 는 데이터를 다른 곳으로 이동시키기 전에 일시적으로 데이터를 보관하는 임시 메모리 영역이다.
BufferedWriter는 시스템의 버퍼를 이용하여 출력하는 문자 스트림(캐릭터 단위 스트림)이라는 것.
OutputStreamWriter()는
Stream의 의미를 알아야한다.
한 지점에서 데이터를 단일 방향으로 목표지점에 도착하는 중간 매개체 또는 흐름(통로)이라고 보면 된다.
이때 운영체제에 따라 기본 인코딩 방식이 다른데 이를 알아서 변경해준다.
BufferedWriter 은 문자 스트림이고 OutputStreamWriter()은 문자 스트림을 바이트 스트림으로 변환해주는 스트림이다.
bw.newLine(); 이 추가되엇는데 이 메소드는 개행을 해주는 메소드다.
참고로 newLine();은 '\n'과 같은 역할은 하지만 같은것은 아니다.
자바 api에는 이렇게 설명되어 있다.
이후 bw.flush() 로 스트림에 들어있는 데이터를 비운다.
그리고 꼭 bw.close()로 스트림을 종료해준다.
👉🏻 방법 3 StringBuilder
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("강한친구 대한육군\n");
sb.append("강한친구 대한육군");
System.out.println(sb);
}
}
문자열을 이어 붙이는 것이기 때문에 사실상 sb에 연결되어 있는 문자열은
"강한친구 대한육군\n강한친구 대한육군"이다.
👉🏻 방법 4 StringBuffer
public class Main {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
sb.append("강한친구 대한육군\n");
sb.append("강한친구 대한육군");
System.out.println(sb);
}
}
Uploaded by Notion2Tistory v1.1.0