■ do-while문

do-while 문이란?
while 문과 비슷하지만, 조건에 상관 없이 무조건 한 번은 코드를 실행한다.

 

do-while 구조
do {
    // 코드
} while (조건식) ;

 


while 예제 코드)

package loop;

public class DoWhile1 {
    public static void main(String[] args) {
        int i = 10;
        while (i < 3) {
            System.out.println("현재 숫자는 : " + i);
            i++;
        }
    }
}

 

 

실행 결과)

# i = 10 이기 때문에 while ( i < 3) 조건식은 거짓이 되기 때문에 아무것도 출력되지 않는다.


Dowhile 예제 코드)

 

package loop;

public class DoWhile2 {
    public static void main(String[] args) {
        int i = 10;
        do {
            System.out.println("현재 숫자는 : " + i);
            i++;
        } while (i < 3);

    }
}

 

 

실행 결과)

# do-while 문은 최초 한 번은 항상 실행된다. 따라서 먼저 현재 숫자는 : 10이 출력된다.

# 코드 블럭 실행 후 조건식을 검증하는데, i = 10 이기 때문에 while ( i < 3) 조건식은 거짓이 되어 do-while 문 탈출!

※ do-while 문은 최초 한 번 코드 블럭을 꼭 실행해야 하는 경우에 사용한다.

'Language > Java' 카테고리의 다른 글

Java for문1  (0) 2024.06.28
Java break, continue  (0) 2024.06.28
Java while문2  (0) 2024.06.28
Java while문1  (0) 2024.06.28
Java 반복문 시작  (0) 2024.06.28

■ while 반복문

문제 : 1부터 하나씩 증가하는 수를 3번 더해라 (1 ~ 3더하기)
1부터 하나씩 증가하는 수이기 때문에 1 + 2 + 3 을 더해야 한다.
while 문 사용하지 않고 풀어보자.

 

 

문제 코드)

package loop;

public class While2_1 {
    public static void main(String[] args) {
        int sum = 0;

        sum = sum + 1; // sum(0) + 1 > sum(1)
        System.out.println("i = " + 1 + ", sum = " + sum);
        sum = sum + 2; // sum(1) + 2 > sum(3)
        System.out.println("i = " + 2 + ", sum = " + sum);
        sum = sum + 3; // sum(3) + 3 > sum(6)
        System.out.println("i = " + 3 + ", sum = " + sum);
    }
}

 

 

실행 결과)

# 코드의 정답은 맞으나 개선할 점이 보이며, 변경에 유연하지 않다.

# 0부터 하나씩 증가하는 수를 3번 더해라 (10 ~ 12 더하기)로 요구사항이 변경될 경우
  10 + 11 + 12 계산을 해야하나 코드를 너무 많이 변경해야 한다는 문제가 있다.


문제 :i 부터 하나씩 증가하는 수를 3번 더해라 (i ~ i + 2 더하기)
변수 = i
변수를 사용해서 더 변경하기 쉬운 코드로 만들자.

 

 

문제 코드)

package loop;

public class While2_2 {
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;

        sum = sum + i; //sum(0) + i(1) > sum(1)
        System.out.println(" i = " + i + ", sum = " + sum);
        i++; //i=2

        sum = sum + i; //sum(1) + i(2) > sum(3)
        System.out.println(" i = " + i + ", sum = " + sum);
        i++; //i=3

        sum = sum + i; //sum(3) + i(3) > sum(1)
        System.out.println(" i = " + i + ", sum = " + sum);
    }
}

 

 

실행 결과)

# 변수 i를 사용한 덕에 i의 값만 변경하면 나머지 코드는 변경하지 않아도 된다.

# i=10 으로 변경하면 다른 코드 변경 없이 10 + 11 + 12 문데도 바로 풀 수 있다.

※ 좋은 코드인지 아닌지는 변경 사항이 발생했을 때 알 수 있다. 변경사항 발생 시 변경 부분이 적을수록 좋은 코드!


새로운 변경사항 등장!
기존 문제 : i부터 하나씩 증가하는 수를 3번 더해라 ( i ~ i+2 더하기)
새로운 문제 : i 부터 하나씩 증가하는 수를 endNum(마지막 수)까지 더해라 ( i ~ endNum 더하기)
● i = 1, endNum = 3 이면, 1 ~ 3 까지 총 3번 더해야한다.
● i = 1, endNum = 10 이면, 1 ~ 10 까지 총 10번 더해야한다.
● i = 10, endNum = 12 이면, 10 ~ 12 까지 총 3번 더해야한다.
i=1, endNum=3 으로 문제를 풀자

 

 

문제 코드)

package loop;

public class While2_3 {
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;
        int endNum = 3;

        sum = sum + i;
        System.out.println("i = " + i + ", sum = " + sum);
        i++;

        sum = sum + i;
        System.out.println("i = " + i + ", sum = " + sum);
        i++;

        sum = sum + i;
        System.out.println("i = " + i + ", sum = " + sum);
        i++;
    }
}

 

 

 

실행 결과)

# i = 1, endNum=3 이므로 다음 코드를 총 3번 반복해야 한다.

# i = 1, endNum=10 와 같이 변경하면 해당 코드를 총 10번 반복해야 하므로 코드를 더 많이 추가해야 한다.

 

# 이 문제를 제대로 풀기 위해서는 코드가 실행되는 횟수를 유연하게 변경할 수 있도록 해야한다.


while 문을 사용한 문제 코드)

package loop;

public class While2_4 {
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;
        int endNum = 10;

        while (i <= endNum) {
            sum = sum + i;
            System.out.println("i=" + i + ", sum=" + sum);
            i++;
        }
    }
}

 

 

실행 결과)

 

'Language > Java' 카테고리의 다른 글

Java break, continue  (0) 2024.06.28
Java do-while문  (0) 2024.06.28
Java while문1  (0) 2024.06.28
Java 반복문 시작  (0) 2024.06.28
Java 조건문 문제와 풀이2  (0) 2024.06.28

■ while문

while 문인란?
조건에 따라 코드를 반복해서 실행할 때 사용한다.
while (조건식) {
    // 코드
}
  • 조건식을 확인한다. 참이면 코드 블럭을 실행하고, 거짓이면 while 문을 벗어난다.
  • 조건식이 참이면, 코드블럭 실행 후 코드 블럭이 끝나면 다시 조건식 검사로 돌아가 조건식을 검사한다.(무한 반복)

# while 문을 사용해서 1을 한 번씩 더해 총 3번 더하는 코드를 만들자

 

 

문제 코드)

package loop;

public class while1_2 {
    public static void main(String[] args) {
        int count = 0;
        while (count < 3) {
            count ++;
            System.out.println("현재 숫자는 : " + count);
        }
    }
}

 

 

실행 결과)

# while (count < 3) 에서 코드 블록을 반복 실행하며, count 의 값이 1, 2, 3으로

   점점 커지다 count < 3이 거짓이 되면 while문 탈출

# while (count < 3 ) 에 있는 순자를 while(count < 100)으로 변경하면 while 문의 코드블럭을 100번 반복한다.

'Language > Java' 카테고리의 다른 글

Java do-while문  (0) 2024.06.28
Java while문2  (0) 2024.06.28
Java 반복문 시작  (0) 2024.06.28
Java 조건문 문제와 풀이2  (0) 2024.06.28
Java 조건문 문제와 풀이1  (0) 2024.06.28

■ 반복문 시작

반복문이란?
반복문은 이름 그대로 특정 코드를 반복해서 실행할 때 사용한다.
- 자바에서 제공하는 3가지 반복문
while, do-while, for

 

# 반복문이 왜 필요한지 살펴보기

 

문제 코드)

package loop;

public class While1_1 {
    public static void main(String[] args) {
        int count = 0;

        count = count + 1;
        System.out.println("현재 숫자는 : " + count);
        count = count + 1;
        System.out.println("현재 숫자는 : " + count);
        count = count + 1;
        System.out.println("현재 숫자는 : " + count);
    }
}

 

 

실행 결과)

# 단순히 count 값에 1을 3번씩 더하는 단순한 예제로 최종 결과는 3이다.

 

# 하지만 같은 코드가 3 번 반복되고 있으며, 1 ~100까지 더하는 코드를 만들게 되면 100번 반복하게 된다

# 이렇게 특정 코드를 반복해서 실행할 때 사용하는 게 반복문이다.

'Language > Java' 카테고리의 다른 글

Java while문2  (0) 2024.06.28
Java while문1  (0) 2024.06.28
Java 조건문 문제와 풀이2  (0) 2024.06.28
Java 조건문 문제와 풀이1  (0) 2024.06.28
Java 삼항 연산자  (0) 2024.06.28

■ 조건문 문제와 풀이2

문제 : 평점에 따른 영화 추천하기
요청한 평점 이상의 영화를 찾아 추천하는 프로그램 작성
● 어바웃타임 : 평점 9점
● 토이스토리 : 평점 8점
● 고질라 : 평점 7점
평점 변수는 double rating을 사용, if문 활용하자

 

 

문제 코드)

package cond.ex;

public class MovieRateEx {
    public static void main(String[] args) {
        double rating = 7;

        if (rating <= 9) {
            System.out.println("'어바웃타임'을 추천합니다.");
        }
        if (rating <= 8) {
            System.out.println("'토이스토리'을 추천합니다.");
        }
        if (rating <= 7) {
            System.out.println("'고질라'을 추천합니다.");
        }
    }
}

 

 

출력 결과)

 


문제 : 학점에 따른 성취도 출력하기
String grade 라는 문자열을 만들고, 학점에 따라 성취도를 출력하는 프로그램을 작성하자.
● "A" : "탁원할 성과입니다!"
● "B" : "좋은 성과입니다!"
● "C" : "준수한 성과입니다!"
● "D" : "향상이 필요합니다."
● "F" : "불합격입니다."
● 나머지 : "잘못된 학점입니다."
switch문을 사용해서 문제를 해결하자

 

 

문제 코드)

package cond.ex;

public class GradeSwitchEx {
    public static void main(String[] args) {

        String grade = "A";

        switch(grade) {
            case "A":
                System.out.println("탁원할 성과입니다!");
                break;
            case "B":
                System.out.println("좋은 성과입니다!");
                break;
            case "C":
                System.out.println("준수한 성과입니다!");
                break;
            case "D":
                System.out.println("향상이 필요합니다.");
                break;
            case  "F":
                System.out.println("불합격 입니다.");
                break;
            default:
                System.out.println("잘못된 학점입니다.");
        }
    }
}

 

 

실행 결과)

 


문제 : 더 큰 숫자 찾기
두개의 정부 변수 a 와 b를 가지고 있다.
a 의 값은 10 이고, b 의 값은 20 이다.
삼항 연산자를 사용하여 두 숫자 중 더 큰 숫자를 출력하는 코드를 작성하자.

 

 

문제 코드)

package cond.ex;

public class CondOpEx {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        int max = (a > b) ? a : b;
        System.out.println("더 큰 숫자는 " + max + "입니다.");
    }
}

 

 

실행 결과)


 

문제 : 홀수 짝수 찾기
정수 x 가 주어진 후 x가 짝수이면 "짝수", x가 홀수이면 "홀수"를 출력하는 프로그램을 작성하자
상항 연산자 사용 필요
※ 나머지 연산자를 사용하면 쉽게 계산할 수 있다.

 

 

문제 풀이)

package cond.ex;

public class EvenOddEx {
    public static void main(String[] args) {
        int x = 10;
        String result = (x % 2 == 0) ? "짝수" : "홀수";
        System.out.println("출력 : x = " + x + ", " + result );
    }
}

 

 

실행 결과)

'Language > Java' 카테고리의 다른 글

Java while문1  (0) 2024.06.28
Java 반복문 시작  (0) 2024.06.28
Java 조건문 문제와 풀이1  (0) 2024.06.28
Java 삼항 연산자  (0) 2024.06.28
Java switch문  (0) 2024.06.27

■ 조건문 문제와 풀이1

문제 : 학점 계산하기
학생의 점수를 기반으로 학점을 출력하는 자바 프로그램 작성
● 90점 이상 : "A"
● 80점 이상 90점 미만 : "B"
● 70점 이상 80점 미만 : "C"
● 60점 이상 70점 미만 : "D"
● 60점 미만 : "F"
점수는 변수(int score)로 지정

 

 

문제 코드)

package cond.ex;

public class ScoreEx {
    public static void main(String[] args) {
        int score = 99;

        if (score >= 90) {
            System.out.println("학점은 A입니다.");
        } else if (score >= 80) {
            System.out.println("학점은 B입니다.");
        } else if (score >= 70) {
            System.out.println("학점은 C입니다.");
        } else if (score >= 60) {
            System.out.println("학점은 D입니다.");
        } else {
            System.out.println("학점은 F입니다.");
        }
    }
}

 

 

실행결과)

 


문제 : 거리에 따른 운송 수단 선택하기
주어진 거리에 따라 가장 적합한 운송 수단을 선택하는 프로그램을 작성하자
●  거리가 1km 이하면 : "도보"
● 거리가 10km 이하면 : "자전거"
● 거리가 100km 이하면 : "자동차"
● 거리가 100km 초과이면 : "비행기"
거리 변수(int distance)로 지정 후 해당 변수를 기반으로 운송 수단 출력

 

 

문제 코드)

package cond.ex;

public class DistanceEx {
    public static void main(String[] args) {
        int distance = 105;

        if (distance <= 1) {
            System.out.println("도보");
        } else if (distance <= 10) {
            System.out.println("자전거");
        } else if (distance <= 100) {
            System.out.println("자동차");
        } else {
            System.out.println("비행기");
        }
    }
}

 

 

소스 결과)

 


문제 : 환율계산기
특정 금액을 미국 달러에서 한국 원으로 변환하는 프로그램을 작성하자.
환율은 1달러당 1300원이라 가정.
● 달러가 0미만이면 : "잘못된 금액입니다."
● 달러가 0일 떄 : "환전할 금액이 없습니다."
●  달러가 0 초과일 때 : "환전 금액은 (계산된 원화 금액)원 입니다."
금액은 변수 (int dollar)로 지정하고, 해당 변수를 깁나으로 한국 원으로 환전 금액 출력

 

 

문제 코드)

package cond.ex;

public class ExchangeRateEx {
    public static void main(String[] args) {

        int dollar = 77;
        if (dollar < 0 ) {
            System.out.println("잘못된 금액입니다.");
        } else if (dollar ==0) {
            System.out.println("환전할 금액이 없습니다.");
        } else {
            int won = dollar * 1300;
            System.out.println("환전 금액은 " + won + "원 입니다.");
        }
    }
}

 

 

출력 결과)

 

'Language > Java' 카테고리의 다른 글

Java 반복문 시작  (0) 2024.06.28
Java 조건문 문제와 풀이2  (0) 2024.06.28
Java 삼항 연산자  (0) 2024.06.28
Java switch문  (0) 2024.06.27
Java if문2 - else if  (0) 2024.06.27

■ 삼항 연산자

삼항 연산자란?
삼항 연산자는 항이 3개라는 뜻으로 조건, 참_표현식, 거짓_표현식이 있다.
자바에서 유일하게 항이 3개인 연산자여서 삼항 연산자라 한다.
특정 조건에 따라 결과가 나오기 때문에 조건 연산자라고도 한다.
  • 조건에 만족하면 참_표현식이 실행되고, 조건에 만족하지 않으면 거짓_표현식이 실행된다
    if, else 문과 유사
  • if  문 처럼 코드 블럭을 넣을 수 있는 것이 아닌 단순한 표현식만 넣을 수 있다.

if문 예제 코드)

package cond;

public class CondOp1 {

    public static void main(String[] args) {
        int age = 18;
        String status;
        if (age >= 18) {
            status = "성인";
        } else {
            status = "미성년자";
        }
        System.out.println("age = " + age + "status = " + status);
    }
}

 

 

실행 결과)

# 위 예제 코드와 같이 단순 참과 거짓에 따라 특정 값을 구하는 경우 삼항 연산자 또는

   조건 연산자라 불리는 ?:  연산자를 사용할 수 있다.


- 삼항 연산자 예제 코드)

삼항 연산자
(조건) ? 참_표현식 : 거짓_표현식
package cond;

public class CondOp2 {
    public static void main(String[] args) {
        int age = 18;
        String status = (age >= 18) ? "성인" : "미성년자";
        System.out.println("age = " + age + "status = " + status);
    }
}

 

 

실행 결과)

 

 

# 삼항 연산자 없이 if 문만 사용 가능하며, 단순히 참과 거짓에 따라 특정 값을 구하는 삼항 연산자를 사용하면
   if 문 보다 간결한 코드를 작성할 수 있다.

'Language > Java' 카테고리의 다른 글

Java 조건문 문제와 풀이2  (0) 2024.06.28
Java 조건문 문제와 풀이1  (0) 2024.06.28
Java switch문  (0) 2024.06.27
Java if문2 - else if  (0) 2024.06.27
Java if문1 - if, else  (0) 2024.06.27
문제
회원 등급에 따라 다른 쿠폰을 발급하는 프로그램을 만들어보자
이 프로그램은 int grade라는 변수를 사용하며, 회원등급(grade)에 따라 아래 쿠폰을 발급해야 한다.
● 1등급 : 쿠폰 1000
● 2등급 : 쿠폰 2000
● 3등급 : 쿠폰 3000
● 위 등급이 아닌 경우 : 쿠폰 500

각 쿠폰이 발급된 후에는 "발급받은 쿠폰" + 쿠폰값 을 출력해야 한다.
2등급 사용자 출력

 

if문 사용한 문제 코드)

package cond;

public class switch1 {
    public static void main(String[] args) {
        int grade = 2;
        int coupon;

        if (grade == 1) {
            coupon = 1000;
        } else if (grade == 2) {
            coupon = 2000;
        } else if (grade ==3) {
            coupon = 3000;
        } else {
            coupon = 500;
        }

        System.out.println("발급받은 쿠폰 : " + coupon);
    }
}

 

 

실행 결과)


 

switch 문이란?
if문을 조금 더 편리하게 시용할 수 있는 기능이다.
if 문은 비교 연산자를 사용할 수 있지만, switch 문은 단순히 값이 같은지만 비교할수 있다.

- switch 문 예시

switch (조건식) {
    case value1:
        // 조건식의 결과 값이 value1일 때 실행되는 코드
        break;
    case value2:
        // 조건식의 결과 값이 value2일 때 실행되는 코드
        break;
    default:
        // 조건식의 결과 값이 위의 어떤 값에도 해당하지 않을 때 실행되는 코드
}
  • 조건식의 결과 값이 어떤 case의 값과 일치하면 해당 case의 코드를 실행한다.
  • break 문은 현재 실행 중인 코드를 끝내고 switch 문을 빠져나가게 하는 역할을 한다.
  • 만약 break 문이 없으면, 일치하는 case 이후의 모든 case 코드들이 순서대로 실행된디. (무한반복..)
  • default 는 조건식의 결과값이 모든 case 의 값과 일치하지 않을 때 실행된다. if 문의 else와 같다.
    default 구문은 선택으로 반드시 포함할 필요는 없다. 단 모든 경우를 처리하고 싶을 때 사용 필요
  • if, else-if, else 구조와 동일하다.

 

기존 문제 switch문 변경 코드)

package cond;

public class switch2 {
    public static void main(String[] args) {
        int grade = 2;
        int coupon;

        switch(grade) {
            case 1:
                coupon = 1000;
                break;
            case 2:
                coupon = 2000;
                break;
            case 3:
                coupon = 3000;
                break;
            default:
                coupon = 500;
                break;
        }

        System.out.println("발급받은 쿠폰 : " + coupon);

    }
}

 

 

결과 출력)


※ break 문이 없으면?

break문이 없으면 어떻게 되는지 조건 변경!

2등급도 3등급과 같이 3000원 쿠폰을 준다고 가정해보자.

 

 

문제 코드)

package cond;

public class switch3 {
    public static void main(String[] args) {
        int grade = 2;
        int coupon;

        switch (grade) {
            case 1:
                coupon = 1000;
                break;
            case 2:
            case 3:
                coupon = 3000;
                break;
            default:
                coupon = 500;
                break;
        }
        System.out.println("발급받을 쿠폰 : " + coupon);
    }
}

 

 

실행 결과)

  • grade가 2 등급이면 case2가 실행된다.
  • case2 에는 break 문이 없다. 그러면 중단하지 않고 바로 다음에 있는 case 3의 코드를 실행한다.
    여기서 coupon = 3000; 을 수행하고 break 문을 만나 switch 문을 빠져나간다.
  • "발급받은 쿠폰 3000" 이 출력된다.

■ if문 vs switch문

  • switch 문의 조건식을 넣는 부분을 살펴보면 x > 10 과 같은
    참, 거짓의 결과가 나오는 조건이 아닌 단순 값만 넣을 수 있다.
  • switch 문은 조건식이 특정 case 와 같은지만 체크할 수 있다.
    즉 값이 같은지 확인하는 연산만 가능하다. (문자열 가능)
  • if 문은 참 거짓의 결과가 나오는 조건식을 자유롭게 적을 수 있다.
    예) x > 10, x == 10

※ swich 문 없이 if 문만 사용해도 되나 특정 값에 따라 코드를 실행할 때는

    switch 문이 if 문보다 간결한 코드 작성이 가능하다

 

# if 문

  - 복잡한 조건을 자룰 때 유용

  - 다양한 비교 연산자와 논리 연산자 사용 가능

  - 다양한 데이터 타입 처리 가능

 

# switch 문

  - 단일 변수의 여러 값을 비교할 때 유용

  - 가독성이 좋고, 명확하게 구분되는 값에 대해 처리할 때 적합

  - 정수, 문자열, 문자 등의 특정 타입에 대해 사용 가능


■ 새로운 switch 문

# 자바 14부터 새로운 switch 문이 정식 도입되었다.

 

예제 코드)

package cond;

public class switch3 {
    public static void main(String[] args) {
        int grade = 3;

        int coupon = switch (grade) {
            case 1 -> 1000;
            case 2 -> 2000;
            case 3 -> 3000;
            default -> 500;
        };
        System.out.println("발급받을 쿠폰 : " + coupon);
    }
}

# 기존 switch 문과 차이

  • -> 를 사용한다.
  • 선택된 데이터를 반환할 수 있다.

'Language > Java' 카테고리의 다른 글

Java 조건문 문제와 풀이1  (0) 2024.06.28
Java 삼항 연산자  (0) 2024.06.28
Java if문2 - else if  (0) 2024.06.27
Java if문1 - if, else  (0) 2024.06.27
Java 연산자 문제 풀이  (0) 2024.06.27
문제
연령에 따라 다른 메시지를 출력하는 프로그램을 작성해야 한다.
int, age라는 변수를 사용해야 하며 연령에 따라 다음의 출력을 해야한다.

● 7세 이하일 경우 : "미취학"
● 8세 이상 13세 이하일 경우 : "초등학생"
● 14세 이상 16세 이하일 경우 : "중학생"
● 17세 이상 19시 이하일 경우 : "고등학생"
● 20세 이상일 경우 : "성인"

 

 

예제 코드)

package cond;

public class If3 {
    public static void main(String[] args) {
        int age = 14;

        if(age <= 7) { //미취학
            System.out.println("미취학");
        }
        if(age >= 8 && age <= 13) { // 8~13 : 초등학생
            System.out.println("초등학생");
        }
        if(age >= 14 && age <= 16) { // 14~16 : 중학생
            System.out.println("중학생");
        }
        if(age >= 17 && age <= 19) { // 17~19 : 고등학생
            System.out.println("고등학생");
        }
        if(age >= 20) { // 20이상 : 성인
            System.out.println("성인");
        }
    }
}

 

 

실형 결과)

# 위 코드는 단점이 있다.

  • 불필요한 조건 검사 : 이미 조건을 만족해도 불필요한 다음 조건을 계속 검사한다.
    예를 들어 나이가 5살이라면 미취학이 출력된다. 하지만 나머지 if 문을 통한 조건 검사도 모두 실행해야 한다.

  • 코드 효율성 : 8살인 초등학생이라면 미취학을 체크하는 조건인 age <= 7을 통해 나이가 8살이 넘는걸 알 수 있다.
    하지만 age >= 8 && age <= 13 이라는 2가지 조건을 모두 수행한다.
    여기서 age >= 8 이라는 조건은 앞의 age <= 7이라는 조건과 관련 있으며, 결과적으로 조건을 중복 체크한 것이다.

※ 이런 코드에 else if 를 사용해서 불필요한 조건 검사를 피하고 코드 효율성을 높일 수 있다.


- else if

else if문 이란?
if 문의 조건이 거짓일 때 다음 조건을 검사한다.
만약 앞선 if 문이 참이라면 else if를 실행하지 않는다.

- else if 코드

if (condition1) {
    // 조건 1이 참일 때 실행되는 코드
} else if (condition2) {
    // 조건 1이 거짓이고, 조건 2가 참일 때 실행되는 코드
} else if (condition3) {
    // 조건 2이 거짓이고, 조건3이 참일 때 실행되는 코드
} else {
    // 모든 조건이 거짓일 때 실행되는 코드
}

# 쉽게 생각해서 전체 if문을 하나로 묶는다고 보면 된다.

   특정 조건이 만족하면 해당 코드를 실행하고 if 문 전체를 빠져나온다.

   특정 조건을 만족하지 않으면 다음 조건을 검사힌다.

※ 핵심은 순서대로 맞는 조건을 찾아보고, 맞는 조건이 있으면 1개만 실행되는 것이다.


- else 생략 코드

if (condition1) {
    // 조건1이 참일 때 실행되는 코드
} else if (condition2) {
    // 조건1이 거짓이고, 조건2가 참일 때 실행되는 코드
}

 

 

else if를 사용한 예제 코드)

package cond;

public class if4 {
    public static void main(String[] args) {
        int age = 18;

        if(age <= 7) { // ~7 : 미취학
            System.out.println("미취학");
        } else if (age <= 13) { // 8~13 : 초등학생
            System.out.println("초등학생");
        } else if (age <= 16) { //14~16 : 중학생
            System.out.println("중학생");
        } else if (age <= 19) { // 17~19 : 고등학생
            System.out.println("고등학생");
        } else { // 20~ : 성인
            System.out.println("성인");
        }
    }
}

 

 

실행 결과)

'Language > Java' 카테고리의 다른 글

Java 삼항 연산자  (0) 2024.06.28
Java switch문  (0) 2024.06.27
Java if문1 - if, else  (0) 2024.06.27
Java 연산자 문제 풀이  (0) 2024.06.27
Java 대입연산자  (0) 2024.06.27

■ if문1 - if, else

if문이란?
if문은 특정 조건이 참인지 확인하고, 그 조건이 참(true)일 경우 특정 코드 블록을 실행한다.
if (condition) {
    //  조검이 참일 때 실행되는 코드
}

※ 코드 블록 : { } (중괄호) 사이에 있는 코드

 

 

예제 코드)

package cond;

public class If1 {
    public static void main(String[] args) {
        int age = 20; // 사용자 나이

        if (age >= 18) { // age의 값은 20으로 조건이 참이다.
            System.out.println("성인입니다."); // if문에 있는 코드 블록 실행
        }

        if (age < 18) { // age값이 20으로 조건이 거짓이다.
            System.out.println("미성년자입니다."); // 해당 블록 미실행
        }
    }
}

 

 

실행 결과)


- else문

 

else 문이란?
if문에서 만족하는 조건이 없을 때 실행하는 코드를 제공한다.
if (condition) {
    // 조건이 참일 때 실행되는 코드
} else {
    // 만족하는 조건이 없을 때 실행되는 코드
}

 

- else 문을 사용하면 앞서 진행헀던 코드를 더 간략하게 바꿀 수 있다.

  • 기존 : 만약 18살 이상이면 "성인입니다"를 출력하고, 만약 18살 미만이면 "미성년자입니다."를 출력한다
  • 변경 : 만약 18살 이상이면 "성인입니다."를 출력하고 그렇지 않으면 "미성년자입니다."를 출력한다.

 

예제 코드)

package cond;

public class If2 {
    public static void main(String[] args) {
        int age = 20; // 사용자 나이
        if (age >= 18) {
            System.out.println("성인입니다."); // 조건이 참일 때
        } else {
            System.out.println("미성년자입니다.");
        }
    }
}

 

 

실행 결과)

'Language > Java' 카테고리의 다른 글

Java switch문  (0) 2024.06.27
Java if문2 - else if  (0) 2024.06.27
Java 연산자 문제 풀이  (0) 2024.06.27
Java 대입연산자  (0) 2024.06.27
Java 논리 연산자  (0) 2024.06.27

+ Recent posts