[JAVA] 문자 리터럴과 문자열 리터럴 [String, 덧셈 연산자를 이용한 문자열 결합]

2022. 1. 8. 14:07·◎ Java/Java☕
728x90
반응형


1. 문자 리터럴과 문자열 리터럴

문자 리터럴 : 작은따옴표로 문자 하나를 감싼 것. ex) 'A', 'B', 'C'
문자열 리터럴(String) : 큰따옴표로 두 문자 이상을 감싼 것. ex) "사랑", "믿음", "소망"

 

char ch = 'J';        // char ch = 'Java'; 이렇게 할 수 없음
String name = "Java"; // 변수 name에 문자열 리터럴 "Java"를 저장

 

문자열 리터럴은 큰따옴표 안에 아무런 문자도 넣지 않는 것을 허용하며, 이를 '빈 문자열(empty string)'이라고 한다. 그러나 문자 리터럴은 작은따옴표 안에 반드시 하나의 문자가 있어야 한다.

 

String str = " "; // 내용이 없는 빈 문자열
char ch = '';     // 에러. 작은따옴표 안에는 반드시 하나의 문자가 필요
char ch = ' ';    // 공백 문자(blank)로 변수 ch를 초기화

2. 덧셈 연산자를 이용한 문자열 결합

덧셈 연산자(+)는 피연산자가 모두 숫자일 때는 두 수를 더하지만, 피연산자 중 어느 한쪽이 '문자열 리터럴(String)'이면 나머지 한쪽을 '문자열 리터럴'로 변환한 다음 두 문자열을 결합한다.

 

문자열 + any type → 문자열 + 문자열 → 문자열
any type + 문자열 → 문자열 + 문자열 → 문자열

* 덧셈 연산자는 왼쪽에서 오른쪽의 방향으로 연산을 수행하기에, 결합 순서에 따라 결과가 달라진다.

 

String name = "Ja" + "va"; // name은 "Java"
String str  = name + 8.0;  // str은 "Java8.0"

- 예제 StringEx.java

class StringEx {
	public static void main(String[] args) {
		String name = "Ja" + "va";		// String 첫글자는 대문자
		String str = name + 8.0;
		
		System.out.println(name);
		System.out.println(str);
		
		System.out.println(7 + " ");
		System.out.println(" " + 7);
		System.out.println(7 + "");
		System.out.println("" + 7);
		System.out.println("" + "");
		System.out.println(7 + 7 + ""); // 덧셈기호는 진행방향이 중요. 산술방향 왼->오
		System.out.println("" + 7 + 7);
		// --------------------------------------------------------------------------
		System.out.println(7 + '7'); // 62. 문자형에서 '48'은 '0'(ASCII문자)		
	}
}

 

참고문헌 : 남궁성(2016), Java의 정석, 도우출판

728x90
반응형
'◎ Java/Java☕' 카테고리의 다른 글
  • [JAVA] 정수의 진법 변환 [10진수를 n진수로 변환, n진수를 10진수로 변환]
  • [JAVA] '진법'이란?(numeral system) [10진법, 2진법, 비트와 바이트, 8진법, 16진법]
  • [JAVA] 상수와 리터럴(constant & literal) [상수와 리터럴의 정의, 리터럴의 타입과 접미사]
  • [JAVA] 변수의 형태(type) [자료형(data type), 기본형(primitive type)]
예르미(yermi)
예르미(yermi)
끊임없이 제 자신을 계발하는 개발자입니다👨🏻‍💻
  • 예르미(yermi)
    예르미의 코딩노트
    예르미(yermi)
  • 전체
    오늘
    어제
    • 분류 전체보기 (1025) N
      • ◎ Java (133)
        • Java☕ (93)
        • JSP📋 (26)
        • Applet🧳 (6)
        • Interview👨🏻‍🏫 (8)
      • ◎ JavaScript (48)
        • JavaScript🦎 (25)
        • jQuery🌊 (8)
        • React🌐 (2)
        • Vue.js🔰 (6)
        • Node.js🫒 (3)
        • Google App Script🐑 (4)
      • ◎ HTML5+CSS3 (17)
        • HTML5📝 (8)
        • CSS3🎨 (9)
      • ──────────── (0)
      • ▣ Framework (67)
        • Spring🍃 (36)
        • Spring Boot🍀 (12)
        • Bootstrap💜 (3)
        • Selenium🌕 (6)
        • MyBatis🐣 (10)
      • ▣ Tools (47)
        • API🎯 (18)
        • Library🎲 (15)
        • JitPack🚀 (3)
        • Jenkins👨🏻 (7)
        • Thymeleaf🌿 (4)
      • ▣ Server (30)
        • Apache Tomcat🐱 (14)
        • Apache HTTP Server🛡️ (1)
        • Nginx🧶 (7)
        • OracleXE💿 (4)
        • VisualSVN📡 (4)
      • ▣ Infra & DevOps (20) N
        • LGTM Stack🔭 (5)
        • Kafka🐦‍🔥 (0)
        • Kubernetes🚢 (9) N
        • KubeCon Japan 2026⚓ (6)
      • ▣ OS : 운영체제 (18)
        • cmd : 명령프롬프트💻 (10)
        • Linux🐧 (8)
      • ▣ SQL : Database (56)
        • Oracle SQL🏮 (26)
        • PL SQL💾 (9)
        • MySQL🐬 (6)
        • MariaDB🦦 (6)
        • H2 Database🔠 (3)
        • SQL 실전문제🐌 (6)
      • ────────── (0)
      • ◈ Human Project (86)
        • Mini : Library Service📚 (15)
        • 화면 설계 [HTML]🐯 (10)
        • 서버 프로그램 구현🦁 (15)
        • Team : 여수어때🛫 (19)
        • Custom : Student🏫 (9)
        • Custom : Board📖 (18)
      • ◈ Yermi Project (49)
        • 조사모아(Josa-moa)📬 (5)
        • Riddle-Game🧩 (6)
        • 맛있을 지도🍚 (2)
        • 어디 가! 박대리!🙋🏻‍♂️ (5)
        • 조크베어🐻‍❄️ (4)
        • Looks Like Thirty🦉 (2)
        • Toy Project💎 (12)
        • 오픈소스 파헤치기🪐 (5)
        • 오늘가챠🃏 (8)
      • ◈ Refactoring (15)
        • Mini : Library Service📚 (8)
        • 서버 프로그램 구현🦁 (1)
        • Team : 여수어때🛫 (0)
        • 쿼리 튜닝일지🔧 (6)
      • ◈ Coding Test (80)
        • 백준(BOJ)👨🏻‍💻 (71)
        • 프로그래머스😎 (2)
        • 코드트리🌳 (7)
      • ◈ Study (129)
        • 기초튼튼 개발지식🥔 (25)
        • HTTP 웹 지식💡 (4)
        • 클린코드(Clean Code)🩺 (1)
        • 디자인패턴(GoF)🥞 (12)
        • 알고리즘(Algorithm)🎡 (14)
        • 다이어그램(Diagram)📈 (4)
        • 파이썬(Python)🐍 (16)
        • 에러노트(Error Note)🧱 (34)
        • 웹 보안(Web Security)🔐 (11)
        • 인공지능 AI🛸 (8)
      • ◈ 공부모임 (57)
        • 혼공학습단⏰ (18)
        • 코드트리 챌린지👊🏻 (2)
        • 개발도서 100독👟 (8)
        • 나는 리뷰어다🌾 (17)
        • 국가기술자격 서포터즈🌻 (12)
      • ◈ 자격증 공부 (48)
        • 정보처리기사🔱 (16)
        • 정보처리산업기사🔅 (9)
        • 정보보안기사⚜️ (11)
        • 컴퓨터활용능력 1급📼 (12)
      • ─────────── (0)
      • ◐ 기타 (124)
        • 알아두면 좋은 팁(tip)✨ (46)
        • 개발자의 일상🎈 (55)
        • 개발도서 서평🔍 (10)
        • 개발관련 세미나🎤 (2)
        • 블로그 꾸미기🎀 (9)
        • 사도신경 프로젝트🎚️ (2)
  • 인기 글

  • 최근 댓글

  • 반응형
    250x250
  • 태그

    SQL
    Oracle
    javascript
    spring
    jsp
    Project
    CSS
    자바스크립트
    Error Note
    백준
    Database
    코딩
    백준 티어
    코딩 테스트
    Java
    프로그래밍
    일상
    BOJ
    꿀팁
    spring boot
  • hELLO· Designed By정상우.v4.10.3
예르미(yermi)
[JAVA] 문자 리터럴과 문자열 리터럴 [String, 덧셈 연산자를 이용한 문자열 결합]
상단으로

티스토리툴바