[나도코딩 자바 챕터2] 산술연산자(전반,후반) 변수++,++변수,+변수
산술연산자
//일반 연산
System.out.println(4 + 2);
System.out.println(4 - 2);
System.out.println(4 * 2);
System.out.println(4 / 2);
System.out.println((double)5 / 2);
System.out.println((double)2 / 4);
System.out.println((double)4 % 2);
System.out.println((double)5 % 2);
sout 출력 괄호 값 안에
사칙연산 +, -, *, /
그리고 %는 나눈 값의 나머지를 뜻한다.
double을 안에 써주는 것은 실수표현을 해주기 위함임.
// 우선 순위 연산
System.out.println(2 + 2 * 2); // 8 or 6
System.out.println(( 2+ 2) * 2);
System.out.println(2 + (2 * 2));
산수의 기초인
괄호안에 것을 먼저 계산해주는것
똑같이 컴퓨터도 마찬가지다.
//변수를 이용한 연산
int a = 20;
int b = 10;
int c;
변수를 지정해주고
c = a + b;
System.out.println(c); // 30
c = a - b;
System.out.println(c); // 10
c = a * b;
System.out.println(c); // 200
c = a / b;
System.out.println(c); // 2
c = a % b;
System.out.println(c); // 0
연산을 할 수 있다.
증감 연산
int val;
val = 10;
System.out.println(val); // 10
System.out.println(++val); // 11
//val에 왼쪽 ++을 넣어줬다.
val이라는 변수에 10을 지정.
sout (val) 먼저 출력 해놓고
sout (++val) 한다면 출력한 값에 왼쪽으로 ++(1)을 넣어주게 된다.
System.out.println(val); // 11
//val = val + 1;
//val++;
//++val;
그리고 나서 val의 값을 보면? 11이 되어있는 것
자 다시 val값 10으로 지정해 준 다음
val = 10;
System.out.println(val); // 10
val++ 을 해본다면?
System.out.println(val++); // 10
// val인 10을 출력함
System.out.println(val); // 11
// val을 출력하고 나서 그 다음 1을 더해주는 연산이라 값 11
val++은 val을 먼저 1차로 출력 후
그 다음 출력값에 1을 더해주는 연산이라 값이 11된다.
응용
val = 10;
System.out.println(val); // 10
System.out.println(--val); // 9
마찬가지로 변수값 10으로 지정한 다음, val로 출력 후
--val을 출력해보면 9
val = 10;
System.out.println(val); //10
System.out.println(val--); // 10
System.out.println(val); // 9
val를 다시 10으로 변수값 해준 후
val 출력
val-- 은 출력을 먼저 하고 나서
다음 줄에 --연산이 붙으므로
다시한번 val을 출력해야 값이 9가 나오게 됨.
많이 헷갈리시죠? 그럼 여기만 봐도 됨!!!
//은행 대기번호 표
int waiting = 0;
System.out.println("대기 인원 : "+waiting++); // 0
System.out.println("대기 인원 : "+waiting++); // 1
System.out.println("대기 인원 : "+waiting++); // 2
은행에서 대기번호 표를 뽑는 상황이라고 가정했을 때
waitng이라는 변수에 0을 선언해주고
첫번째 손님이 대기표 뽑았을 때
출력 => 대기 인원 : 0명
(당연하다 내가 첫 손님이니 대기 손님이 없겠죠)
두번째 사람이 대기표 뽑았을 때
출력 => 대기 인원 : 1명 (첫번째 손님 다음이니)
세번째 사람이 대기표 뽑았을 때
출력 => 대기 인원 : 2명 (두번째 손님 다음이니)
.
.
.
이제 이해가 가시나욧?!
이번엔 총 대기 인원
System.out.println("총 대기 인원 : " +waiting); // 3
// 문장 결과를 출력하고 나서 그 다음 연산이 되는 것
+waitng 변수는 총 대기인원이므로 앞선 값을 다 더하면 총 3명인 것.