728x90
&&과 &, ||과 |의 결과는 같게 나오지만 JVM은 실행을 다르게 한다.
- &&일 경우에는 앞의 식이 거짓이면 뒤에있는 식은 실행하지 않는다. (한쪽만 거짓이어도 실행할 필요가 없기 때문에)
- &일 경우에는 앞의 식이 거짓이어도 뒤의 식이 실행된다.
- ||의 경우에는 앞의 식이 참일 경우에는 뒤의 식이 실행되지 않는다.
- |가 사용될 경우에는 앞의 식이 참일 경우라도 뒤의 식이 실행된다.
즉, 차이점은 앞의 식의 논리 연산 결과에 따라 뒤에 있는 식을 실행하느냐? 안하느냐?의 차이가 있다.
따라서 결과는 같게 나오지만, 뒤의 식에 수식 등이 들어갈 경우, 수식에 증가, 감소되는 식이 있으면 실행이 되고 안되고에 따라서 문제가 될 수도 있다.
boolean 형 타입은 메모리를 얼마나 사용할까?
1byte(8bit)를 사용한다. 사실 1비트로도 참과 거짓은 표현할 수 있다.(0-거짓, 1-참)
하지만 컴퓨터는 자료를 표현하는 최소 단위가 1byte이다. 그렇기 때문에 boolean형 타입은 메모리에 1 byte를 사용하게 된다.
인용
728x90
'Language > Java' 카테고리의 다른 글
오버플로우 (overflow) (0) | 2023.09.07 |
---|---|
각 타입별 값의 범위 (0) | 2023.09.07 |
논리 연산자 ^ (0) | 2023.09.07 |
변수와 리터럴 (0) | 2023.09.07 |
자바 파일 동작원리 (0) | 2023.09.07 |