백엔드/나도코딩 자바

[나도코딩 자바 챕터2] 산술연산자(전반,후반) 변수++,++변수,+변수

응개야 2023. 8. 14. 12:04

산술연산자

 

//일반 연산
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명인 것.