연산자의 기본 문법 이해하기

JongseokLee·2021년 7월 25일
0
post-thumbnail

연산자의 기본 문법 이해하기


수식이란?

피연산자(operand)와 연산자(operator)로 구성된 문장
피연산자는 상수 또는 변수를 사용

연산자의 형식

단항 연산자 : 피연산자가 한 개의 연산자
이항 연산자 : 피연산자가 두 개의 연산자
삼항 연산자 : 피연산자게 세 개의 연산자

연산자 종류

산술 연산자, 대입 연산자, 증감 연산자, 관계 연산자, 논리 연산자, 조건 연산자, 비트 연산자, 기타 연산자

산술 연산자

덧셈, 뺄셈, 나눗셈 연산자는 정수형과 실수형 계산 가능
나머지 연산자는 정수형 계산만 가능

대입 연산자

연산자 오른쪽에 있는 값을 왼쪽에 대입 또는 저장하는 연산자

증감 연산자

정수형 변수의 값을 1 증가 시키거나 감소시킬 때 사용

관계 연산자

연산자를 기준으로 양쪽의 피연산자를 비교하여 참(true)과 거짓(false)을 판별

논리 연산자

피연산자를 대상으로 참(true)과 거짓(false)을 판별

조건 연산자

피연산자의 역할

-첫 번째 피연산자: 조건식(참 또는 거짓)
-두 번째 피연산자: 조건식이 참인 경우 수행하는 상수,변수, 수식
-세 번째 피연산자: 조건식이 거짓인 경우 수행하는 상수, 변수, 수식

No우선순위연산자
1괄호, 단항 연산자() - ~ ! ++ -- (자료형)
2산술 연산자* / % + - 비트 연산자 (<<>> >>>)
3관계 연산자== != > < >= <= instanceof
4비트 연산자&
5논리 연산자&&
6조건 연산자? :
7대입 연산자= += -= *= /= %=

비트 연산자

비트(bit) 단위로 연산
종류

-비트 논리 연산자
-비트 시프트(shift) 연산자

논리, 조건, 비트연산자 코드 연습

public class OpExam_2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// 논리 연산자 실습
		boolean result;
		int a = 15, b = 25;
		result = !(a < b);
		System.out.println("!("+a+" < "+b+") : "+result);
		result = (a > 10) && (b < 20);
		System.out.println("("+a+">10) && ("+b+"<20) : "+result);
		result = (a > 10) || (b < 20);
		System.out.println("("+a+">10) || ("+b+"<20) : "+result);
		result = (a > 10) || (b < 20) && !(a < b);
		System.out.println("("+a+">10) || ("+b+"<20) && !("+a+"<"+b+") : "+result);

		// 조건 연산자 실습(삼항 연산자)
		int value;
		value = (a < b)  ?  10  : 20;
		System.out.println("("+a+"<"+b+") ? 10 : 20; value = "+value);
		value = (a < b)  ?   a  :   b;
		System.out.println("("+a+"<"+b+") ? a : b; value = "+value);
		value = (a < b)  ?   b - a  :   a - b;
		System.out.println("("+a+"<"+b+") ? b-a : a-b; value = "+value);

		// 비트 연산자 실습
		
		a = 1;
		value = ~a;
		System.out.println("~"+a+" : "+value);
		
		a = 3;
		b = 5;
		value = a & b;
		System.out.println(a+" & "+b+" : "+value);
		
		value = a | b;
		System.out.println(a+" | "+b+" : "+value);
		
		value = a ^ b;
		System.out.println(a+" ^ "+b+" : "+value);
		
		a = 10;
		value = a << 1;
		System.out.println(a+" << 1 : "+value);
		
		value = a >> 1;
		System.out.println(a+" >> 1 : "+value);

		a = -1;
		value = a >>> 1;
		System.out.println(a+" >>> 1 : "+value);
		
	}

}

<RESULT>
!(15 < 25) : false
(15>10) && (25<20) : false
(15>10) || (25<20) : true
(15>10) || (25<20) && !(15<25) : true
(15<25) ? 10 : 20; value = 10
(15<25) ? a : b; value = 15
(15<25) ? b-a : a-b; value = 10
~1 : -2
3 & 5 : 1
3 | 5 : 7
3 ^ 5 : 6
10 << 1 : 20
10 >> 1 : 5
-1 >>> 1 : 2147483647

---

import java.util.Scanner;

public class OpTotal {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner s = new Scanner(System.in);
		System.out.print("첫번째 정수값 입력하세요 : ");
		int a = s.nextInt();
		System.out.print("두번째 정수값 입력하세요 : ");
		int b = s.nextInt();
		
		// 산술연산
		System.out.println(a+" + "+b+" = "+ (a+b));
		System.out.println(a+" - "+b+" = "+ (a-b));
		System.out.println(a+" * "+b+" = "+ (a*b));
		System.out.println(a+" / "+b+" = "+ (a/b));
		System.out.println(a+" % "+b+" = "+ (a%b));
		
		// 관계연산
		System.out.println(a+" < "+b+" = "+ (a<b));
		System.out.println(a+" > "+b+" = "+ (a>b));
		System.out.println(a+" <= "+b+" = "+ (a<=b));
		System.out.println(a+" >= "+b+" = "+ (a>=b));
		System.out.println(a+" == "+b+" = "+ (a==b));
		System.out.println(a+" != "+b+" = "+ (a!=b));
		
		// 증간연산
		System.out.println("(++"+a+") : "+(++a));
		
		// 복합대입연산
		b += 2;
		System.out.println("b += 2 : "+ b);
		
		// 조건연산(삼항연산)
		String result = ((a % 2)==0) ? "짝수" : "홀수";
		System.out.println(a+" : "+result);

		// 논리연산
		boolean value = (b >= 10) && ( b <= 20);
		System.out.println(b+"(10에서 20사이의 값) : "+value);
		
		// 비트연산
		System.out.println(a+" & "+b+" = "+(a&b));
		System.out.println(a+" | "+b+" = "+(a|b));
		System.out.println(a+" ^ "+b+" = "+(a^b));
	}

}

<Result>

첫번째 정수값 입력하세요 : 10
두번째 정수값 입력하세요 : 10
10 + 10 = 20
10 - 10 = 0
10 * 10 = 100
10 / 10 = 1
10 % 10 = 0
10 < 10 = false
10 > 10 = false
10 <= 10 = true
10 >= 10 = true
10 == 10 = true
10 != 10 = false
(++10) : 11
b += 2 : 12
11 : 홀수
12(10에서 20사이의 값) : true
11 & 12 = 8
11 | 12 = 15
11 ^ 12 = 7
profile
DataEngineer Lee.

0개의 댓글