728x90
반응형
SMALL

for

for (초기화; 조건식; 증감식) { 조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 문장;}실행 순서 1.초기화 2.조건식 3.조건식 이 참일 경우 문장 수행 4.증감식 5.조건식이 거짓이 될 때 까지 반복

class Control3_1 {
    public static void main(String[] args) {
        int i = 0;
        for (i = 0; i < 5; i++) {
            System.out.println("for 문이 " + (i + 1) + "번째 반복 실행중입니다.");
        }
        System.out.println("for 문이 종료된 후 변수 i의 값은 " + i + "입니다.");
    }
}
class Control3_2 {
    public static void main(String[] args) {
        // 1번
        for (int i = 1; i <= 10; i = i * 2) {
            System.out.println("1번 i는 현재 " + (i) + "입니다.");
        }
        System.out.println();
        // 2번
        for (int i = 10; i >= 1; i--) {
            System.out.println("2번 i는 현재 " + (i) + "입니다.");
        }
    }
}
class Control3_3 {
    public static void main(String[] args) {
        // 초기화 시 변수 2개 사용 가능합니다. 단, 타입이 같아야 한다.
        for (int i = 1, j = 10; i <= 10; i++, j--) {
            System.out.println("i는 현재 " + (i) + "입니다.");
            System.out.println("j는 현재 " + (j) + "입니다.");
        }
        System.out.println();
        // 이렇게 변수 2개를 사용하여 조건식을 구성할 수 있습니다.
        for (int k = 1, t = 10; k <= 10 && t > 2; k++, t--) {
            System.out.println("k는 현재 " + (k) + "입니다.");
            System.out.println("t는 현재 " + (t) + "입니다.");
        }
    }
}

중첩 for

for (초기화; 조건식1; 증감식) { 조건식1의 결과가 참인 동안 반복적으로 실행하고자 하는 문장; for (초기화; 조건식2; 증감식) { 조건식2의 결과가 참인 동안 반복적으로 실행하고자 하는 문장; } }

class Control3_4 {
    public static void main(String[] args) {
        for (int i = 2; i < 10; i++) {
            System.out.println(i + "단 시작합니다.");
            for (int j = 1; j < 10; j++) {
                System.out.println("j는 현재 " + (j) + "입니다.");
                System.out.println(i + "*" + j + "=" + (i * j));
            }
        }
    }
}

향상된 for

for (타입 변수이름 : 배열 or 컬렉션) { 배열 or 컬렉션의 길이만큼 반복적으로 실행하고자 하는 문장; }

class Control3_5 {
    public static void main(String[] args) {
        int[] arr = new int[]{1, 2, 3, 4, 5};

        for (int e : arr) {
            System.out.print(e + " ");
        }
    }
}
728x90
반응형
LIST

'개발 > JAVA' 카테고리의 다른 글

break 와 continue  (0) 2023.01.19
임의의 정수 만들기  (0) 2023.01.19
SWITCH  (0) 2023.01.19
IF  (0) 2023.01.19
조건 연산자와 대입 연산자  (0) 2023.01.18
728x90
반응형
SMALL

SWITCH

switch (조건식) {
case 값1:
          조건식의 결과가 값1과 같을 경우 수행할 문장; break;
case 값2:
         조건식의 결과가 값2와 같을 경우 수행할 문장;
break;
....
default:
          조건식의 결과와 일치하는 case 문이 없을 때 수행할 문장;
}

 

  • 처리해야 하는 경우의 수가 많을 때 유용한 조건문
  • break; 를 작성해 주지 않으면 switch 문 끝까지 실행됨!
  • default 문은 생략 가능
  • if 조건문과 비교해보면 if 는 조건식 결과에 true/false 만 가능하고 switch 는 정수나 문자열 만 가능하다.
  • 실행 흐름 확인하기
    1. 조건식을 계산한다.
    2. 조건식의 결과와 일치하는 case 문으로 이동한다.
    3. 해당 case 문의 문장들을 수행한다.
    4. break; 를 만나거나 switch 문이 끝나면 switch 문 전체를 빠져나간다.

switch 문의 제약조건

  1. switch 문의 조건식 결과는 정수 또는 문자열 이어야함
  2. case 문의 값은 정수 상수(문자 포함), 문자열 만 가능하며, 중복되지 않아야 한다.

int num, result;
final int ONE = 1;
switch (result) {
case '1': // OK. 문자 리터럴(정수 49와 동일)
case ONE: // OK. 정수 상수
case "YES" // OK. 문자열 리터럴
case num: // Error. 변수는 불가능
case 1.0: // Error. 실수도 불가능}

class Control2_1 {
    public static void main(String[] args) {
        int month = 8;
        String monthString = "";
        switch (month) {
            case 1:  monthString = "January";
                     break;
            case 2:  monthString = "February";
                     break;
            case 3:  monthString = "March";
                     break;
            case 4:  monthString = "April";
                     break;
            case 5:  monthString = "May";
                     break;
            case 6:  monthString = "June";
                     break;
            case 7:  monthString = "July";
                     break;
            case 8:  monthString = "August";
                     break;
            case 9:  monthString = "September";
                     break;
            case 10: monthString = "October";
                     break;
            case 11: monthString = "November";
                     break;
            case 12: monthString = "December";
                     break;
            case 0: case 13:
                     System.out.println("이런식으로 case 문을 사용할 수 있습니다.");
                     break;
            case 15:
            default: monthString = "Invalid month";
        }
        System.out.println(monthString);
    }
}
728x90
반응형
LIST

'개발 > JAVA' 카테고리의 다른 글

임의의 정수 만들기  (0) 2023.01.19
FOR  (0) 2023.01.19
IF  (0) 2023.01.19
조건 연산자와 대입 연산자  (0) 2023.01.18
논리 연산자와 비트 연산자  (0) 2023.01.18
728x90
반응형
SMALL

if

if (조건식) { 조건식의 결과가 참일 때 실행하고자 하는 문장; }

class Control1_1 {
    public static void main(String[] args) {
        char ch = 'b';
        if (ch >= 'a' && ch <= 'z') {
            System.out.println("해당 문자는 영문 소문자입니다.");
        }
    }
}

if - else

if (조건식) {

   **조건식의 결과가 참일 때 실행하고자 하는 문장;**

} else {

   **조건식의 결과가 거짓일 때 실행하고자 하는 문장;**

}

class Control1_2 {
    public static void main(String[] args) {
        char ch = 'Z';
        if (ch >= 'a' && ch <= 'z') {
            System.out.println("해당 문자는 영문 소문자입니다.");
        } else {
            System.out.println("해당 문자는 영문 소문자가 아닙니다.");
        }
    }
}

if - else if - else

if (조건식1) {

     **조건식1의 결과가 참일 때 실행하고자 하는 문장;**

}

else if (조건식2) {

      **조건식2의 결과가 참일 때 실행하고자 하는 문장;**

}

else {

     **조건식1의 결과도 거짓이고, 조건식2의 결과도 거짓일 때 실행하고자 하는 문장;**

     **즉, 위의 어느 조건식에도 만족하지 않을 때 수행**

}

class Control1_3 {
    public static void main(String[] args) {
        char ch = 'p';

        if (ch >= 'a' && ch <= 'z') {
            System.out.println("해당 문자는 영문 소문자입니다.");
        } else if (ch >= 'A' && ch <= 'Z') {
            System.out.println("해당 문자는 영문 대문자입니다.");
        } else {
            System.out.println("해당 문자는 영문자가 아닙니다.");
        }

        int score = 70;

        if (score >= 90) {
            System.out.println("A등급입니다.");
        } else if(score >= 80) {
            System.out.println("B등급입니다.");
        } else if(score >= 70) {
            System.out.println("C등급입니다.");
        }
    }
}

중첩 if (if안에 if가 또!)

if (조건식1) {

     **조건식1의 결과가 참일 때 실행하고자 하는 문장;**

if (조건식2) {

     **조건식1 과 조건식 2의 결과가 모두 참일 때 실행하고자 하는 문장;**

}

else {

    **조건식1의 결과가 참이고, 조건식2의 결과가 거짓일 때 실행하고자 하는 문장;**

}

}

else {

   **조건식1의 결과가 거짓일 때 실행하고자 하는 문장;**

}

블럭 { }

‘여러 문장을 하나로 묶어주는 것’ 만약 if 조건문에서 실행할 문장이 하나라면 if(조건식) 명령문; 이렇게 { } 가 생략될 수 있다.

조건식의 다양한 예

조건식1의 결과가 거짓일 때 실행하고자 하는 문장;

}
int num, result;
final int ONE = 1;
switch (result) {
case '1': // OK. 문자 리터럴(정수 49와 동일)
case ONE: // OK. 정수 상수
case "YES" // OK. 문자열 리터럴
case num: // Error. 변수는 불가능
case 1.0: // Error. 실수도 불가능
}

728x90
반응형
LIST

'개발 > JAVA' 카테고리의 다른 글

FOR  (0) 2023.01.19
SWITCH  (0) 2023.01.19
조건 연산자와 대입 연산자  (0) 2023.01.18
논리 연산자와 비트 연산자  (0) 2023.01.18
비교 연산자와 문자열의 비교  (0) 2023.01.18

+ Recent posts