*JAVA*
[java] 연산자 - 삼항연산자
깐부로부터
2021. 10. 19. 23:16
피 연산자가 3개 ⇒ 값 3개와 연산자 1개로 이루어짐
조건식 형식으로 쓰임
조건식 : 결과값에 따라서 연산을 처리하는 방식
결과값이 참일 경우 식1을 처리하고
결과값이 거짓일 경우 식2를 처리.
[표현법]
조건식? 조건이 true일 경우의 결과값 : 조건이 false일 경우의 결과값
public void method1() {
// 사용자가 입력한 값이 양수인지 아닌지 판별 후 그에 맞는 결과 출력
Scanner sc = new Scanner(System.in);
System.out.printf("정수입력 : ");
int num = sc.nextInt();
String result = (num > 0) ? " 양수다 !" : " 양수가 아니다! ";
//조건식 ? 조건이 true일 경우의 결과값 : 조건이 false일 경우의 결과값
System.out.println(num + "은(는)" + result);
System.out.println(num + "은" + ((num <=0) ? " 양수가 아닙니다 " : " 양수입니다 "));
// 결과값은 같은 값을 출력하지만
// 조건에 따라 참 거짓 결과가 다르므로 결과가 다르게 나올 수 있다.
}
public void method2() {
// 짝수, 홀수 판별
Scanner sc = new Scanner(System.in);
System.out.printf("정수 입력 : ");
int num = sc.nextInt();
String result = (num % 2 == 0) ? "짝수입니다." : "홀수입니다.";
// result = (num % 2 != 0) ? "홀수입니다." : "짝수입니다.";
// (num % 2 == 1)
System.out.println(num + " 은(는) " + result);
}
public void method3() {
// 영문자 하나를 입력받아 대문자인지 아닌지 판별
Scanner sc = new Scanner(System.in);
System.out.printf("영문자 한글자를 입력하시오. => ");
char ch = sc.next().charAt(0);
String result = ( 'a' <= ch && ch <= 'z') ? "대문자가 아닙니다." : "대문자 입니다.";
//아스키코드표 int로 연산됨
System.out.println(result);
}
public void method4() {
//method1 보완
// 정수값이 양수인지, 0인지, 음수인지 판별
Scanner sc = new Scanner(System.in);
System.out.printf("정수입력 : ");
int num = sc.nextInt();
String result = (num > 0) ? "양수입니다" : ((num == 0) ? "0입니다." : "음수입니다");
}