본문 바로가기

Java

연산자(관계, 논리, 빠른 평가, 삼항)

관계(비교)연산자란?

● 이항 연산자 (항이 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 사용한 거를 닫는다는 의미 같은데 데이터를 차지 한다고 하셨던가..

나중에 다시 설명해주신다고 했다

728x90

'Java' 카테고리의 다른 글

반복문 (for)  (0) 2024.04.11
조건문 if (만약 ~ 이라면)  (0) 2024.04.11
연산자 (복합 대입 연산자)  (0) 2024.04.09
연산자(증감, 감소)  (0) 2024.04.09
연산자 (산술)  (0) 2024.04.09