Java

Java) 조건문 : if, else, else if 정리

pogun 2024. 12. 27. 01:36

조건문 : if

논리연산자 : &&(and), ||(or), !(not)

등호 & 부등호 : > < >= <= == !=

-> 함께 사용을 많이 함

 

형식 :
            if (조건 true / false) {
                true 처리
            }

            if (조건 true / false) {
                true 처리
            } else {
                false 처리
            }

            if (조건 true / false) {
                true 처리
            } else if (조건 true / false) {
                true 처리
            } else {
                false 처리
            }


if문 예제

int number = 1;

if(number == 1){
    // 처리
    System.out.println("number는 1입니다.");
} // number가 1일 때 출력

if(number > 0 && number < 10){
    System.out.println("number는 0보다 크고 10보다 작다.");
}

if(number != 0){
    System.out.println("number는 0이 아니다.");
}

if(number < 3 || number > 7){
    System.out.println("number는 3보다 작거나 또는 7보다 크다.");
}

: 이런식으로 true / false 조건을 걸어주면 된다

boolean bo = true;

if(bo == true){
    System.out.println("bo는 true입니다.");
}
if(bo){
    System.out.println("bo는 true입니다.");
} // boolean은 특별하게 if문에 저렇게만 적어줘도 true가 디폴트

bo = false;

if(bo == false){
    System.out.println("bo는 false입니다.");
}

if(bo != true){
    System.out.println("bo는 true가 아닙니다.");
}

if(!bo){
    System.out.println("bo는 false입니다.");
}

: boolean만 특별하게 "if(변수명)" 이렇게 적어줘도 true로 인식 반대는 "if(!변수명)"

if문 else사용 예제

두 문자열을 비교

String nameOne = "홍길동";
String nameTwo = "일지매";

if(nameOne == nameTwo) {
    System.out.println("두 문자열이 같습니다.");
} else {
    System.out.println("두 문자열이 다릅니다.");
}

: 근데 이건 잘못된 결과를 도출할수도 있음

문자열은 equals 사용

String nameO = "홍길동";
String nameT = "홍길";
nameT = nameT + "동";

if(nameO.equals(nameT)) {
    System.out.println("두 문자열이 같습니다.");
} else {
    System.out.println("두 문자열이 다릅니다.");
}

String name = "jimmy kein";

if(name.length() >= 10){
    System.out.println("이름의 글자수는 10 이상입니다.");
} else{
    System.out.println("이름의 글자수는 10 이하입니다.");
}

: 위 코드처럼 "홍길"과 "동"이 떨어져 있을 경우

: 합친 다음 nameO == nameT하면 다르다고 나옴("홍길"로 처리기때문)

: 그래서 같다고 출력되기 위해선 문자열은 equals를 쓰는 게 맞다

char c1 = 'A';
char c2 = 'C';

if (c1 < c2){
    System.out.println("C1은 C2보다 작습니다.");
} else{
    System.out.println("C1은 C2보다 큽니다.");
}

// 아스키(ASCII)코드 보는 방법
System.out.println( (int)c1 );  // 리턴 값 65
System.out.println( (int)c2 );  // 리턴 값 67
System.out.println( (char)65 ); // 리턴 값 A

: 아스키코드 표를 보면 숫자 몇으로 정의되어 있는지 알 수 있음

else if문 예제

Scanner cs = new Scanner(System.in);
System.out.println("점수 = ");
number = cs.nextInt();

if(number == 100){
    System.out.println("A+입니다.");
} else if(number >= 90){
    System.out.println("A입니다.");
} else if(number >= 80){
    System.out.println("B입니다.");
} else if (number >= 70) {
    System.out.println("C입니다.");
} else{
    System.out.println("재수강입니다.");
}

: 마지막 else는 필수아님(생략 가능)

조건문 안에 조건문

int numberFive = 95;

if(numberFive >= 90){
   if(numberFive >= 95){
        System.out.println("A+입니다.");
    } else{
        System.out.println("A입니다.");
    }
}

if(numberFive <= 100 && numberFive >= 95){
    System.out.println("A+입니다.");
} else if(number >= 90){
    System.out.println("A입니다.");
}

: 두 코드는 같은 결과를 리턴하는 코드

: 상황에 맞게 사용하면 된다