Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 사용자입력Switch문
- 기본형호출
- 안드로이드스튜디오
- 문자열
- 산술 쉬프트 연산자
- 순환문
- 콘솔출력문
- for문
- 타입변환
- println()
- 다중if
- 단순if
- 자바
- 증감연산자
- print()
- Java
- 삼항 연산자
- 참조형호출
- 변수유효범위
- 명명규칙
- 배열
- 비교연산자
- dowhile문
- 논리 쉬프트 연산자
- 비트논리연산자
- 대입 연산자
- 비정방행렬
- while문
- array
- 다차원배열
Archives
- Today
- Total
신입개발자
연산자4 본문
public class 연산자4 {
public static void main(String[] args) {
// 논리 연산자 : true/false 반환
boolean t = true, f = false;
System.out.println(t && f); //false , and -> &&
System.out.println(t || f); //true , or -> ||
System.out.println(!t); // false, not -> !
System.out.println(t ^ f); // true, 비트 논리 연산자와 동일 XOR -> ^
System.out.println();
// 비트 논리 연산자와 비교 : 값을 반환
System.out.println(7 & 3); //3
System.out.println(7 | 3); //7
System.out.println(~7); // -8
System.out.println(7 ^ 3); // 4
System.out.println();
// 그런데 비트 논리 연산자도 boolean 형 비교 가능 : 결과는 논리 연산자와 동일
System.out.println(t & f); //false
System.out.println(t | f); //true
System.out.println(!t); // false
System.out.println(t ^ f); // true
System.out.println();
// 논리 연산자 vs 비트 연산자
// 논리 연산자는 short circuit 빠른 판단으로 실행됨
int i = 10;
System.out.println(f && ++i > 20); // false , 숏서킷 적용, 우변 아예 실행 안함
System.out.println("i = "+i); //10, i값 증가 안됨(전위/후위 여부 무관)
System.out.println(t || ++i >10); // true
System.out.println("i = "+i); //10
System.out.println();
;
// 비트연산자는 좌변, 우변 모두 수행하는 대신 속도 느림
i =10;
System.out.println(f & ++i > 20); // false
System.out.println("i = "+i); //11
System.out.println(t | ++i >10); // true
System.out.println("i = "+i); //12
System.out.println(t ^ ++i >10); // false, XOR은 구조상 어차피 숏서킷 적용안함, 우변 실행됨
System.out.println("i = "+i); //13
System.out.println();
}
}
Comments