조건문과 반복문

박상윤·2022년 8월 15일

📌 조건문

원하는 결과를 얻기 위해서 흐름을 제어하는 구문

  • 조건식에 따라 수행되는 동작을 제어(관계 연산자, 논리 연산자)
  • if-else 문, if-else if-else문, switch문

📍 if문 형식

입력받은 값이 null이 아닌경우 콘솔창 출력

package chapter4;

import java.util.Scanner;

public class IfStatement {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String inputData = scanner.nextLine();

        if(inputData != null){
            System.out.println("input Data : "+inputData);
        }
    }
}

출력결과

📍 if-else 문

코드

package chapter4;

import java.util.Scanner;

public class IfStatement {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String inputData = scanner.nextLine();

        if(inputData != null){
            System.out.println("input Data : "+inputData);
        } else {
            System.out.println("Input data is null");
        } // if문 조건 만족 못한 경우 출력
    }
}

📍 if-else else-if 문

코드

package chapter4;

import java.util.Scanner;

public class IfStatement {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int inputData = Integer.parseInt(scanner.nextLine());

        if(inputData < 10){
            System.out.println("10보다 작음");
        } else if(inputData >=10 && inputData < 20){
            System.out.println("10보다 크고 20보다 작음");
        }else{
            System.out.println("10보다 큼");
        }
    }
}

📍 switch문

코드

package chapter4;

import java.util.Scanner;

public class SwitchStatement {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int inputData = Integer.parseInt(scanner.nextLine());

        if(inputData <= 100){
            switch(inputData){
                case 10:
                    System.out.println("C학점입니다");
                    break;
                case 50:
                    System.out.println("B학점입니다");
                    break;
                case 100:
                    System.out.println("A학점입니다");
                    break;
                default:
                    System.out.println("아무학점아닙니다");
            }
        }
    }
}

출력결과

📌 반복문

똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 명령문

  • while문, do-while문, for문, Enhanced for문

📍 For문

코드

package chapter4;

public class ForStatement {
    public static void main(String[] args) {
        for(int i = 0; i<10; i++){
            System.out.println("iteral Count:"+i);
        }
    }
}

출력결과

📍 While문

코드

package chapter4;

public class WhileStatement {
    public static void main(String[] args) {
        int count = 0;
        int sum = 0;
        while(count <= 5){
            sum+=count;
            count++;
        }

        System.out.println("Sum:"+sum);
    }
}

출력결과

📍 do-while 문

중괄호{} 사이의 영역은 무조건 처음에는 한 번 실행을 한 후, 조건을 검사한다.

  • 사용자의 입력이 언제 끝날지 모르고, 무조건 한 번은 입력이 되어야 할 경우 사용한다.

코드

package chapter4;

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

        do {
            sum+=count;
            count++;
        } while(count <=5);

        System.out.println("sum:" + sum);
    }
}

출력결과

📍 Enhanced for문

증감식의 부분은 배열,다른 자료구조로 사용가능하다.

  • 단점 : 변수의 값을 수정할 수 없고, 읽는 것만 가능하다.

코드

package chapter4;

public class EnhancedForStatement {
    public static void main(String[] args) {
        int [] numbers = {1,2,3,4,5};
        int sum = 0;

        for(int number : numbers){
            sum+=number;
        }

        System.out.println("Sum :"+sum);
    }
}

출력결과

📌 기타 제어문

📍 Break문

자신이 포함된 가장 가까운 반복문을 빠져나가는 제어문

  • 조건문과 같이 사용되어 특정 조건을 만족하면 반복문을 벗어날때 사용

코드

	package chapter4;

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

        while(true){
            sum+=count;
            if(sum>=55){
                break;
            }

            count++;
        }

        System.out.println("sum : " + sum);
    }
}

출력결과

📍 continue문

반복이 수행되는 경우, continue문을 만나면 반복문의 끝으로 이동

  • 특정 조건에 만족하는 경우, 연산 실행을 하지 않도록 하는 구문

홀수인 경우만 더해주기

package chapter4;

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

        for(int i = 0; i<10; i++){
            if(i%2 == 0){
                continue;
            }
            sum+=i;
        }

        System.out.println("sum : " + sum);
    }
}

출력결과

📍 Labeled Loop문

반복문에 이름을 붙여 사용하는 제어문

코드

package chapter4;

public class LabeledLoopStatement {
    public static void main(String[] args) {
        Loop1:
        for(int i=2;i<=9;i++){
            for(int j=1; j<=9;j++){
                if(j==5){
                    break Loop1;
                }
                System.out.printf("%d + %d = %d\n",i,j,i+j);
            }
            System.out.println();
        }
    }
}

출력결과

profile
BE 공부 블로그입니다

0개의 댓글