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 |
Tags
- IPC
- formmatted
- JPA
- 토큰기반 인증
- 스프링부트
- java I/O
- JWT
- 작업명중복
- 비즈니스 계층
- 스프링 부트 테스트
- 로그인 인증 흐름
- 스프링
- 어노테이션
- 퍼시스턴스 계층
- 비동기
- ./gradlew docker
- 로그인/로그아웃
- MSA
- Java
- 스프링부트 계층구조
- 세션기반 인증
- spring
- 동기
- ORM
- ./gr
- 스프링부트 구조
- @temproal
- http
- RESTfull API
- 프레젠테이션 계층
Archives
- Today
- Total
[DEV] J-Jay
논리형 TYPE/연산자 본문
728x90
Boolean
- 기본형 타입 중 논리형 타입은 boolean를 사용한다
- 결과는 참(true) or 거짓(false)으로 나온다
- 초기화하지 않으면 기본적으로 false 값을 가진다.
- 1byte(8bit) 메모리를 사용한다
1bit만으로도 참(1)과 거짓(0)을 표현할 수 있지만 컴퓨터가 자료를 표현하는 최소 단위가 1byte
public class Test {
static boolean a;
public static void main(String[] args){
System.out.println(a); //false
}
}
- 메소드 안에서 변수를 선언한 후 초기화 하지 않고 사용하면 오류가 발생한다
public class Test {
public static void main(String[] args){
boolean a;
System.out.println(a); // java:variable a might not have been initalized Error
}
}
참(true)과 거짓(false)
- 비교연산자와 논리연산자를 이용한 식의 결과는 참 or 거짓이 나온다
비교연산자 | 논리연산자 |
==, !=, <, >, <=, >= | &&, ||, &, |, ^, ! |
비교연산자
- 1은 2보다 작다 → 참? 거짓?
1 < 2
- 위의 식을 변수에 저장하고 싶으면 아래처럼 표현하며 a의 결과는 true이다
booelan a = false;
a = 1<2; //true
논리연산자 &&, ||, &, |
- a는 10보다 크고(and), 20보다 작다를 자바로 표현하면 아래와 같다
a > 10 && a < 20
- a는 10보다 크거나(or), 20보다 작다를 자바로 표현하면 아래와 같다
a > 10 || a < 20
- 2가지 조건을 모두 만족해야 하는 경우 &&(and)를 사용하고, 2가지 중 한 가지만 만족해도 될 경우 ||(or)를 사용한다.
- &&대신에 &를 사용하거나, ||대신에 |를 사용해도 동일한 결과가 나온다.
하지만 JVM에서는 실행을 다르게 한다
public class Test {
public static void main(String[] args){
boolean a =false;
boolean b = false;
boolean c = false;
boolean d = false;
a = 10 < 5 && 5 < 20; // 10 < 5는 false 이므로 5 < 20 확인 절차 없이 false를 반환
b = 10 < 5 & 5 < 20; // 10 < 5는 false 이지만 5 < 20 확인 후, false를 반환
c = 10 > 5 || 5 < 20; // 10 > 5는 true 이므로 5 < 20 확인 절차 없이 true를 반환
d = 10 > 5 | 5 < 20; // 10 > 5는 true 이지만 5 < 20 확인 절차 후, true를 반환
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
논리연산자 ^(XOR)
- 2개의 식의 논리 값이 서로 다를 경우 참(True) 값을 가진다
int a = 50;
a > 10 ^ a < 20 // a > 10:true / a < 20:false == true
논리연산자 !(부정 연산자)
- 논리형 값을 부정한다
- true는 false로, false는 true로 바꾼다
boolean a = !(1<2); //false
정리
a | b | a&&b | a&b | a||b | a|b | a^b | !a | !b |
true | true | true | true | true | true | false | false | false |
true | false | false | false | true | true | true | false | true |
false | true | false | false | true | true | true | true | false |
false | false | false | false | false | false | false | true | true |
'Back-end > Java' 카테고리의 다른 글
형 변환 (0) | 2023.02.18 |
---|---|
정수/실수/산술연산자 (0) | 2023.02.16 |
변수/리터럴(literal) (0) | 2023.02.14 |
Java 컴파일 (0) | 2023.02.12 |
Hello Java (0) | 2023.02.11 |