풀스택 과정 day05_Java

정유섭·2022년 3월 10일
0

2022.03.10.(목)

반복문에서의 흐름 제어

배열


1. 반복문

1-1. 반복문에서의 흐름 제어

- break : 반복문 안에서 break 키워드를 만나면 반복을 강제로 종료한다.

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


break와 continue 실습


break와 continue를 이용한 누적합


2. 배열

- 배열 사용 전;
- 프로그램에서 처리하는 값들이 많아질수록, 선언해야 하는 변수의
  수가 증가하게 되어서 프로그램의 소스가 더 난해해진다.
int dooly_kor = 75;
int dooly_eng = 82;
int dooly_math = 91;
System.out.pinrtln( (int dooly_kor + int dooly_eng + int dooly_math) / 3 );
위와 같은 데이터들을 효율적으로 관리하기 위해 '배열'을 사용한다.

2-1. 배열이란

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

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


배열의 예시 - 성적표

2-2. 배열을 만드는 방법

- 배열의 선언
데이터형[] 배열이름;
- 배열의 생성 : 변수를 저장할 수 있는 사물함을 생성한다.
배열이름 = new 데이터형[크기]
- 배열 생성의 예 : 3개의 int형 변수를 저장할 수 있는 배열 생성
int[] grade;		// 여러 개의 int형 변수를 저장할 수 있는 배열의 선언
grade = new int[3];	// 배열의 칸을 3칸으로 할당


배열의 선언 및 생성

- 배열의 모양

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

- 배열의 선언과 크기 지정에 대한 일괄 처리
데이터형[] 배열이름 = new 데이터형[크기];
int[] grade = new int[3];

2-3. 배열에 값을 저장하기

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

- 값이 대입되지 않은 경우, 숫자형은 0, boolean형은 false가 자동으로 대입된다.
	 String은 null이 대입!

- 배열 안에 값을 저장하기 위해서는 인덱스 번호를 사용하여 각각의 칸에 직접 값을 대입해야 한다.
배열이름[인덱스] = 값;
- 둘리의 점수를 배열로 표현한 예
int[] grade = new int[3];
grade[0] = 75;
grade[1] = 82;
grade[2] = 91;


배열에 값을 할당하기

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

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


배열의 선언, 생성, 크기 지정과 값 할당의 세 가지 방법

2-5. 배열값 사용하기

- 배열 안에 저장되어 있는 값들을 사용하여 연산이나 출력 등의 처리를 위해서는
  배열에 부여된 인덱스 값을 통해서 데이터에 접근해야 한다.
grade[0];
System.out.println(grade[0]);		// 75
System.out.println(grade[2]);		// 91
System.out.println(grade[3]);		// 에러 발생!

2-6. 배열과 반복문

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

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

// 배열의 인덱스는 0부터 전체 길이 3보다 작은 2까지이다.
int[] grade = new int[] {100, 100, 90};
for (int i = 0; i < 3; i++) {	// i = 0, 1, 2
	// i번째 배열 값에 대한 출력 처리
	System.out.println(grade[i]);
} 

2-7. 배열의 크기(길이)

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

- grade라는 배열을 생성한 경우 배열의 길이는
int size = grade.length;
- 배열의 길이값은 주로 반복문의 조건식에서 반복의 범위를 지정하기 위하여 사용된다.
int[] grade = new int[] {100, 100, 90, 95};
for (int i = 0; i < grade.length; i++) {	// i = 0, 1, 2
	// i번째 배열 값에 대한 출력 처리
	System.out.println(grade[i]);
}


배열의 크기(길이)와 반복문을 이용한 배열의 합과 평균 구하기

2-8. 배열의 종류

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

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

2-9. 2차원 배열의 생성 방법

- 데이터 타입의 이름 뒤에 대괄호 "[]"를 행과 열에 대하여 각각 지정한다.
데이터형[][] 배열이름;
- 2차원 배열의 크기 할당
	-> 행과 열에 대한 크기를 명시한다.
배열이름 = new 데이터형[행의 크기][열의 크기];
- 2차원 배열의 선언과 할당의 일괄처리
데이터형[][] 배열이름 = new 데이터형[행][열];
profile
도비는 자유에요!😝

0개의 댓글