티스토리 뷰

변수에 이어 연산자를 알아보도록 하겠습니다.


연산자는 프로그래밍언어에서 가장 기본적이면서도 중요한 요소입니다.


종류 

연산자 

단항 연산자 

++ , -- , + , - , ~ , !

산술 연산자 

* , / , %

+ , -

<< , >> , >>>

비교 연산자

> , < , >= , <= , instanceof

== , !=

논리 연산자 

&

^

!

&&

||

삼항연산자 

___?___:___

대입 연산자

= , *= , /= , %= , += , -= , 

<<= , >>= ,>>>= , &= , ^= . |=


연산자의 진행방향이 있지만 일반적인 수학계산에서 사용되는 ( )를 


사용하여 먼저 계산해야할 것 부터 괄호 () 묶어주면 


진행방향을 따로 공부할 필요는 없다고 판단되어 표를 작성했습니다.



이러한 연산자가 있으며 아래 실습 예제를 통해 공부하시면 됩니다.



public class OperatorExample {
	public static void main(String[] args) {


		// 단항, 산술 연산자 예제

		int a = 10;
		a++;					// 후위 증가 (세미콜론을 지나가면 1 증가)  -> a = 10;
		System.out.println(a); 	// a => 11
		
		int b = 10;
		++b;					// 전위 증가 (세미콜론을 만나기 전에 1 증가) -> b = 11;
		System.out.println(b);	// b => 11
		
		int c = 10;
		int d = 10;
		
		System.out.println(c++); // c => 10
		System.out.println(++d); // d => 11
		
		int e = 0;
		
		System.out.println(e++); //0
		System.out.println(++e); //2
		System.out.println(e--); //2
		System.out.println(e--); //1
		System.out.println(++e); //1
		System.out.println(--e); //0
	
		System.out.println(2+2*2); //곱셈이 우선 순위가 높기 때문에 2*2 부터 실행
		// 2+2*2 먼저 계산을 원하는 곳에 괄호()를 사용하여 우선순위 적용할 수 있다. => (2+2)*2 = 8 , 2+(2*2) = 6 
		
		System.out.println(2+2/2*3+2/1-3+1/4*2);
		System.out.println(2+((2/2)*3)+(2/1)-3+((1/4)*2));
		
		//메모리 크기에 따른 나눗셈
		System.out.println(5/2); // 몫 구하기
		System.out.println(5%2); // 나머지 구하기
		// 형변환을 사용한 나눗셈
		System.out.println((double)5/2);
		System.out.println(5/(double)2);
		System.out.println((double)(5/2));


		// 비교, 논리, 삼항, 대입 연산자 예제
		
		int num1 = 10;
		int num2 = 5;
		
		System.out.println(num1 > 10); 	//false => num1이 10보다 큰가?
		System.out.println(num1 >= 10);	//true	=> num1이 10보다 크거나 같은가?
		
		System.out.println(num2 < 10); 	//true 
		System.out.println(num2 < num1);//num2가 가지고 있는 값이 num1이 가지고 있는 값보다 작은가?
		
		// = -> 대입연산
		// == : 왼쪽에 있는 값이 오른쪽에 있는 값과 같은가?
		// != : 왼쪽에 있는 값이 오른쪽에 있는 값과 다른가? (부정)
		System.out.println(num1 == 10); // num1의 값이 10과 같은가?
		System.out.println(num1 != 10); // num1의 값이 10과 같지 않은가?
		System.out.println(num1 != num2);
		
		// num1이 5보다 크고, 10보다 작거나 같은가? ==> true
		System.out.println(num1 > 5 && num1 <= 10);
		
		// num2가 5보다 작거나 같거나 num2가 10보다 큰가? ==> true
		System.out.println(num2 <= 5 || num2 >10);
		
		// 5<num<10 ==""> 잘못된 문법
		
		// && (AND) : 왼쪽이 거짓이면 오른쪽 연산은 수행하지 않는다.
		// || (OR ) : 왼쪽이 참이면 오른쪽 연산은 수행하지 않는다.
		
		// 조건연산자 (삼항연산자)
		// num1이 num2보다 크다면 num3에 10을 집어 넣고
		// 아니면 num3에 20을 집어 넣어라.
		// 조건 (비교, 논리) -> boolean이 결과물 ? 참일때 실행할 문장 : 거짓일 때 실행할 문장 ;
		int num3 = num1 >num2 ? 10 : 20;
		System.out.println(num3);
		
		int num4 = 5;
		num4 +=5; //num4 = num4 + 5
		
		System.out.println(num4);
		
		num4 -= 10; //num4 = num4 - 10
		num4 *= 1;  // num4 = num4 *1


	}
}


반응형
LIST
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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 29 30 31
글 보관함