본문 바로가기

하루공부

제 28장 📗JAVA☕ part_2(do-while, 배열)📗

👨‍🔬do-while 문의 구성을 쉽게 그려보았습니다.

do { ...작업문... } while(조건식);

- 최소 한번이상 작업문 실행

- 반복 조건이 true 면 반복, false 면 반복 종료

- 반복 조건이 없으면 컴파일 오류 발생

 

(예제코드)

i = 0;

do {

        System.out.print(i);

        i++;

} while( i < 10);

 

(출력) : 0123456789

🔑continue문

반복문의 작업문 중간에 continue를 넣으면

반복문에서 빠져나가지 않고 다음 반복으로 진행한다

 

🔑break문

반복문 하나를 완전히 빠져 나갈 때 사용한다

  • 기본 반복문의 경우 현재 하나의 반복문을 벗어난다.
  • 중첩 반복의 경우 안쪽 반복문의 break문이 실행되면 안쪽 반복문만 벗어난다.

 

🚩배열이란?

 인덱스와 인덱스에 대응하는 데이터들로 이루어진 자료 구조

         ◼ 배열을 이용하면 한 번에 많은 메모리 공간 할당 가능

 같은 타입의 데이터들이 순차적으로 저장

         ◼ 인덱스를 이용하여 원소 데이터 접근

         ◼ 반복문을 이용하여 처리하기에 적합

 배열 인덱스

         ◼ 0부터 시작

         ◼ 인덱스는 배열의 시작 위치에서부터 데이터가 있는 상대 위치

 

for-each문

  • 배열이나 나열의 각 원소를 순차적으로 접근하는데 유용한 for문

(예제코드)

String names[] = { "사과", "배", "바나나", "체리", "딸기", "포도" } ;

for (String s : names)  ⬅ 반복할 때마다 s는 names[0], names[1], ..., names[5] 로 설정

System.out.print(s + " ");

(출력)

사과 배 바나나 체리 딸기 포도

 

🎯 2차원 배열

int           intArray [][];               int [][]      intArray;  

char        charArray [][];    or    char [][] charArray;

double     doubleArray [][];      double[][] doubleArray;

 

(예제코드) 2차원배열로 4년 학기 평점 구하기

public class ScoreAverage {

    public static void main(String[] args) {

        double score[][] = {{3.3, 3.4}, ➡ 1학년 1, 2학기 평점

                                      {3.5, 3.6}, ➡ 2학년 1, 2학기 평점

                                      {3.7, 4.0}, ➡ 3학년 1, 2학기 평점

                                      {4.1, 4.2} }; ➡ 4학년 1, 2학기 평점

        double sum=0;

           for(int year=0; year < score.length; year++) ➡ 각 학년별로 반복

              for(int term=0; term < score[year].length; term++) ➡ 각 학년의 학기별 반복

                  sum += score[year][term]; ➡ 전체 평점 합

 

         int n = score.length; ➡ 배열의 행 개수, 4

         int m = score[0].length; ➡ 배열의 열 개수, 2

         System.out.println("4년 전체 평점 평균은" + sum/(n*m));

     }

}

 

(출력)

4년 전체 평점 평균은 3.725