JAVA_07_연산자

charl hi·2021년 8월 6일
0

JAVA

목록 보기
7/53

연산자

산술 연산자

: +, -, *, /,(몫) %(모듈, 나머지)

비교 연산자

: >, <, >=, <=, ==, !=

논리 연산자

: &&, ||, !

대입 연산자

: =

  • ✨순서 : 오른쪽 -> 왼쪽

x = y = z
1) y에 z 대입 후에
2) x에 y 대입

  • lvalue

    • 대입 연산자의 왼쪽 피연산자
    • 변수나 배열 같은 저장공간! (상수X)
  • rvalue

    • 대입 연산자의 오른쪽 피연산자

기타

  • 형변환 연산자

: (type)
: -> JAVA_07

  • 삼항 연산자

: (x > y)? x : y
: 왼쪽 식이 참이면 x반환, 아니면 y반환

  • instanceof 연산자

: -> JAVA_35

  • 증감 연산자, 부호 연산자, 단항 연산자(부호 연산자 포함)...

증감 연산자

  • ✨✨ 값이 참조될 땐 전위형/후위형은 다르다!!
    • 전위형 : j = ++i;
      = ++i; -> j = i;
      = 증가 후에 참조하여 대입
    • 후위형 : j = i++;
      = j = i; -> i++;
      = 참조하여 대입 후 증가
  • 독립적으로 쓰였을 땐 같다.


초를 받아 몇분 몇초인지 계산하는 프로그램


public class Main {

	final static int SECOND = 1000;
	
	public static void main(String[] args) {
		
		int minute = SECOND / 60;
		int second = SECOND % 60;
		System.out.println(minute + "분 " + second + "초");
	}

}

16분 40초

++ & --


public class Main {

	public static void main(String[] args) {
		
		int a = 10;
		System.out.println("현재의 a는 " + a + "입니다.");    // 10
		a++;
		System.out.println("현재의 a는 " + a + "입니다.");    // 11
		System.out.println("현재의 a는 " + ++a + "입니다.");  // 12
		System.out.println("현재의 a는 " + a++ + "입니다.");  // 12 
		System.out.println("현재의 a는 " + a + "입니다.");    // 13

	}

}

현재의 a는 10입니다.
현재의 a는 11입니다.
현재의 a는 12입니다.
현재의 a는 12입니다.
현재의 a는 13입니다.
  • i++ : 현재 i값 출력 후 출력문을 빠져나간 뒤 i+1 로
  • ++i : 현재 i값+1 후 출력

==, >, <, &&, ||, !



public class Main {

	public static void main(String[] args) {
		
		int a = 50;
		int b = 50;
		
		System.out.println("a와 b는 같은가요? " + (a == b));
		System.out.println("a가 b보다 큰가요? " + (a > b));
		System.out.println("a가 b와 같으면서 a가 30보다 큰가요? " + ((a == b)&&(a > 30)));
		System.out.println("a와 b는 다른가요? 다르면 true.. " + (a != b));
		System.out.println("a는 50이 아닌가요? 아니면 false.. " + !(a == 50));

	}

}

a와 b는 같은가요? true
a가 b보다 큰가요? false
a가 b와 같으면서 a가 30보다 큰가요? true
a와 b는 다른가요? 다르면 true.. false
a는 50이 아닌가요? 아니면 false.. false

조건 연산자

조건 ? 식1 : 식2

  • 조건이 참이면 왼쪽(참 부분) 출력, 거짓이면 오른쪽(거짓 부분) 출력
    (a > b) ? a : b

함수 모형

  • 반환형 함수이름 (매개변수1, 매개변수2)
    int max (int x, int y)
  • ✨ 함수를 main에 넣지 않도록 조심하자 !!
  • 👀👀 난 저 static을 언제 넣는지 아직도 모르겠다.

public class Main {

	public static void main(String[] args) {

		int a = 50;
		int b = 60;
		
		System.out.println("최댓값은 " + max(a, b) + "입니다." );
		
	}
		// 반환형 함수이름 매개변수
	static int max(int x, int y) {
		int result = (x > y) ? x : y;
		return result;
	}
}

최댓값은 60입니다.

pow() 함수 & 거듭제곱 연산 프로그램

Math.pow(double형 a, double형 b);

  • a의 b제곱의 값을 출력
  • ✨ 반드시!! double 형으로 넣어야 한다.
    3 (x) -> 3.0 (o)
  • int 형으로 바꾸고 싶으면 아래와 같이 ✨(int) 필수 !!

public class Main {

	public static void main(String[] args) {
		
		double a = Math.pow(3.0, 20.0);
		System.out.println("3의 20제곱은 " + (int) a + "입니다.");
		
		int b = (int) Math.pow(3.0, 20.0);
		System.out.println("3의 20제곱은 " + b + "입니다.");
	}

}

안전하게 위의 방식으로 하자.


3의 20제곱은 2147483647입니다.
3의 20제곱은 2147483647입니다.


Ref

0개의 댓글

관련 채용 정보