티스토리 뷰
변수에 이어 연산자를 알아보도록 하겠습니다.
연산자는 프로그래밍언어에서 가장 기본적이면서도 중요한 요소입니다.
|
종류 |
연산자 |
|
단항 연산자 |
++ , -- , + , - , ~ , ! |
|
산술 연산자 |
* , / , % |
|
+ , - | |
|
<< , >> , >>> | |
|
비교 연산자 |
> , < , >= , <= , 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
'프로그래밍 > Java' 카테고리의 다른 글
| 자바 ! 접근 지시 제어자 (private, default, protected, public) (0) | 2017.04.20 |
|---|---|
| 자바 ! 객체지향 프로그래밍 (0) | 2017.04.18 |
| 자바 ! 반복문 (for, while, do~while) (0) | 2017.04.17 |
| 자바 ! 조건문 ( if문 , switch~case문) (1) | 2017.04.14 |
| 자바 ! 변수 (기본자료형, 참조자료형, 자료의 형변환) (0) | 2017.04.12 |
댓글
