서노썬
sun noes sun
서노썬
전체 방문자
오늘
어제
  • 카테고리 (142)
    • Java (89)
      • Day1 (20)
      • Day2 (16)
      • Day3 (4)
      • Day4 (5)
      • Day5 (2)
      • Day6 (2)
      • Day7 (4)
      • Day8 (6)
      • Day9 (3)
      • Day10 (0)
      • Day11 (0)
      • Day12 (0)
      • Day13 (3)
      • Day14 (0)
      • Day15 (0)
      • Day16 (0)
      • Day19 (0)
      • Day20 (0)
      • Day21 (2)
      • Day22 (4)
      • Day23 (2)
      • Day24 (5)
      • Day25 (4)
      • Day27 (2)
      • Day28 (3)
      • Day29 (1)
      • Day30 (1)
      • Day31 (0)
      • Day32 (0)
      • Dat33 (0)
      • Day34 (0)
      • Day35 (0)
      • Day36 (0)
    • HTML (37)
      • Day36 (20)
      • Day37 (3)
      • Day38 (2)
      • Day39 (8)
      • Day40 (3)
    • SQL (4)
      • Day40 (4)
      • Day41 (0)
      • Day42 (0)
      • Day43 (0)
      • Day44 (0)
      • Day45 (0)
    • JSP (0)
      • Day46 (0)
      • Day75 (0)
    • PYTHON (0)
      • Day75 (0)
      • Day76 (0)
    • Photo (12)

블로그 메뉴

  • 홈
  • 방명록

인기 글

최근 글

태그

  • 자바자료형
  • 자바continue
  • java데이터타입
  • 자바break
  • 논리연산자
  • 자바연산자
  • 자바
  • Java
  • java자료형
  • java메뉴입력

티스토리

hELLO · Designed By 정상우.
서노썬

sun noes sun

문자열과 데이터 타입에 대한 연산
Java/Day1

문자열과 데이터 타입에 대한 연산

2021. 10. 28. 22:58

 

1. 용어 설명


(1) 변수 : 변하는 수
(2) 상수 : 항상 똑같은 수
(3) int : integer 정수
(4) = : 대입 연산자
(5) // : 컴파일 할 때 무시가 됨 (주석처리, 영어로 comment)
(6) /*  */ : 이 사이에 오게 되는 내용들을 전부 컴파일 할 때 무시.
(7) data type : 데이터 타입 , 자료형

 

 

2. 내용 설명 (코드 풀이? 라고 해야 할까)


(1) 변수를 줄 때에는 자료형 int를 적어주고 변수 num을 적은 후 세미콜론 ;으로 마무리


(2) int num

num 이라는 변수를 사용할 것인데 정수이기 때문에 int 라는 자료형을 줌


(3) System.out.println(num);

괄호 안의 변수 num이 가지고 있는 값을 출력하게 됨


(4) System.out.println("num");

쌍따옴표를 주었기 때문에 num은 문자열로 인식되어 num 출력


(5) num1과 num2

메인 메소드 안에 선언된 지역 변수 local variable


(6) System.out.println("안녕" + num1);

서로 다른 데이터 타입은 연산이 되지 않는다. 그렇기 때문에 num1에 10이 대입된 후 내부적으로 문자열로 인식하여 "안녕" + "10"이 되어 결국 '안녕 10' 이 출력되는 것이다.

(7) System.out.println("안녕" + "num1");

쌍따옴표 안에 들어있는 num1은 그 자체가 문자열로 인식이 되어 '안녕 num1'로 출력이 된다.

(8) System.out.println(5 + 3 + "안녕");

덧셈의 경우 연산의 순서가 왼쪽에서 오른쪽으로 진행되고 정수 5와 3은 자료형이 같기 때문에 연산이 되어 (5 + 3 + "안녕") 은 (8 + "안녕") 이 된다. 하지만 정수와 문자열은 자료형이 다르기 때문에 연산이 되지 않는다. 그렇기 때문에 내부적으로 8을 문자열로 인식하여 ("8" + "안녕") 으로 인식되고 결국 '8 안녕' 이라는 값이 출력이 된다.

(9) System.out.println("안녕" + 5 + 3);

마찬가지로 덧셈. 왼쪽에서 오른쪽으로 연산이 진행된다. 그렇기 때문에 ("안녕" + 5 + 3) 의 경우 "안녕" 이라는 문자열과 5라는 정수가 먼저 연산되는데 서로 자료형이 다르기 때문에 내부적으로 5를 정수가 아닌 "5" 문자열로 인식하여 "안녕" + "5" 가 되어 서로 문자열로써 데이터 타입을 동일하게 인식하게 된다. 그렇기 때문에 "안녕5" 가 되고 ("안녕5" + 3) 이 된다. 또 문자열인 "안녕5"와 정수 3은 데이터 타입이 서로 다르기 때문에 3을 내부적으로 문자열인 "3" 으로 인식하여 결국 '안녕53' 이라는 값이 출력 된다.

※ 여기서 안녕을 넣어 기재되었던 예시는 삭제하고 아래 식으로 내용 바꼈다.

(10) System.out.println("num1=" + num1 + "num2=" + num2);

덧셈이라 왼쪽에서 오른쪽으로. 우선 num1과 num2가 대입된 ("num1=" + 10 + "num2=" + 20)으로 바뀐 후 "num1= " + 10 이 먼저 연산되는데 이때 문자열과 정수의 연산이기 때문에 연산이 되지 않는다. 그래서 내부적으로 10은 "10" 문자열로 인식이 되고 ("num1= 10" + "num2= " + 20)이 된다. 이 때 (문자열 + 문자열 + 정수)로 되어 있는 형태이기 때문에 ("num1 = 10" + "num2= " + "20)으로 되고 내부적으로 정수 20은 "20" 문자열로 인식된다 그래서 ("num1 = 10" + "num2= 20")이 된 후 'num1= 10 num2= 20' 이 출력된다.

'Java > Day1' 카테고리의 다른 글

for 반복문을 사용하여 1부터 100까지의 합 구하기  (0) 2021.10.28
for 반복문을 사용하여 '1안녕'부터 '10안녕' 까지 출력해보기  (0) 2021.10.28
for 반복문  (0) 2021.10.28
java 코드 커맨드 창에서 Hello 출력해보기  (0) 2021.10.28
JDK 다운로드 설치 및 환경변수 Path 설정  (0) 2021.10.28
    'Java/Day1' 카테고리의 다른 글
    • for 반복문을 사용하여 '1안녕'부터 '10안녕' 까지 출력해보기
    • for 반복문
    • java 코드 커맨드 창에서 Hello 출력해보기
    • JDK 다운로드 설치 및 환경변수 Path 설정

    티스토리툴바