
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 |