ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 배열,while,for문
    JAVA 2021. 7. 21. 22:07

    배열

    1차원 배열

    타입이 같은 둘 이상의 데이터를 저장할 수 있다.

    int[] ref = new int[5];

    (int ref[] = new int[5]; //이 순서도 가능은 하다)

    //길이가 5인 배열

    위의 배열은 0번부터 4번까지 5개이다 >> ref[0], ref[1], ref[2], ref[3], ref[4]

    길이는 ref.length; 로 알 수 있다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    package chapter2;
    import java.util.Scanner;
     
        public static void ex5() {
            Scanner scan = new Scanner(System.in);
    //        scan.nextInt(); 키보드를 통해 입력받는 정수
     
    //        int n1, n2, n3, n4, n5, n6, n7, n8, n9, n10;
            int[] arr = new int[10];
     
            for (int i = 0; i < 10; i++) {
                System.out.print("정수를 입력하세요.>>");
                arr[i] = scan.nextInt(); // 키보드를 입력
            }
     
            // total, average 구하기
            int total = 0;
            int average;
            for (int i = 0; i < 10; i++) {
                total += arr[i];
            }
            System.out.println("합계: " + total);
     
            average = total / arr.length;
            System.out.println("평균: " + average);
     
        }
    cs

    while문

    while ( 반복조건 ) { 반복영역 }

    1:반복 시퀀스

    2:반복 조건

    3.반복 증감 크기

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    package chapter2;
     
    public class WhileFor {
        
        public static void ex1() {                
            //n이 0보다 클 동안 반복해 문장 호출하기
            int n = 5;
            
            while(n > 0 ) {
                System.out.println("주말 잘 보내셨나요?" + n);
                n--
            }
     
            //1~100 까지 더한 값 알아보기
            int num = 0;
            int total = 0 ; //합계
            
            while (num <= 100) {
                total += num;
                System.out.println(num + " : " + total);
                num++;
            }
            System.out.println("1부터 100까지 합?" + total);
        }
    cs

    do ~ while문

    do { 반복영역 } while ( 반복조건 )

    조건문을 만나기 전에 한번은 꼭 실행할 수 있음.

    1
    2
    3
    4
    5
    6
    7
    8
        public static void ex2() {
            int num = 5;
     
            do {
                System.out.println("반복시퀀스" + num);
                num++;
            } while (num < 5);
        }
    cs

    5보다 작을 때 까지, 이미 조건탈락이지만 한번은 먼저 실행됨.

    for 문

    가장 많이 사용하는 반복문

    for ( 초기화식; 조건식; 증감식 ) { 수행문; }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
        public static void ex3() {
     
            for (int i = 0; i < 10; i++) {
                System.out.println("반복횟수" + i);
            }
     
            // 1~100에서 2의 배수의 합계를 구해 주세요.
            int total = 0;
            for (int i = 1; i <= 100; i++) {
                if (i % 2 == 0) {
                    total += i;
                }
            }
            System.out.println("1~100에서 2의 배수의 합: " + total);
     
            // 1부터 5씩증가
            int total2 = 0;
     
            for (int i = 1; i <= 100; i += 5) {
                total2 += i;
                System.out.println(total2);
            }
        }
    cs

    중첩반복문

    for ( 초기화식; 조건식; 증감식 )

    { for ( 초기화식; 조건식; 증감식 ) { 수행문; }

    수행문; }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
        public static void ex4() {
            // 2단을 출력하시오.
            for (int i = 1; i < 10; i++) {
                System.out.println(2 + "*" + i + "=" + (2 * i));
            }
     
            //중첩반복문이란
            for (int j = 1; j < 4; j++) {
                System.out.println("외부반복시퀀스" + j);
                for (int i = 1; i < 4; i++) {
                    System.out.println("내부반복시퀀스" + i + "안녕");
                }
            }
     
            // 2단부터 9단까지 출력하시오.
            for (int dan = 2; dan < 10; dan++) {
                System.out.println("------------------");
                for (int i = 1; i < 10; i++) {
                    System.out.println(dan + "*" + i + "=" + (dan * i));
                }
            }
        
            // 3단과 7단만 출력하시오.
            for (int dan = 2; dan < 10; dan++) {
                if (dan == 3 || dan == 7) {
                    System.out.println("------------------"); //for문 밑에 쓰면 2~9까지 점선이 나와서 여러개 찍힘
                    for (int i = 1; i < 10; i++) {
                        System.out.println(dan + "*" + i + "=" + (dan * i));
                    }
                }
            }
     
            // 3의 배수단만 출력하시오.
            for (int dan = 2; dan < 10; dan++) {
                if (dan % 3 == 0) {
                    System.out.println("------------------");
                    for (int i = 1; i < 10; i++) {
                        System.out.println(dan + "*" + i + "=" + (dan * i));
                    }
                }
            }
        }
    cs

    } } }


    break와 continue

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
        public static void ex6() {
            
            // 6단까지 출력되다가 6단은 for문 조건을 수행하고 break
            for (int dan = 2; dan < 10; dan++) {
                if (dan == 6) {
                    System.out.println("------------------"); // for문 밑에 쓰면 2~9까지 점선이 나와서 여러개 찍힘
                    for (int i = 1; i < 10; i++) {
                        System.out.println(dan + "*" + i + "=" + (dan * i));
                    }
                    break;
                }
                System.out.println("dan" + dan);
            }
            
            // if 3단이면 그대로 증감식으로 continue, 수행식은 하지 않는다.
            for (int dan = 2; dan < 10; dan++) {
                if (dan == 3) {
                    continue;
                }
                    System.out.println("------------------"); // for문 밑에 쓰면 2~9까지 점선이 나와서 여러개 찍힘
                    for (int i = 1; i < 10; i++) {
                        System.out.println(dan + "*" + i + "=" + (dan * i));
                    }
                    System.out.println("dan" + dan);
                }
            
        }
    cs

    반복문 연습문제 3개

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
        // 연습문제 1: 1~100 중 홀수 합계, 짝수 합계를 출력하세요.
        public static void ex7() {
            int oddAvr = 0;
            int evenAvr = 0;
     
            for (int i = 1; i <= 100; i++) {
                if (i % 2 == 0) {
                    evenAvr += i;
                } else {
                    oddAvr += i;
                }
            }
            System.out.println("짝수합계: " + evenAvr);
            System.out.println("홀수합계: " + oddAvr);
        }
     
        // 연습문제 2: 밑의 그림처럼 출력하세요
    //    *****
    //    ****
    //    ***
    //    **
    //    *
        public static void ex8() {
            int star = 5;
     
            for (int i = 0; i < 5; i++) {
                for (int j = 0; j < star; j++) {
                    System.out.print("*");
                }
                star--;
                System.out.println();
            }
            
        }
     
        // 연습문제 3: 두개의 주사위의 두눈의 합이 6이 되는 모든 경우의 수를 출력하세요.
        public static void ex9() {
            
            for(int i = 1; i < 7; i++) {
                for(int j = 1; j < 7; j++) {
                    if(i+== 6) {
                        System.out.println(i + "+" + j + "=" + (i+j));
                    }
                    else {
                        continue;
                    }
                }
            }
     
        }
    cs

    'JAVA' 카테고리의 다른 글

    static main, 접근제한자, 싱글톤정의  (0) 2021.07.22
    java 및 객체의 정의  (0) 2021.07.22
    클래스,메서드정의  (0) 2021.07.21
    2-3차원배열,향상된for문  (0) 2021.07.21
    [java] 변수,변수형,연산자,if문  (0) 2021.07.21

    댓글

Designed by Tistory.