Java

숫자와 문자

프로그래밍 입문자에게 가장 익숙한 데이터 타입(data type)은 숫자와 문자일 것이다. 이번 시간에는 실제로 가장 많이 사용되는 데이터 형인 문자와 숫자를 프로그래밍에서는 어떻게 표현하고 연산하는지 알아보자.

데이터 타입은 자료형(資料形) 또는 데이터형이라고도 한다.

숫자

자바에서는 따옴표가 없는 숫자는 숫자로 인식한다. (실행)

System.out.println(1+2);

결과 : 3

(실행)

System.out.println(1.2+1.3);

결과 : 2.5

곱하기를 할 때는 *(에스터리스크, Asterisk, 키보드 자판상으로 숫자 8 위)를 사용한다. (실행)

System.out.println(2*5);

결과 : 10

나누기를 할 때는 /(슬래쉬, slash, 키보드 자판상으로 오른쪽 shift 키 왼쪽)를 사용한다. (실행)

System.out.println(6/2);

결과 : 3

문자와 문자열

자바는 문자(Character)와 문자열(String)을 구분한다. 문자는 한 글자를 의미하고, 문자열은 여러 개의 문자가 결합한 것을 의미한다. 자바에서 문자는 '(작은따옴표)로 감싸야 한다. (실행)

System.out.println('생');

문자열은 "(큰따옴표)로 감싸야 한다. (실행)

System.out.println("생활코딩");

만약 문자열을 작은 따옴표로 감싸면 에러가 발생한다. (실행)

System.out.println('생활코딩');

하나의 문자를 큰따옴표로 감싼다고 에러가 발생하지는 않는다. 한 글자도 문자열이 될 수 있기 때문이다. (실행)

System.out.println("생");

이스케이프

만약 문자열 안에 큰 따옴표를 넣고 싶다면 어떻게 해야 할까? (실행)

System.out.println("egoing said "Welcome programming world"");
Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    Syntax error, insert ")" to complete MethodInvocation
	Syntax error, insert ";" to complete BlockStatements
	Syntax error on token(s), misplaced construct(s)
	The method programming(String) is undefined for the type datatype
	Syntax error on token "world", ( expected

위와 같이 오류가 발생할 것이다.

이런 때는 아래와 같이 처리하면 된다. (실행)

System.out.println("egoing said \"Welcome programming world\"");

\를 " 앞에 위치시키면 " 를 문자열의 시작과 끝을 구분하는 구분자가 아니라 단순히 문자로 해석하도록 강제할 수 있다. 이러한 기법을 escape(이스케이프)라고 한다. 즉 큰따옴표가 가진 문법적인 역할에서 도망(escape)쳐서 문자로 인식하도록 한다는 의미다.

여러 줄의 표시

여러 줄을 표시하고 싶을 때는 아래와 같이 하면 된다. (실행)

System.out.println("HTML\nCSS\nJavaScript\n");

문자의 연산

문자와 문자를 더할 때는 아래와 같이 한다. (실행)

System.out.println("생활"+"코딩");

결과 : 생활코딩

댓글

댓글 본문
  1. eunbee
    22-05-12
  2. 치키티타
    220509
  3. 코드파괴자
    22.05.06 Attack Ride. num & char !!
  4. 20220423
  5. 이호연
    20220403 완료
  6. 김은희
    20220330 복습완료
    이스케이프 역슬래쉬 어렵당
  7. 김은희
    20220329 완료
    문자 ' ' Character
    문자열 " " String
    이 강의 복습하기
  8. aesop0207
    22.03.12. Sat.
  9. 카멜리안_최유리
    20220204 완료
    1. 따옴표가 없는 숫자는 숫자로 인식 - 실수, 정수는 다른 데이터 타입
    2. 문자 '', 문자열 ""
    3. 문자의 연산 ""+""
    4. 큰 따옴표 문자열로 출력하기 "\"hi\""
    5. 줄바꿈 : \n
  10. 모찌말랑카우
    22.01.18
  11. 생동태
    2022.01.03
  12. 구니
    21.12.30 완료
  13. 크런키
    2021.12.26
    숫자와 문자 : 문자'', 문자열"", '문자'->에러
    이스케이프 : " I said "wow"" x, " I said \"wow\"" O, \"-> 이스케이프
    줄바꿈 : \n
  14. syh712
    2021-11-24
    문자 '', 문자열 "", 문자열에 ''을 넣어주면 에러임.
    이스케이프\:: "he said \"hello\"");
    줄바꿈\n: "he said\n \"hello\"");
  15. 드림보이
    2021.11.05. 숫자와 문자 파트 수강완료
  16. 네제가해냈습니다
    211011
  17. 성치
    2021-10-11일 완료
  18. 211007
  19. QURUQURU
    21.10.07
  20. 미NI언
    10.5 완료!
  21. 아하
    21.09.27 완료
  22. 기구한인생
    2021. 09. 12 완료
  23. 오션호스
    210815완료
  24. super1Nova
    210809
  25. 자바입문공부
    완료!
  26. 알포
    하나 이상의 문자열이 있어야 다른 문자를 더했을 때 2글자가 넘으니 문자열로 잘 표시되는데, 둘 모두 문자끼리 더하셔서 그래요.
    98은 각 문자(여기선 '1'과 '1')를 의미하는 숫자 값을 합한 값이 나온 겁니다~
    (형변환)System.out.println((int)'1'); 로 확인하실 수 있으실거에요
    대화보기
    • 장인호
      숫자끼리 더한것이 아니라 문자끼리 더했기때문에 이상한 값이 나온겁니다
      대화보기
      • 김밥말이
        숫자에 작은 따옴표는 왜 넣으셨어용?
        대화보기
        • 성우
          System.out.println('1'+'1'); 는 왜 값이98이라 나오는건가요?
        • 악어수장
          2021-5-11 2회독 완료
        • tamm501
          수강했습니다, 감사합니다
        • 드림보이
          수강완료했습니다...

          문자와 숫자를 자바에서 표현하는 방법에 대해서 구체적으로 알게 됐습니다...
        • 아아
          2021031완료
        • Ruinark
          21.03.17 완료
        • 도미노
          최고에요.
          설치부터 여기까지 2시간 걸렷네요.
          힘들기도 하지만...
          감사합니다.
          https://www.lineanma.com 여기서 불러야 겠네요.
        • 하연주
          210202 완료
        • 박소영
          최고예요
        • 김민혁
          2021/1/5 완료~!
        • 권영재
          완료
        • Jung Yeon Lee
          2020.11.10 완료
        • 자바남
          2020.11.05 완료
        • 제리
          2020.09.29 완료
        • 김태현
          20200915 수업완료
        • leechi
          문자열 \n 줄 간격 \"\" 큰따움표 집어넣기
        • 프로페쎠널
          2020/8/18 - 11.57pm 완료
        • hvii
          20200806 완료
        • 으헝
          System.out.println(1.2+2.4); 하면 값이 3.5999999999999996 나오는데 왜그런지 아시는 분? ㅠㅠ
        • 살한쯤
          2020 - 07 -12 완료
        • 広川
          どもうありがとうございます。
        • 아도니스트
          잘 들었습니다~! 왕초보 1인 추가!!
        버전 관리
        egoing
        현재 버전
        선택 버전
        graphittie 자세히 보기