All of My Records

[Java] Escape Sequence, 자바의 이스케이프 문자

by 캐떠린

자바에는 이스케이프 문자가 존재한다. 이스케이프 문자가 무엇인지 알아보자!

 

Escape Sequence

  • Invalid escape sequence (valid ones are  \b  \t  \n  \f  \r  \"  \'  \\ )
  • 컴파일러가 번역을 할 때, 소스상에 있는 문자를 그대로 출력하지 않고, 미리 약속된 표현으로 바꿔서 출력하는 요소
  • \(역슬래시)를 사용한다.

 

1. \n

  • new line, line feed
  • 개행 문자(Enter) 역할
char c1 = '\n'; //1글자로 취급한다.
String s1 = "\n";

//요구사항: "안녕하세요." "홍길동입니다." 두 문장을 개행 처리 하여 각각 다른 줄에 출력하시오.

//***문자열 리터럴 내에서는 엔터 사용이 불가하다. -> 이때 \n을 사용한다.***

String msg = "안녕하세요.\n홍길동입니다.";
System.out.println(msg);
변수를 만들어서 저장하고 ,변수를 사용하여 여러가지 행동을 하는 것이 나중에 봤을 때 좋은 코드가 될 확률이 높아진다. 데이터 상수 바로 사용을 되도록 지양하자.

 

2. \r

  • carriage return
  • 캐럿의 위치를 현재 라인의 맨 앞으로 이동
  • 키보드 → home키 역할
  • 이클립스(Eclipse) 개발 환경에서는 정상적으로 동작하지 않는다. → 콘솔에는 삽입모드 없이 무조건 덮어쓰기 처리가 되기 때문이다.
String msg = "안녕하세요. \r홍길동님"; //carriage return 적용 시: 홍길동님요.
운영체제의 엔터(Enter)
1. 윈도우: \r\n
2. macOS: \r
3. 리눅스: \n

 

3. \t

  • tab, 탭문자(열의 반복되는 이동거리에 대한 표시)
  • 탭은 약속된 표시이다.
  • 서식 작업(열 맞추기에 사용된다.)
String msg = "하나\t둘\t셋";

 

4. \b

  • backspace
  • 이클립스(Eclipse) 콘솔에서는 동작하지 않는다.
String msg = "홍길동\b입니다."; //backspace 적용 시: 홍길입니다.

 

5. \", \', \\

  • "'\ 이 3가지 문자 모두 이미 역할을 가지고 있는 문자이다. 이를 출력하기 위해서는 의미없게 만드는 이스케이프 문자가 필요하고, 그 역할을 \가 한다.
String msg = "홍길동: \"안녕하세요\"";
System.out.println("수업폴더 > C:\\class\\code\\java"); //C:\class\code\java
Quick Tip
이클립스에서 ""(큰따옴표) 먼저 생성 후, 안에 경로를 붙여넣으면 이클립스가 알아서 escape처리를 해준다.

 

6. \f

\f는 프린트할 때 새로운 페이지로 넘어가라는 의미라 따로 짚고 넘어가지 않겠다!

 

*글 작성에 참고한 내용: 학원 쌤의 열정적인 수업

블로그의 정보

All of My Records

캐떠린

활동하기