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 julbakkum chullyeog

Java 줄바꿈 출력 - java julbakkum chullyeog

안녕하세요, 오늘은 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 줄바꿈 출력 - java julbakkum chullyeog

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

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

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

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

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

Java 줄바꿈 출력 - java julbakkum chullyeog
Java 줄바꿈 출력 - java julbakkum chullyeog

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

Java 줄바꿈 출력 - java julbakkum chullyeog

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

Java 줄바꿈 출력 - java julbakkum chullyeog
Java 줄바꿈 출력 - java julbakkum chullyeog

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

Java 줄바꿈 출력 - java julbakkum chullyeog

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

Java 줄바꿈 출력 - java julbakkum chullyeog
Java 줄바꿈 출력 - java julbakkum chullyeog

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

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