Wanna be Brilliant Full-Stack Developer

2/28 JAVA 조건 연산자& 나머지연산자! 본문

Some Memos/Java

2/28 JAVA 조건 연산자& 나머지연산자!

Flashpacker 2022. 2. 28. 17:11


조건 연산자에대해 배워보려고한다! 

조건이 나올때는 비교연산자가 먼저 나와야하는데 

조건이 맞으면 ? 이부분이 실행되고 False이면 :부분이 실행된다. 

이것이 삼항연산자 , 조건 연산자라고 한다! 

여기서는 point가 60보다 크면 result에 "시험을 통과하였습니다" 이 값이 들아가고 

작으면 "내년에 재수강해야합니다."가 result에 담기게 된다 

 

만약에 1 == 1 ; 이 결과 값에 대한 값을 변수에 넣으려면 이거에 대한 결과는
True아니면 false이니 Boolean이 나와야한다. 

boolean result2 = 1 == 1;  이렇게 하면 result2 에는 무엇이 담기냐면 1 == 1 에대한 결과값이 나온다 

비교 연산자의 결과는 항상 true아니면 false지만
삼항 연산자 의 결과는 문자열이 될수도 있고 다른것이 될수도 있다. 

package ch03;

public class OperEx05 {
	public static void main(String[] args) {
		// 삼항 연산자 = 조건 연산자 
		int n1 = 5;
		// 조건(비교연산자) ? true : false
		System.out.println(n1 == 5 ? "5가 맞습니다." : "5가 아닙니다.");
		
		
		int point = 59;
		System.out.println(point >= 60 ? "시험을 통과하였습니다." : "내년에 재수강해야합니다.");
		
		
		String result = point >= 60 ? "시험을 통과하였습니다." : "내년에 재수강해야합니다.";
		System.out.println("결과 : " + result );
		
		boolean result2 = 1 == 1; 
		System.out.println("결과 : " + result2);
		
		int result3 = point < 60 ? 0 : 1;
	}
}

여기에서도 result3에는 point 가 60 보다 작으니까 true이기 떄문에 int값인 0이 result3에 담기게 된다. 

 

만약에 String result3 = point < 60 ? 0 : 1;  이렇게 하면 오류다 왜냐하면 0이 int가  result3 담길것이니까 


문제를 풀기전에 두가지 개념을 배울것이다. 

첫번쨰는 나머지라는것과 두번쨰는 캐스팅이라는 개념이다! 

 

이 나머지라는건 무엇인가? 

%연산자를 쓰면 몫과 나머지를 확인할수 있다. 

 

조금더 다른관점으로 보자면? 

여기서 100원은 1개 값이 몫으로 나오는데 %로 나머지를 구하니 30이나온다

그러면 이거를 3개로 나눠야하니까 /10 하면 연산이 엉킬수가 있으니
괄호로 먼저 계산해야할부분을 덮는다. 

지금 이계산은 그대로 해도 똑같은 값이 나왔지만 그래도 순서에 상관없이 우선순위에따라 괄호를 해놓는 습관을 들여놓는게 좋다.