(2) - 연산자와 제어문

4823 단어 JavaJava

연산자란?

연산자는 일정한 규칙을 가지고 계산하는 것으로서, 우리가 일상생활에서 사용하고 있는 덧셈, 뺄셈, 곱셈, 나눗셈을 비롯하여프로그램에서는 자동 증감, 동등 비교, 비트 연산 등 많은 연산자가 있다.
Java에서 사용하는 연산자는 아래와 같다.

산술연산자: +, -, *, /, %
자동증감 연산자: ++, --
동등비교, 관계연산자: ==, !=, <, >, <=, >=

첫번째 산술 연산자 +, -, *는 더하기, 빼기, 곱하기 이다. /는 나누기, %는 나머지 연산자이다.
두번째 자동증감 연산자 ++ 즉 자동으로 1을 증가한다는 것이다. --는? 자동으로 1을 차감하는 것이다.
세번째 동등비교, 관계연산자는 말그대로 같거나 같지 않거나, 크거나 작거나, 크거나 같거나 작거나 같더나, 이렇게 나뉘어 진다. 예제를 봐보자.

public class CalculationEx {
	public static void main(String[] args) {
		
		int i = 10;
		int j = 3;
		int h = 5;
		
		System.out.println("=== 산술 연산자 ===");
		System.out.println("덧셈 : " + (i + j));	// 13
		System.out.println("뺄셈 : " + (i - j));	// 7
		System.out.println("곱셈 : " + (i * j));	// 30
		System.out.println("나눗셈 : " + (i / j)); // 3
		System.out.println("나머지 : " + (i % j)); // 1
		
		
		System.out.println("=== 자동증감 연산자 ===");
		i++;	// i = i + 1
		System.out.println("증가 : " + i);
		j--;	// j = j - 1
		System.out.println("감소 : " + j);
		
		System.out.println("=== 동등비교, 관계 연산자 ===");
		System.out.println("i == j >> " + (i == j));			
		System.out.println("i != j >> " + (i != j));
		System.out.println("i > j >> " + (i > j));
		System.out.println("i < j >> " + (i < j));
        }
    }

이것 이외에 Java엔 논리 연산자, 삼항 연산자, 할당 연산자, 줄여쓰는 연산자 등 다양한 연산자가 있다.

논리 연산자: %%, ||
삼항 연산자: '?'를 이용한 연산 (예제 참고)
할당 연산자: = -> 변수에 데이터를 넣을 때 사용하는 연산자
줄여쓰는 연산자: +=, -=

package com.javalec.calex;

public class CalculationEx {
	public static void main(String[] args) {
		
		int i = 10;
		int j = 3;
		int h = 5;
		
		System.out.println("=== 논리 연산자 ===");
		System.out.println("&&(AND) >> " + (i > j && i > h));
		System.out.println("&&(AND) >> " + (i > j && i < h));
		System.out.println("||(OR) >> " + (i > j || i < h));
		System.out.println("||(OR) >> " + (i > j || i > h));
		
		System.out.println("=== 삼항 연산자 ===");
		int result = h != 5 ? 1 : 2;
		System.out.println("삼항연산 결과(result) " + result);
		
		System.out.println("=== 할당 연산자 ===");
		System.out.println("h = " + h);
		h = i;
		System.out.println("h = " + h);
		
		System.out.println("=== 줄여 쓰는 연산자 ===");
		i = i + 100;
		System.out.println("i = " + i);
		i = 11;
		System.out.println("i = " + i);
		i += 100; // i += 100;
		System.out.println("i = " + i);
		
	}
}

&&은 AND 연산자로 두 조건이 모두 같을 때 참을 반환하는 연산자이다. ||은 OR 연산자로 두 조건 중 하나만 참이면 참을 반환하는 연산자이다.
삼항 연산자는 왼쪽 조건이 참이면 ? 뒤 첫번째 요소를 반환하고 아니면 두번째 요소를 반환한다.
줄여쓰는 연산자의 경우 i = i +100 -> i+=100이 되는 것이다.

제어문이란?

제어문은 어떤 상황을 판단하여 결과를 true와 false를 반환하는 것이다. 예를 들어 감기가 심하여 회사를 갈까 말까 등이 될수도 있다.
제어문의 종류는 아래와 같다.

if문, if-else문, if-else if문 -> (이것들을 혼합해서 사용하기도 한다.)

이것만 보면 뭐가 뭔지 모를 것이다. 예제를 통해 봐보자! (영어만 봐도 뭔지 느낌이 올것이다.)
if문 예제!

public class IfEx {
	public static void main(String[] args) {
		
		int i = 10;
		int j = 20;
		int h = 10;
		
		if(i > j) {
			System.out.println("i가 j보다 큽니다.");
		}
		
		if(i == h) {
			System.out.println("i와 h는 같습니다.");
		}
		
	}
}

매우 간단한 로직이다. 배운 연산자를 통해서 비교하면 되는 것이다. i > j에선 j 가 더 크므로 출력문이 출력되지 않는다. 하지만 두번째 조건은 참이기 때문에 실행된다.
if-else문 예제!

ublic class IfElseEx {
	public static void main(String[] args) {
		
		int i = 10;
		int j = 20;
		int h = 30;
		int k = 10;
		
		if(i > j) {
			System.out.println("i는 j보다 " + (i - j) + "만큼 더 큽니다.");
		} else {
			System.out.println("j는 i보다 " + (j - i) + "만큼 더 큽니다.");
		}
		
		if((i + j) == h){
			System.out.println("i와 j의 합은 h와 같습니다.");
		} else {
			System.out.println("i와 j의 합은 h와 같지 않습니다.");
		}
		
	}
}

이것도 매우 쉽다. 그냥 else가 추가된 것이다. 한마디로 조건이 아니면? 일때 실행하는 것이다! 너무너무 쉬운 것이다.
if-else if문 예제

public class IfElseIf {
	public static void main(String[] args) {
		
		int seoulLunchPrice = 5000;
		
		if(seoulLunchPrice >= 9000){
			System.out.println("서울 물가 왕 비싸네요.");
		} else if(seoulLunchPrice >= 7000){
			System.out.println("서울 물가 조금 비싸네요.");
		} else if(seoulLunchPrice >= 5000){
			System.out.println("서울 물가 적당 하네요.");
		} else {
			System.out.println("서울 물가 저렴 하네요.");
		}
		
	}
}

이것은 조건을 여러개를 걸 때 사용하는 것이다. 각각 조건을 타고 내려가면서 옳은 조건이 있다면 그 출력문을 출력하는 것이다. 매우 쉬운 로직이다.

오늘은 여기까지..!

매우 쉬운 것들이라도 글로 정리해보며 다시 한번 되새길 수 있는 것 같다. 솔직히 java는 추상화랑 상속, 메소드, 인터페이스까지는 다른 프로그래밍 언어와 비슷하기 때문에... 같은 부분에 해당하는 내용을 작성해야 하는지 약간 의문이다..ㅋㅋㅋㅋㅋ

좋은 웹페이지 즐겨찾기