Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

Chihiro's Blog

[Java] 5일차 - Operator 본문

프로그래밍 언어/JAVA

[Java] 5일차 - Operator

ChihiroVega 2019. 5. 14. 17:43

1. 연산자 (Operator)

연산자는 대입 연산자와 산술 연산자로 구분이 됩니다.

대입 연산자 (assignment operator) = (등호, 오른쪽 값을 왼쪽에 대입(저장))
산술 연산자 (arithmetic operator) +, -, *, /, (나머지 연산자는 %)

나머지 연산자 구하기 (%)

int result;
int num1 = 7, num2 = 3;
		
System.out.println(num1 + "/" + num2 + " = " + (num1 / num2));
System.out.println(num1 + "%" + num2 + " = " + (num1 % num2));

출력된 값은
7%3 = 1

두개의 변수값 바꾸기

int num3 = 100;
int num4 = 200;
int temp; // 임시 변수 생성
		
System.out.println("바꾸기 전 num3 = " + num3 + " num4 = " + num4);
temp = num3;
num3 = num4;
num4 = temp;
System.out.println("바꾼 후 num3 = " + num3 + " num4 = " + num4);

결과값
바꾸기 전 num3 = 100 num4 = 200
바꾼 후 num3 = 200 num4 = 100

대입 연산자도 연산자 입니다. 따라서 연산의 결과값이 있습니다.


2. 복합 대입 연산자 (compound assignment operators)

복합 대입 연산자에는

("+=, -=, *=, /=, %=, 등..") 이 있습니다.


기본 변수값 증가 감소하기

int num1 = 10;
// 기본 변수값 증감
num1 = num1 + 100; // num1에 100을 더하기 위한 식
num1 = num1 - 10;
num1 = num1 / 5;
		
System.out.println("num1: " + num1); // 20이 나온다.

기타 복합대입연산자

int num2 = 10;
num2 += 100; // num2 = num2 + 100 과 동일하다.
num2 -= 10;
num2 /= 5;
System.out.println("num2: " + num2); // 똑같이 20이 나옵니다.

3. 부호연산자 (sign operator)

+ 부호 연산자 수의 부호 (양,음) 가 바뀌지 않습니다.
- 부호 연산자 수의 부호 (양,음) 가 바뀝니다.
int num1 = -10;
int num2 = +num1;
int num3 = -num2;

결과값
num1 : -10
num2 : -10
num3 : 10

num1의 값은 -10이며,

num2에서 부호연산자 +가 붙어 +num1 이 되었는데,

이 경우 수의 부호가 바뀌지 않음으로 num2의 값은 그대로 -10이며

num3의 경우 -num2가 입력되어 있고, 수의 부호가 바뀌게 됩니다.

따라서 num3의 값은 10이 나오는 것 을 알 수 있습니다.


4. 증감연산자 (Increment / Decrement Operator)

++ 변수 변수의 값을 1 증가시켜서 저장합니다.
-- 변수 변수의 값을 1 감소시켜서 저장합니다.

증감연산자에는 prefix(접두사), postfix(접미사) 가 있는데,
  접두사(prefix)인 경우에는, 증감(++, --)이 먼저 된 후 다른 연산자가 동작하며
  접미사(postfix)인 경우에는, 다른 연산자 먼저 실행된 후 증감(++, --)이 동작합니다.


++ 변수를 이용한 예시

int num1 = 100;
num1++;     // num1 변수값 1 증가

결과값
101 이 나옵니다.

-- 변수를 이용한 예시

int num2 = 200;
--num2;
num2--;
System.out.println("num2: " + num2); // 두번 감소하여 198 나온다.

증감연산자는 변수 앞 / 뒤에 놓아도 된다는 것을 알 수 있습니다.


접두사 prefix 의 경우

접두사(prefix)인 경우에는, 증감(++, --)이 먼저 된 후 다른 연산자가 동작한다는 것을 기억하자!

int num3 = 100;
int num4 = ++num3;  // prefix		
		
System.out.println("num3: " + num3);
System.out.println("num4: " + num4);

결과값

num3: 101
num4: 101

postfix 의 경우

접미사(postfix)인 경우에는, 다른 연산자 먼저 실행된 후 증감(++, --)가 동작한다는 것을 기억하자!

int num5 = 100;
int num6 = num5++; // postfix
		
System.out.println("num5: " + num5);
System.out.println("num6: " + num6);

결과값

num5: 101
num6: 100

증감 연산자는 가극접 단독으로 사용하는 것이 좋다.

int num8 = 100;
num8++; // 증감 연산자는 가급적 단독으로 사용하기
System.out.println("num8 : " + num8);

5. 관계 (비교) 연산자

 - 비교 연산의 결과를 참(true) 또는 거짓(false)으로 리턴하는 연산자

A < B A는 B보다 작다 
A > B A는 B보다 크다
A >= b A는 B보다 크거나 같다
A <= B A는 B보다 작거나 같다
A == B A와 B가 같다
A != B A와 B는 다르다
System.out.println(10 < 20);
System.out.println(10 > 20);
		
boolean b = 1.2 <= 2.3;
System.out.println("b = " + b);

boolean 공부하기


6. 논리 연산자 ( &&, ||, !, ^)

1. A && B A와 B가 모두 참일 때만 결과가 true, 나머지는 결과가 false
2. A || B A나 B 둘 중 하나가 참이면 결과가 true, 둘 다 거짓이면 결과가 false
3. !A A가 참이면 결과가 false, 거짓이면 결과가 true
4. A ^ B (XOR 연산) A, B 둘의 논리값이 같으면 false, 다르면 true

논리연산자는 말로 표현이 가능해야 한다. 익히고 그리면서 공부하자.

int num1 = 10;
		
		
System.out.println(num1 > 0 && num1 < 100); // 1번 - true
System.out.println(num1 > 0 && num1 < 10); // - false
		
        
System.out.println(num1 < 0 || num1 > 100); // 2번 - false
			
            
System.out.println(!(num1 > 0) ); // 3번 - false
				
                
System.out.println(num1 < 0 ^ num1 > 100); // 4번 - false 
System.out.println(num1 < 0 ^ num1 < 100); // - true

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

[JAVA] 7일차 Switch문  (1) 2019.05.22
[Java] 6일차 - If문  (2) 2019.05.15
[Java] 4일차 - Input  (2) 2019.05.14
[JAVA] 1일차. 출력, 연산, 선언, 자동형변환  (1) 2019.05.10
[JAVA] 2차시 메모  (0) 2019.05.10