Java 줄바꿈 출력 - java julbakkum chullyeog

모든 설명은 주석으로 확인할 수 있어요.

하나씩 따라해 보세요. ^^

package javaEx; public class Review{ public static void main(String[] args) { /* 출력서식 Print Format \n 줄바꿈 \t 탭 --------------- %d 10진 정수형 %f 실수형 %c 문자형 %s 문자열형 */ System.out.println("\\"); System.out.println("\""); System.out.println("\'"); System.out.println("사과\n\n사과"); System.out.println("참\t외"); //출력서식 활용하기 //System.out.printf("출력서식", 값); //printf() 함수 System.out.printf("a:%d b:%d c:%d\n", 3,5,7); System.out.printf("#%5d#\n", 123); //우측 정렬 System.out.printf("#%-5d#\n", 123); //좌측 정렬 System.out.printf("#%05d#\n", 123); //빈칸 채우기 System.out.printf("x:%f y:%f z:%f \n", 1.2, 3.4, 5.6 ); System.out.printf("#%6.2f# \n", 7.8); //총 6자리, 소수점 2자리 System.out.printf("#%-6.2f# \n", 7.8); System.out.printf("#%.2f# \n", 7.8); System.out.println(10/3); //소수점 안 나옴 System.out.println(10/3.); //소수점 나오게 System.out.printf("%.4f\n", 10/3.); //소수점 4자리수로 지정 System.out.println(String.format("%.4f\n", 10/3.)); //문자열로 형변환 System.out.printf("%s %s %s\n", "Year", "Month", "Date"); System.out.printf("#%8s#\n", "Happy"); System.out.printf("#%-8s#\n", "Happy"); System.out.printf("%8s \n", "Happy"); System.out.printf("%-8s\n", "Happy"); }//main() end }//class end

영어를 어느 정도 잘하면 프로그래밍에도 많은 도움이 되더군요.

영어를 배울 수밖에 없다면... ^_^

안녕하세요, 오늘은 JAVA 줄 바꿈(개행 문자) 처리하는 방법에 대해서 알아보도록 하겠습니다.

JAVA String에서 줄바꿈을 할 때 각각 OS에 따라서 줄 바꿈 하는 형식이 다릅니다.

 Window  \r\n
 Mac  \r
 Linux  \n
// Window System.out.println("JAVA\r\n줄바꿈하는 방법"); // Mac System.out.println("JAVA\r줄바꿈하는 방법"); // Linux System.out.println("JAVA\n줄바꿈하는 방법");

하지만 위와 같은 방법은 서로 다른 OS에서 동작하는 프로그램에서는 문제를 야기할 수 있습니다.

모든 OS에서 적용가능한 방법은 System.lineSeparator()를 사용하는 것입니다.

System.lineSeparator()는 (JAVA 1.7부터 제공).

// Window, Mac, Linux 공통으로 사용가능 System.out.println("JAVA" + System.lineSeparator() + "줄바꿈하는 방법");

또한, 다른방법으로는 System.getProperty("line.separator")를 사용하면 됩니다.

// Window, Mac, Linux 공통으로 사용가능 System.out.println("JAVA" + System.getProperty("line.separator") + "줄바꿈하는 방법");

두 가지 모두 같은 결과를 출력합니다.

오늘도 정독해 주셔서 감사합니다~:)

package notepad; public class Main { public static void main(String[] args) { // 1부터 100까지 for 문으로 출력해 보자 for(int i = 1 ; i <= 100; i++) { for (int j = 1 ; j <= 100; j++) { System.out.print(i + " * " + j + "\n"); } } } } package notepad; public class Main { public static void main(String[] args) { // 1부터 100까지 for 문으로 출력해 보자 for(int i = 1 ; i <= 100; i++) { for (int j = 1 ; j <= 100; j++) { System.out.println(i + " * " + j ); } } } }

JAVA에서 출력할때 줄바꿈을 위해  \n을 사용하는것과  println()을 사용하는 방법이 있는데,  검색을 좀해보니까 \n으로 강제 개행하는 방법은 추천하지 않는다는 의견이 많이 있었습니다. println()을 사용하면 사용하는 OS에 따라서 특수문자가 출력되는등의 증상이 있을 수 있다고 하네요.
하지만, 성능은 \n이 더 빠를 수 있고, 코드가 매우 커서 실제 성능에서 차이가 있다면 그때 성능을 위해서 고려될 만한 문법이라고 합니다. 

파이썬은 기본 print값이 자동개행이라 두개씩 써도 자동으로 개행되어 줄바꿈인 상태로 출력되었던것을 생각하면 차이점이 좀 있네요. 오히려 파이썬은 강제로 한줄로 만들려면

print("nice tools", end=" ")

이런식으로 end = " "을 넣어야 했던 기억이 떠오르네요.
언어마다 이런 포인트가 달라서 배우는 재미가 있는것 같기도 합니다. 

이외에 Tab은 \t, \는 \\, 따옴표는 \" 로 입력합니다.

줄바꿈을 하고 싶은 부분에 커서를 올려 놓고 Enter키를 누르면 위와 같이 + 연산자가 자동으로 붙으면서 world 부분의 줄이 내려온 것을 볼 수 있다. 이것은 이클립스 프로그램이 사용자의 편의를 위해 자동으로 연산자를 넣어주는 기능인데 이것으로는 줄바꿈이 불가능 하다. 저것의 의미로는 단순히 Hello 라는 문자열과 World 라는 문자열을 붙여주는 것이기 때문이다.

또한 위와 같이 처리할 시 자바에서는 오류로 판단한다.

줄바꿈을 하기 위해선 역슬래시n 을 붙여 줄바꿈을 하고싶은 부분에 입력하면 된다. n은 new line의 약자이다.

또한 만약 Hello "World" 라는 내용으로 출력을 하고싶다고 했을 때 큰 따옴표로 World를 감싸게 되면 문자열 오류가 발생하게 된다. 

이를 해결하기 위에선 위와 같이 역슬래시를 붙여 뒤에 따라오는 따옴표를 일반 문자열로 변경하여 중복을 해결한다. 이런 행위를 escape 한다 라고 말한다.

이 글의 내용은 생활코딩(//opentutorials.org/course/3930)에서 배운 내용을 개인적인 사용을 위해 재가공하여 정리한 글임을 밝힙니다.

Toplist

최신 우편물

태그