부정연산자(flag변수), 삼항연산자, 논리연산자(Short Circuit)

MIN.DI·2021년 6월 8일
0

부정연산자 NOT(!)

boolean play = true; //토글타입의 변수를 flag 변수라고 부름.
		log.info(play);
		
		play = !play;		//부정연산자 NOT(!) 연산
		log.info(play);
		
		play = !play;		//부정연산자 NOT(!) 연산
		log.info(play);

토글Toggle 수행 (like switch)


삼항 연산자

public static void main(String[] args) {
    int score = 85;
		
		
    char grade = 
		(score > 90) ?						//첫번째 삼항 연산자
				'A' : (
					(score > 80) ? 'B' : 'C'	//두번째 삼항 연산자 (한줄로 이어써도 되지만, 가독성을 위해 이렇게 표현)
				       );
		
    log.info(score + "점은 " + grade + "등급입니다.");
    
} //main    

삼항 연산자 적용 >> (조건식) ? 참일때 값 : 거짓일때 값 반환
삼항 연산자의 중첩도 가능 >> (조건식)? 참일때 값 : (삼항연산자 적용 표현식)
이는 마치 제어문(if, for, while, ...) 의 중첩과 같음


논리 연산자 (+ Short-Circuit)

public static void main(String[] args) {
		int charCode = 'A';	//연산은 LValue, RValue(피연산자)의 형을 맞춰서 연산을 해야 하지만, 리터럴은 형변환 대상이 아님.
		
		if( (charCode>=65) & (charCode<=90) ) {	//ASCII = ISO-8859-1 (공식 문자집합 이름)
			log.info("대문자 입니다.");
		} //if
		
		if( (charCode>=97) && (charCode<=122) ) {
			log.info("소문자 입니다.");
		} //if
		
		if( !(charCode<48) && !(charCode>57) ) {
			log.info("0~9숫자 입니다.");
		} //if
		
		
	}//main

Short-Circuit

In Java logical operators,
if the evaluation of a logical expression exit in
between before complete evaluation,
then it is known as Short-circuit.

논리 연산자에서 &, | 는 Short-Circuit을 수행하지 않는다. >> &&, || 에서만 수행.
첫번째 표현식에서 논리 연산의 결과가 정해질 경우 두번째 표현식은 확인하지 않는다.
(>>> 코드의 성능이 더 좋아진다.)

profile
내가 보려고 쓰는 블로그

0개의 댓글