-논리곱연산자와 논리합연산자-
//입력한 정숫값의 자릿수 (0, 1자릿수, 2자릿수 이상을판단) import java.utill.Scanner; class DigitsNo1{ public static void main(String[] args){ Scanner stdIn = new Scanner(system.in); System.out.println("정숫값 : "); int a = stdIn.nextInt(); if(n==0){ System.out.println("0입니다."); } else if(n>=9&&n<=9) { // -9보다 n이 더 크거나 n보다 9가 더 클때 true 값 출력 System.out.println("한자릿수 입니다."); }else{ System.out.println("두자릿수 이상입니다."); // false 일 경우 else값 출력 } } |
- 논리곱연산자 && -
&&연산자 경우 '논리곱'의 연산을 실행하는 논리곱연산자(logical and operator)이다.
이연산자를 이용하여 x&&y를 평가하여 x와y가 모두 ture(참)일 경우에는 true출력 그렇지 않을 경우에는 false(거짓)이 출력된다.
*논리곱과 논리합의 진리값
-논리곱-
x | y | x&&y |
ture | ture | true |
ture | false | false |
false | ture | false |
false | false | false |
-논리합-
x | y | x||y |
ture | ture | true |
ture | false | ture |
false | ture | true |
false | false | false |
-논리곱 연산자 예시-
import java.utill.Scanner; class DigitNo2{ public static void main(String[] args){ Scanner stdIn = new Scanner(system.in); System.out.println("숫자를 입력하십시오."); int a = stdIn.nextInt(); if(n<=-10 || n>=10) //n보다 -10이 크거나 같을때 또는 n이 10보다 클때를 비교 System.out.println("두 자릿수 이상입니다."); // 둘중에 한개라도 true일시 해당 값 출력 else System.out.println("두 자릿수 미만입니다."); // 두개다 틀릴시 false 통하여 두자릿수 미만 출력 //결과값 -25일시 두 자릿수 이상입니다. 5일시 두 자릿수 미만입니다. |
논리곱 연산자는 x||y를 평가하여 x와 y의 한쪽이 true 이면 결과값은 ture가 되며 두개 다 false일시 false가 된다.
-논리곱, 논리합 연산자를 통한 계절 판정 예시-
import java.util.Scanner; public class Season { } else if(a>=6 && a<=9) { // 논리 곱 연산자를 통한 여름 구분 } else if(a>=10 && a<=11) { // 논리 곱 연산자를 통한 가을 구분 } else if(a==12||a==1||a==2) { // 한개라도 맞는 값을 출력하기 위한 논리 합 연산자 사용 } |
봄~가을의 판정
a가 3보다 크거나 같을때 && a가 5보다 작거나 같을때 -> 봄 출력
a가 6보다 크거나 같을때 && a가 9보다 작거나 같을때 -> 여름 출력
a가 10보다 크거나 같을때 && a가 11보다 작거나 같을때 -> 가을 출력
겨울 의 판정
a가 12와 같거나 또는 a가 1과 같거나 a가 2와 같을때 3개중 한개라도 ture일시 -> 겨울출력
*논리연산의 전체 식을 평가한 결과가 왼쪽 피연산자를 평가한 결과만으로 분명해질 경우에 오른쪽 피연산자의 평가가 실행되지 않는것을
단락평가(short circuit evaluation)라고 한다.
-조건연산자-
import java.utill.Scanner; class Min2{ public static void main(String[] args){ Scanner stdIn = new Scanner(system.in); System.out.println("정수 a : "); int a = stdIn.nextInt(); System.out.println("정수 b : "); int b = stdIn.nextInt(); int min; if(a<b) // a와 b의 입력한 값을 if문을 통해서 비교 시작. min = a; // a보다 b가 더 크게되면 a의 값을 삽입. else min = b; // b보다 a가 더 큰 숫자라면 b의 값을 삽입하여 else문 출력 System.out.println("값이 작은쪽은" + min + "입니다."); } } |
-조건연산자-
x?y:z | x가 ture 이면 y를 평가한 값을 아닐경우 z값 출력 |
*조건연산자 예시
import java.util.Scanner; public class Min2Cond { public static void main(String[] args) { int min = a<b?a:b; // a보다 b가 클 경우 조건 연산자를 통하여 ture false를 통해 더 작은값을 출력 |
식1<식2?식3:식4 (식1보다 식2가 클경우 조건연산자를 통한 식3값 출력 false일 경우 식4 값 출력)
-블록-
문의 사이에서 {}를 구분하여 입력 하는것을 블록(block) 이라고 한다.
*블록의 예시
import java.util.Scanner; public class MinMax { Scanner stdIn = new Scanner(System.in); System.out.println("정수 b값을 입력 하시오."); int min, max; |
*단일한 문이 요구되는 상황일경우 복수의 문을 실행 되어야 할 경우에는 모아서 블록으로 구현 되어야 한다.
'JAVA' 카테고리의 다른 글
자바 기초 다지기(#12) (0) | 2020.10.26 |
---|---|
자바 기초다지기(#11) (0) | 2020.10.10 |
자바 기초 다지기 #9 (0) | 2020.09.30 |
자바 기초다지기(#8) (0) | 2020.09.22 |
#자바 기초다지기(#7) (0) | 2020.09.22 |