조건문 - switch 문
switch 문은 case와 default로 구성되고, 각 case를 지정해준다.
if문과 switch문의 차이점
switch문이 속도가 더 빠름 (장점)
- if 문과 switch 문의 방식으로 목적지(부산)를 가려할 때 :
if 문은 가려는 곳을 순차적으로 물어보며 목적지로 향함.
가는 곳이 .. 천안인가? -> 대전인가> -> 대구인가> -> 부산인가?
switch 문은 가려는 곳으로 직진.
가는 곳이 부산이다.
단점 ) switch 문은 각각의 case를 메모리에 담고 있기 때문에 if 문보다 메모리를 더 차지한다.
따라서, switch 문은 필수로 수행해야할 때, 조건이 단순할 경우에 사용하는 것이 좋다.
- AND 조건이나 OR 조건은 switch 문에서 사용할 수 없다.
- jdk 1.7 이전 버전에서는 switch 문의 case에 문자를 사용할 수 없다.
반복문(Loop Statement)
- 반복문은 단순한 일을 반복할 때 사용한다.
- 반복은 "자동화"를 위해 가장 중요한 조건이다.
- 반복 역시 "특정한 조건" 이 만족되어야 반복된다.
- 반복문의 종류 : for 문 , while 문
// 언제 유리한지, 특징이 뭔지, 언제 사용되는지 알기!
//** 반복문 작성하기 전에 단순하게 작성해보고 규칙을 찾아서 작성하기 시작하면 쉬움!!!****
for 문
- 종료 횟수가 정해진 경우 유용하다.
- 예시 ) 물 10잔 떠다 줘.
for(초기값; 조건; 증감) {
해야할 일;
}
// 커피 10잔을 탄다. 물 한 잔 당 2개의 커피 믹스를 넣는다.
for (int i = 1; i <= 10; i++) {
물 떠오기;
for ( int j =1; j <= 2; j++) {
커피 믹스 넣기;
}
}
while 문
- 종료 횟수가 정해지지 않은 경우 유용하다.
- 예시 ) 내가 그만이라고 할 때 까지 A4용지 좀 리필해줘.
while(조건) {
해야할 일;
}
do while 문
- 일단 저질러 놓고 조건을 체크한다.
- 즉, do 의 내용을 실행 후 while 의 지속 여부를 체크
do {
해야할 일;
} while(조건);
public static void main(String[] args) {
//while은 조건을 보고 실행 여부를 판단
int i = 11;
while (i<10) {
i++;
}
System.out.println("while cnt:"+i);
//do while은 일단 실행하고 다음 실행 여부를 판단한다.
i = 11;
do {
i++;
} while (i<10);
System.out.println("do while cnt:"+i);
}
// while과 do while 은 조건이 문제가 없을 경우 동일한 결과를 낸다.
// 하지만 초기 조건이 맞지 않을 경우 차이를 보인다. (do는 초기 조건이 맞지 않아도 일단 실행하니까.)
빠져나가거나(break) 무시하기(continue)
- 프로그래밍에서 문장들은 code block {} 안에서 실행된다.
1. break : 특별한 경우 영역 안의 내용을 모두 실행하지 않고 빠져 나오는 방법
아예 code block을 나가버리기 때문에 더 이상 실행되지 않는다.
public static void main(String[] args) {
// break : 해당 구문을 탈출 한다.
for (int i = 0; i < 10; i++) {
if (i==3) {
break; //i가 3일 때 탈출해 버렸으므로 3은 출력되지 않는다.
}
System.out.println(i);
}
System.out.println();
/* 결과값
* 0
* 1
* 2
* 4
* 5
* 6
* 7
* 8
* 9
*/
// continue : 내 아래 구문을 무시해라.
for (int i = 0; i < 10; i++) {
if (i==3) {
continue; //i가 3일 때 아래 구문을 무시하고 넘어갔으므로 3이 출력되지 않는다.
}
System.out.println(i);
/* 결과값
* 0
* 1
* 2
* 4
* 5
* 7
* 8
*/
}
2. continue : 특별한 경우 무시하고 지나치는 방법
code block을 나가는 것이 아닌 특정 상황만을 무시하고 위로 다시 올라가는 것이므로 계속 실행된다.
배열(Array)
- 변수는 물이나 각종 음료를 담고 있는 잔과 같다고 했다.
- 배열은 변수를 일렬로 세워놓고 각 상자에 번호를 붙여 놓은 형태. 즉, 여러 개의 변수를 하나에 담는 기능.
- 변수가 맥주가 들어있는 맥주잔이라면 배열은 여러 맥주를 세워놓은 맥주 샘플러.
- 변수 100개 vs 배열 하나
- : 변수는 100개 모두 다른 이름을 가지고 있어야 한다.
- : 배열은 하나의 이름만을 가지고 있으면 되며, 배열의 요소들은 각자 배열의 방 번호를 부르면 된다.
- -> 배열의 각 요소들은 기준 잔에서 얼마나 떨어져 있는지가 자동으로 이름이 된다.
- 배열의 첫번째 값은 0번째 ==> 3번째 값은 기준 잔인 0번째 잔으로부터 2칸 떨어져 있으므로 배열의 2번째
- 배열 a[0] a[1] a[2] a[3] ...
- 0부터 시작하는 것은 자기 자신이 기준이 되기 때문.
- 배열은 몇 개의 데이터가 들어가야 할지 미리 정해줘야 한다.
다차원 배열
- 배열은 1차원 배열, 2차원 배열, 3차원 배열 등 다차원 배열을 활용할 수 있다.
- 다차원 배열의 개념은 아파트와 방의 개념으로 생각해 볼 수 있다.
<2차원> Royal 아파트 1층 2호 royal[1][2]
<3차원> Royal 아파트 1층 2호 1번 방 royal[1][2][1]
※ String str = null; // 진짜 아무 것도 없는.. 진공 상태의 상자
String str2 =""; //빈 값이라는 정보를 가지고 있는.. 공기는 있는 상태의 상자
향상된 for문
기존 방식의 for문
int[] scores = {95,75,84,35};
for(int i=0; i<score.length; i++) {
System.out.println(score[i]);
}
향상된 for문 = i를 통한 순서 정보가 필요하지 않을 때 사용.
int[] scores = {95,75,84,35};
for(int s:score) {
System.out.println(s);
}
- 배열(score)에 있는 값을 하나씩 뽑아서 앞의 변수(s)에 전달
- 장점 : 간편하다
- 단점 : 몇 번째 값인지 순서를 알기 어럽다.
- 따라서 i를 통한 순서 정보가 필요하지 않을 때 사용한다.
- 만일 향상된 for 문을 꼭 사용하면서 순서도 알고 싶다면 아래와 같이 사용한다.
int cnt = 0; //향상된 for문은 순서를 알 수 없기 때문에 필요하다면 변수를 따로 정의를 내려줘야한다.
for (int score : scores) {
System.out.println(cnt+" : "+score);
cnt++;
'Back-End > JAVA' 카테고리의 다른 글
JAVA, SPRING 기술 면접 정리 (0) | 2022.09.06 |
---|---|
[자바] 문자열과 제너릭 (String & Generic) (0) | 2022.04.20 |
STS /이클립스] 사용법 (계속 추가) (0) | 2022.04.08 |
[자바] JAVA, STS 설치 (0) | 2022.04.07 |
[자바] 자바 기초 개념 (0) | 2022.04.07 |