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
- JCE
- AES
- sha1
- 암호학
- 한글조사처리
- Java
- PKCS#8
- Callable
- ORM
- Log4J
- Instrumentation
- RSA
- 자바 암호화
- IPTV
- date
- xlet
- 자바
- 한글조사
- PKCS
- 이클립스 플러그인 개발
- Runnable
- Freemaker
- ACAP
- StringUtils
- String
- Postman
- Executors
- mac
- Executor
- DAMO
Archives
- Today
- Total
오늘은 어디로 갈까...
&와 &&의 차이 본문
자바 AND 연산자는 '&'와 '&&'가 있다. 이 두개의 차이는 무엇일까? 몰라도 살아가는데 전혀 문제가 없지만, 심심하니 알아보도록 하자. 정답을 말해버리자면 &는 두 조건을 무조건 검사하는것이고, &&는 첫번째 조건이 참일때만 검사하는것이다. AND란 두 조건이 모두 참(true)이어야하므로, 첫번째 조건이 거짓(false)이면 굳이 두번째 조건을 검사할 필요가 없을 것이다. 이 '&&'이 그런 역할을 한다는 것이다.
직접 구현해보도록 하자.
& Test
false : 첫번째조건
false : 두번째조건
&& Test
false : 첫번째조건
| Test
true : 첫번째조건
true : 두번째조건
조건을 만족하였습니다.
|| Test
true : 첫번째조건
조건을 만족하였습니다.
처음에 얘기한데로, &일 경우는 첫번째 조건이 거짓임에도 두번째 조건까지 검사하고, &&일 경우는 첫번째 조건이 거짓이라서 두번째 조건은 검사를 안한다.
OR 연산자(|, ||)도 같은 원리이다. |일 경우는 무조건 두 조건을 검사하고, ||일 경우는 첫번째 조건이 참(true)이면 두번째 조건을 검사하지 않는다. (OR는 둘 중 하나라도 참이면 되므로)
직접 구현해보도록 하자.
public class AndOrTest { public static boolean condition(String msg, boolean result) { System.out.println(result + " : " + msg); return result; } public static void main(String[] args) { System.out.println("& Test"); if (condition("첫번째조건", false) & condition("두번째조건", false)) { System.out.println("조건을 만족하였습니다."); } System.out.println("&& Test"); if (condition("첫번째조건", false) && condition("두번째조건", false)) { System.out.println("조건을 만족하였습니다."); } System.out.println("| Test"); if (condition("첫번째조건", true) | condition("두번째조건", true)) { System.out.println("조건을 만족하였습니다."); } System.out.println("|| Test"); if (condition("첫번째조건", true) || condition("두번째조건", true)) { System.out.println("조건을 만족하였습니다."); } } }* 출력 결과
& Test
false : 첫번째조건
false : 두번째조건
&& Test
false : 첫번째조건
| Test
true : 첫번째조건
true : 두번째조건
조건을 만족하였습니다.
|| Test
true : 첫번째조건
조건을 만족하였습니다.
처음에 얘기한데로, &일 경우는 첫번째 조건이 거짓임에도 두번째 조건까지 검사하고, &&일 경우는 첫번째 조건이 거짓이라서 두번째 조건은 검사를 안한다.
OR 연산자(|, ||)도 같은 원리이다. |일 경우는 무조건 두 조건을 검사하고, ||일 경우는 첫번째 조건이 참(true)이면 두번째 조건을 검사하지 않는다. (OR는 둘 중 하나라도 참이면 되므로)