* 배열(Array)
- 배열은 같은 데이터 유형 변수를 여러 개 선언해야 하는 불편함을 줄이기 위해 사용합니다.
- 자바에서는 배열도 일종의 데이터 타입으로 취급할 수 있기 때문에 배열을 정의하는 대괄호"[]"가 배열 변수명 앞에 오는 것이 가능합니다.
- 자바의 배열은 선언시에는 크기를 명시할 수 없으며, 생성시에 크기를 명시한다.
- 배열은 <선언, 생성(크기가 만들어진 배열 사용 가능), 초기화>의 과정을 통하여 만들어집니다.
- 선언 시에는 배열에 들어갈 데이터 타입 을 결정하고, 생성 시 만들 배열의 크기 를 결정합니다. 그리고 초기화 과정을 통하여 배열에 들어갈 값을 입력해 줍니다.
- 선언 - int[ 대괄호 ] a (배열을 담는 상자 생성)
String[ ] a
- 생성 a = new int[5] (크기 지정-만들어진건 고정, 5개만 저장)
a = 값이 들어있지 않는 상자 5개 생성(순서 index-색인 가짐), 첫번째 상자 0부터 시작, 마지막은 사이즈보다 -1 작음
a[0]-<a 배열의 0번째>
a[0]=10;
- 배열의 길이란 배열에 저장할 수 있는 전체 항목 수를 말하는데 코드에서 배열의 길이를 얻으려면
'배열변수이름.length' 라는 코드를 사용합니다.
- 같은 데이터 타입을 한번에 저장해주는것 = 배열(10부터 20까지-정수 집합)
int a = 10
b = 11
c = 12
...
g = 20
arr = (10 ~ 20)
* 조건문 if ~ else
- if문은 프로그램의 흐름을 바꾸는데 사용되는 조건 선택 분기문입니다.
- if문의 조건식 결과는 반드시 boolean형이어야 되며, 조건식이 참이면 if문 블록안의 실행문이 실행되고, 거짓이면 else문 블록안의 실행문이 실행됩니다.
- if문장은 else문장 없이 사용할 수 있습니다. 그러나 else문장은 if문장 없이 단독으로 사용할 수 없습니다.
- 조건식의 결과가 거짓일 때 실행할 문장이 없다면, else문 이하를 생략해도 됩니다.
* 다중 분기 조건문 if ~ else if ~ else
if (조건) {
} else if (조건) {
} else if (조건) {
} else-생략 다중 택 1
- 실행 흐름: 위부터 첫 조건이 true이면 위만 실행하고 빠져나옴.
- 첫 조건이 false이면 두번째 조건 실행하고 빠져나옴.
- 순서대로 맞는 조건을 검사한다. (조건을 잘 세워야함.)
- 조건이 맞지 않으면 실행 안함
- if ~ else if 구문은 위에서부터 차례대로 조건을 검색하면서 내려오므로 조건식 설정에 주의 를 해야 합니다.
- 여러 조건들을 설정할 때 사용하는 조건문입니다.
* 조건문 switch ~ case
- 복합 if문은 구현하기 복잡하고 프로그램의 효율성이 감소되는 단점이 있기 때문에, 다중 분기 문제를 해결할 때는 switch문을 사용합니다.
- switch문은 다중 분기 구조이므로 복합 if문의 논리적인 구조를 간결하게 표현할 수 있습니다.
- if문과는 달리 조건식이 사용되지 않고, 값을 가지는 변수 또는 표현식이 판단조건으로 사용되며, 연산 결과의 데이터 타입은 int, String, Enum(열거형)이 사용됩니다.
- case문 뒤에 사용되는 값은 변수를 사용할 수 없고, 반드시 상수를 사용해야 합니다.
- switch ~ case문에서 default는 if~else에서 else와 비슷한 효과를 가집니다.
ex.
int a = 1
switch(a) {
case : 1 a 매칭될 수 있는 값 적어주기
break;
case : 2
break;
case : 3
defalt: <case에 아무것도 없으면 실행 해줌>
}
switch a에 맞는 곳에 한번에 들어가서 아래로 실행, break 만나면 빠져 나옴.
매칭 되는게 없으면 실행 안함
<switch 검색할 때 swi 친 후 ctrl 스페이스 → 2번째 선택>
* if문과 동일하게 switch 구문으로 변경하기.
<오늘 푼 문제들>
- if else 구문 사용해서 풀어보기
- if else if else 구문 사용해서 풀어보기
** 중괄호가 많아지니까 헷갈려서 오류가 많이 뜬 것 같다.
순서 잘 생각해서 풀어보기
- if else if else 에서 변수 사용해서 문제 풀어보기
아직까지는 순서에 대한 감각이 없는 것 같다.
조건문까지는 만들었는데 max, mid, min 변수를 어떻게 사용해야 하는지 어려웠던 것 같다.