Algorithm/Basic

[JAVA] 특수문자 출력

2023. 8. 25. 23:40
목차
  1. 1. 특수문자 출력표
  2. 2. 특수 기능 문자
  3. Q. 의문점

자바는 백슬래시( \ ) 와 따옴표 ( '' ) ( "" ) 는 문자 그대로 출력되지 않는다.

왜냐하면 출력문은 

System.out.print("hi");

처럼 쌍따옴표 안의 내용을 출력하기 때문에, 중간에 " 가 나오면 거기서 내용이 끝나는 거라고 인식하기 때문.

그래서 따옴표를 쓸 때 \" \' 처럼 앞에 백슬래시를 써주면, 자바는 자동으로 \ 다음의 문자를 인식해 상황에 맞게 처리한다.

이를 이스케이프 시퀀스 (escape sequence) 라고 한다.

문자로 백슬래시 자체를 쓰고 싶은 경우 \\ 이렇게 두 번 적어주면 된다.

 

이스케이프 시퀀스로 지정된 특수한 사항은 아래 표로 확인할 수 있다.

 

1. 특수문자 출력표

괄호와 슬래시는 단독으로 쓰일 수 있는 특수문자이다. 

그래서 백슬래시를 붙이면 error로 출력되지 않는다.

입력 출력
\ error
\\ \
\' '
\" "
( (
\( error
/ /
\/ error

 

2. 특수 기능 문자

입력 출력
\n 줄바꿈 (LF)
\r 줄의 맨 처음으로 (CR)
\t 탭. 들여쓰기.
\b 커서를 한 문자 앞으로
(백스페이스)
\0 빈칸 (null)

 

* Line Feed (LF)
: 커서를 현재 행의 다음 행으로, 즉 아래로 내리기
아스키 코드: 16진수로 0A (10)

* Carriage Return (CR)
: 커서를 현재 행의 맨 좌측으로 옮기기
아스키 코드: 16진수로 0D (13)

LF -> CR 하면 행갈이가 된다. (타자기 원리)
운영체제별로 "엔터" 역할을 하기위해 둘 다 필요하기도 하고 하나만 필요하기도 하다.

▼ 자세한 내용은 아래 글 참조

더보기
 

텍스트 파일의, Line Feed (LF)와 Carriage Return (CR)이란?: 행갈이/행끝/줄바꿈 문자

 

mwultong.blogspot.com

 

 

 

 

Q. 의문점

 

System.out.println("!@#$%^&*(\\'\"<>?:;");
System.out.println("!@#$%^&*(\\\'\"<>?:;");

// !@#$%^&*(\'"<>?:;

이 두 가지 출력문의 결과물이 같다. 왜..?

 

(\' 를 출력하기 위해서는 

출력 입력
( (
\ \\
' \'

=> (\\\'

이렇게 세 개의 백슬래시가 필요한데...

이번 출력값의 경우, "" 는 쌍으로 겉에 이미 있기 때문에 가운데에 쓸 경우 \ 가 필요했지만

' 의 경우 단독으로 쓰여 컴퓨터가 처리하기에 오해가 없는 상황이기에 

백슬래시 없이 단독으로 쓰여도 잘 나온 것 같다.

 

 

 

 

 

자바 특수문자, 괄호, 백슬래시, 따옴표 출력하기 (백준 10171, 10172번)

자바에서 백슬래시와 따옴표는 문자 그 자체만으로는 출력되지 않는 특수문자이다. 따옴표가 그 자체만으로 출력되지 않는 이유는, 출력문에서는 첫 쌍따옴표부터 그 다음 쌍따옴표가 나올 때

chloe-ki.tistory.com

 

저작자표시 비영리 동일조건 (새창열림)
  1. 1. 특수문자 출력표
  2. 2. 특수 기능 문자
  3. Q. 의문점
'Algorithm/Basic' 카테고리의 다른 글
  • [JAVA] 문자 리스크를 문자열로 변환 -- Arrays.stream() vs. Stream.of()
  • [JAVA] 문자열 섞기
  • [JAVA] 문자열 자르기 substring / 배열 자르기 Arrays.copyOfRange / 배열을 문자열로 String.join
  • [JAVA] 공백 제거 / 돌리기 / 홀짝 구분
함s
함s
개발함
함s
함함ː
함s

CALENDAR

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
  • 분류 전체보기 (210)
    • TIL (6)
      • thought (2)
    • Algorithm (81)
      • Basic (66)
      • Greedy (5)
      • Implementation (3)
      • DFS BFS (7)
      • Sorting (0)
    • Front (29)
      • HTML Css (7)
      • JavaScript (17)
      • Jquery (2)
      • Vue.js (2)
      • React.js (1)
    • Node.js (5)
    • Java (43)
      • Basic (22)
      • MVC -- JSP & Servlet (18)
      • Handler (1)
      • Data (2)
    • Spring (27)
      • Spring_inflearn (9)
      • Spring Boot (7)
      • MyBatis (1)
      • Spring Data JPA (7)
      • REST API (3)
    • SQL (2)
    • Mac (13)
    • Git (4)
    • Project (0)

블로그 메뉴

  • 홈
  • 방명록
  • 글쓰기

인기 글

최근 글

hELLO · Designed By 정상우.
함s
[JAVA] 특수문자 출력
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.