관계(비교)연산자란?
● 이항 연산자 (항이 2개여야 됨)
● 연산의 결과가 true(참), false(거짓)으로 반환 됨, 비교연산자 라고도 함
● 조건문, 반복문의 조건식으로 많이 사용 됨
연산자 우선순위
● 가장 높은 연산자는 () {} .
● 가장 낮은 연산자는 =
관계 연산자를 주어로 봐라보자는
num1이 5, num2가 3인데 5가 3보다 크냐? 라고 풀어서 생각해보자는 의미
출력해보면 5는 3보다 크기 때문에 true
논리연산자
● 관계 연산자와 혼합하여 많이 사용 됨
● 연산의 결과는 true(참), false(거짓)으로 반환 됨
논리곱 (&&)
논리합 (||)
무조건 하나라도 T가 있으면 T
부정 (!)
빠른 평가( short circuit evaluation )
빠른 평가(short-circuit evaluation)는 논리 연산에서 첫 번째 조건이 결과를 결정하는 경우, 두 번째 조건을 평가하지 않는 자바의 특성
- 논리 곱(&&)은 두 항의 결과가 모두 true일 때만 결과가 true
- -앞의 항의 결과가 false이면 뒤 항의 결과를 평가하지 않음
- 논리 합(||)은 두 항의 결과가 모두 false일 때만 결과가 false
- - 앞의 항의 결과가 true이면 뒤 항의 결과를 평가하지 않음
빨간색 박스( && 논리곱 )
● number = number + 10 < 10 보다 큼 ( F : 거짓) 인데 && 는 둘다 참일 경우가 참이기 때문에 &&이 성립되지 않아서 뒤 에 index = index +2 < 10의 값을 계산해 주지 않는다
보라색 박스( || 논리합 )
● number = number + 10 < 10 을 복합 대입 연산자를 활용해서
number += 10 < 10 으로 표현 할 수 있음
● number += 10 < 10 || index += 2 < 10 인경우 둘 중 하나만 참이면 참이기 때문에
처음 number += 10 < 10이 거짓이라 뒤에 index += 2 < 10 의 값을 계산 해주기 때문에 참을 찾음.
즉 찾을 때 까지 계산을 한다
파란색 박스( || 논리합 )
● index 값이 4인 경우는 보라색 박스에서 이미 계산을 해서 2인 상태이다 그래서 index += 2 의 값이 4
삼항 연산자 (조건 연산자)
● 조건식의 결과가 true(참) 인 경우와 false(거짓)인 경우에 따라 다른 결과가 수행됨
● if (조건문)을 간단히 표현할 때 사용할 수 있음
Scanner sc = new Scanner(System.in); 을 하면
import java.util.Scanner;를 하는데 라이브러리를 끌어온다
출력 받은 걸 확인하면 x의 받은 값 : 10 이라는 것만 보이는데 노란색 박스 를 보면 아직 콘솔이 종료되지 않은 걸 확인할 수 있다. 아직 작동 중이기 때문에 마지막 두 수 중에서 큰 수를 출력 하지 않은 것!!
나머지 y의 값을 입력하면 노락색 박스 콘솔창이 종료가 되고 x와 y의 값 중 더 큰 수를 출력한다
* sc.close(); 는 위에 Scanner 사용한 거를 닫는다는 의미 같은데 데이터를 차지 한다고 하셨던가..
나중에 다시 설명해주신다고 했다
'Java' 카테고리의 다른 글
반복문 (for) (0) | 2024.04.11 |
---|---|
조건문 if (만약 ~ 이라면) (0) | 2024.04.11 |
연산자 (복합 대입 연산자) (0) | 2024.04.09 |
연산자(증감, 감소) (0) | 2024.04.09 |
연산자 (산술) (0) | 2024.04.09 |