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. ilovecat
    240421
  2. 박승규
    24.2.22 프로그래밍 1일차 학습 완료
  3. 누가뭐래도개발자
    24.2.5 복습 2
    2달간 놀았다 ㅜ
  4. 24.01.04 완료
  5. 누가뭐래도개발자
    23.12.16 복습
  6. 펄럭귀
    한글 깨지는분 https://yeomboyeon.tistory.com/2 이대로 따라해보세요. 저는 바로 해결됐어요
    대화보기
    • 모멋
      23.07.09 학습 완료.
    • 다랑다랑어
      거기 other에다가 ms949 바로 입력할 수 있어요..!
      대화보기
      • 부드러운손
        eclipse-inst-jre-win64로 강의내용을 따라하고 있습니다.
        근데 숫자 문자편에서 console에서 한글깨짐이 나옵니다. 검색해보니 properites 나 windows preferens등등... utf-8로 하라는 내용이 있어서 따라해보는데 계속 같습니다. 또는 ms949를 디폴트로 하라는곳도 있던데 컴퓨터 버전에는 iso8859-1이나 us아스키, utf-16, utf-8이 있습니다. 그리고 ecu kr 로 바꾸라는 것도 있던데 그대로 해도 안되고...ㅠㅠ,.. 해결 방법이 있을까요?
      • 개발새발
        23.06.18 완료
      • 오늘도긍정적으로
        2023년 05월 23일 화요일 학습완료!
      • senny
        20230405 완료
      • 서달
        20230303
      • AgainstartJH
        2023년 02월 14일 학습완료!
      • 왐료
      • coster97
        .
      • wwwqiqi
        완료
      • 하앙
        문자 ‘문’
        문자열 “문자열”
        문자열 안에 따옴표
        System.out.println("자바 \"공부하자\"");
      • 람보
        2022.8.15 완료
      • SunHo Hong
        \n ^^
      • eunbee
        22-05-12
      • 치키티타
        220509
      • 코드파괴자
        22.05.06 Attack Ride. num & char !!
      • 20220423
      • 이호연
        20220403 완료
      • 김은희
        20220330 복습완료
        이스케이프 역슬래쉬 어렵당
      • 김은희
        20220329 완료
        문자 ' ' Character
        문자열 " " String
        이 강의 복습하기
      • aesop0207
        22.03.12. Sat.
      • 카멜리안_최유리
        20220204 완료
        1. 따옴표가 없는 숫자는 숫자로 인식 - 실수, 정수는 다른 데이터 타입
        2. 문자 '', 문자열 ""
        3. 문자의 연산 ""+""
        4. 큰 따옴표 문자열로 출력하기 "\"hi\""
        5. 줄바꿈 : \n
      • 모찌말랑카우
        22.01.18
      • 생동태
        2022.01.03
      • 구니
        21.12.30 완료
      • 크런키
        2021.12.26
        숫자와 문자 : 문자'', 문자열"", '문자'->에러
        이스케이프 : " I said "wow"" x, " I said \"wow\"" O, \"-> 이스케이프
        줄바꿈 : \n
      • syh712
        2021-11-24
        문자 '', 문자열 "", 문자열에 ''을 넣어주면 에러임.
        이스케이프\:: "he said \"hello\"");
        줄바꿈\n: "he said\n \"hello\"");
      • 드림보이
        2021.11.05. 숫자와 문자 파트 수강완료
      • 네제가해냈습니다
        211011
      • 성치
        2021-10-11일 완료
      • H4PPY
        211007
      • QURUQURU
        21.10.07
      • 미NI언
        10.5 완료!
      • 아하
        21.09.27 완료
      • 기구한인생
        2021. 09. 12 완료
      • 오션호스
        210815완료
      • super1Nova
        210809
      • 자바입문공부
        완료!
      • 알포
        하나 이상의 문자열이 있어야 다른 문자를 더했을 때 2글자가 넘으니 문자열로 잘 표시되는데, 둘 모두 문자끼리 더하셔서 그래요.
        98은 각 문자(여기선 '1'과 '1')를 의미하는 숫자 값을 합한 값이 나온 겁니다~
        (형변환)System.out.println((int)'1'); 로 확인하실 수 있으실거에요
        대화보기
        • 장인호
          숫자끼리 더한것이 아니라 문자끼리 더했기때문에 이상한 값이 나온겁니다
          대화보기
          • 김밥말이
            숫자에 작은 따옴표는 왜 넣으셨어용?
            대화보기
            • 성우
              System.out.println('1'+'1'); 는 왜 값이98이라 나오는건가요?
            • 악어수장
              2021-5-11 2회독 완료
            버전 관리
            egoing@gmail.com
            현재 버전
            선택 버전
            graphittie 자세히 보기