2024.07.16 DAY-5

보히·2024년 7월 24일

국비교육 5일차

어제 과제#1
// 1부터 100사이의 정수중에
// 짝수의 합과, 홀수의 합을 각각 구하여라
package work;

public class Main01 {

public static void main(String[] args) {
	int evensum = 0;
	int oddsum = 0;
	
	for(int i = 0; i < 101; i++ ) {
		//조건식
		if(i%2 ==0 ) {  	//짝수
			evensum += i;
		} else {			//홀수
			oddsum += i;
		}
	
	}
	System.out.println("짝수 : " + evensum);
	System.out.println("홀수 : " + oddsum);
	
  }
}
  1. 반복문에서의 break와 continue
  • break : 반복문 안에서 break 키워드를 만나면 반복을 강제로 종료한다.

  • continue : 실행흐름이 증감식으로 강제 이동한다.

    while(조건식){
    	...
    	continue;
    	break;
    }

package work;

public class Main05 {

public static void main(String[] args) {
	// 1~100 중에서 홀수들의 합
	
	// 무한루프
	// continue; break; 사용해서 홀수들의 합 출력
	
	int oddsum =0;
	int i = 0;
	while(true) {
		i++;
		if(i%2==0) {
			continue;
			
		}
		if(i > 100) {
			break;
		}
		oddsum +=i;
			
	 }
	System.out.println(oddsum);
  }

}        

package work;

public class Main06 {

public static void main(String[] args) {
	/*
	 *  1. 구구단 2단 출력
	 *  2 * 1 = 2
	 *  2 * 2 = 4
	 *  ...
	 *  2 * 9 =  18
	 */
	int result = 0;
	for(int i =1; i < 10; i++) {
		result = 2*i;
		System.out.println("2*"+i+" = "+result);
		
	}
	
	
	/*
	 *  2. while문 으로만
	 *  나무를 1번 찍었습니다.
	 *  나무를 2번 찍었습니다.
	 *  나무를 3번 찍었습니다.
	 *  ...
	 *  나무를 10번 찍었습니다.
	 *  나무가 넘어갑니다.
	 */
	
	int i = 0;
	while(i < 10) {
		i++;
		System.out.println("나무를 "+ i +"번 찍었습니다");
		
		if(i == 10) {
			System.out.println("나무가 넘어갑니다.");
	} 
		
}

}
  1. 배열
    2-1. 배열이란?

    • 변수를 그룹으로 묶는 형태의 한 종류, 사물함 같은 형태를 갖고 있다.

    • 하나의 배열안에는 같은 종류(데이터 형)의 값들만 저장될 수 있다.

    2-2. 배열을 만드는 방법
    - 배열의 선언
    데이터형[] 배열이름;

    • 배열의 생성 : 변수를 저장할 수 있는 사물함을 생성
      배열이름 = new 데이터형[크기];

      • 3개의 int형 변수를 저장할 수 있는 배열 생성
        int[] grade;
        grade = new int[3];
    • 배열의 선언과 크기 지정에 대한 일괄지정
      데이터형[] 배열이름 = new 데이터형[크기];
      int[] grade = new int[3];

  • 배열의 모양
    -> 생성된 배열은 사물함과 같이 각각의 칸에 값들이 저장되고,
    각각의 칸은 0부터 일련번호가 지정된다.(일련번호 = 배열의 인덱스)

    2-3. 배열에 값을 저장하기
    - 배열은 값을 저장할 수 있는 공간일 뿐, 그 자체가 값은 아니다.

  • 값이 대입되지 않은 경우, 숫자는 0, boolean false가 자동으로 대입된다.

  • 배열안에 값을 저장하기 위해서는 인덱스 번호를 사용하여 각각의 칸에
    직접 값을 대입해야 한다.

    		배열이름[인덱스] = 값;

    2-4. 둘리의 점수를 배열로 표현
    int[] grade = new int[3];
    grade[0] = 75;
    grade[1] = 82;
    grade[2] = 91;

    2-5. 배열의 크기 설정과 값 할당에 대한 일괄처리

  • 배열의 크기를 지정하면서 괄호{...} 안에 배열에 포함될 각 항목들을
    콤마(,)로 나열하면서, 배열의 생성과 값의 할당을 일괄 처리할 수 있다. 이 때는 배열의
    크기를 별도로 지정하지 않으며, "new 데이터형[]" 부분은 생략 가능하다.

    		데이터형[] 배열이름 = new 데이터형[]{값1 ,값2 ,...};
    		데이터형[] 배열이름 = {값1, 값2, ...};

    2-6. 배열값 사용하기

  • 배열안에 저장되어 있는 값들을 사용하여 연산이나 출력등의 처리를 위해서는 배열에
    부여된 인덱스 값을 통해서 데이터에 접근해야 한다.

    		grade[0];
    		grade[1];
    		System.out.println(grade[2]);

    2-7. 배열과 반복문

  • 배열의 특성
    -> 0~(배열의 크기 -1) 만큼의 인덱스 값을 순차적으로 갖는다.

  • 특성을 활용한 배열 데이터 처리
    -> 일정 범위를 갖고 순차적으로 증가하는 인덱스 값의 특성을 활용하면
    반복문 안에서 배열의 값을 할당하거나, 할당된 값을 읽어들이는 처리가 가능

    int[] grade = new int[]{100, 100, 90};
    for( int i = 0; i<3; i++){
    System.out.println(grade[i]);
    }

    2-8. 배열의 길이(크기)
    - 배열의 길이를 얻기 위해서는 "배열이름.length" 형식으로 접근한다.

    • grade라는 배열을 생성한 경우 배열의 길이

      		int size = grade.length;
      
      	int[] grade = new int[]{100, 100, 90};
      	for( int i = 0; i<grade.length; i++){
      		System.out.println(grade[i]);
      	}

    2-8. 베열의 종류

  • 1차 배열
    -> 앞에서 살펴본 배열 처럼 한 줄만 존재하는 사물함 같이 구성된 배열
    -> 행에 대한 개념이 없고, 열에 대한 개념만 존재하기 때문에
    "배열이름.length"는 몇 칸인지를 알아보는 기능이 된다.

  • 2차 배열
    -> 1차 배열의 각 칸에 새로운 배열을 넣는 형태
    -> 1차 배열의 각 칸은 행이 되고, 각각의 칸에
    개별적인 배열이 "열"의 개념이 되어 "행렬"을 구성하게 된다.

  • 다차원 배열
    -> 배열의 각 칸에 지속적으로 다른 형태의 배열을 포함시키는 형태로 2차 , 3차, 4차
    n차까지 무제한 확장 가능
    -> 실무에선 안 씀

    2-9. 이차원 배열 선언

  • 이차원 배열의 선언
    데이터형[][] 배열이름;

  • 2차원 배열의 크기 할당
    배열이름 = new 데이터형[행][열];

  • 2차원 배열의 선언과 할당의 일괄처리
    데이터형[][] 배열이름 = new 데이터형[행][열];

  • 2차원 배열의 선언, 크기 할당, 대입에 대한 일괄처리
    데이터형[][] 배열이름 = new 데이터형[][]{
    {1행0열의 값,1행1열의 값,...},
    {2행0열의 값,2행 1열의 값...},
    ...,
    {n행0열의 값,n행 1열의 값...}
    };

    2-10. 2차원 배열에 대한 값의 대입 방법

  • 행,열에 대한 인덱스를 통하여 값을 대입한다

    	배열이름[행][열] = 값;
    
    	int[][] grade = new int[3][3];
    	grade[0][0] = 75;
    	grade[0][1] = 82;
    	...
    	grade[2][2] = 90;

    2-11. 2차원 배열의 길이

  • 2차원 배열의 길이는 행에 대한 측면과 열에 대한 측면을 나누어서 생각한다.

  • 행의 길이
    -> int rows = grade.length; (*1차원 배열에서는 열의 길이를 나타냄)

  • 열의 길이
    -> int cols = grade[행].length;

0개의 댓글