이 자바의 정석을 읽으면서 공부한 내용을 정리하며 기록하는 글이고
주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다.
1. 조건문 - if, switch
if문 : 만일 조건식이 참이면 괄호 안의 문장들을 수행하라는 의미
if (조건식) {
//조건식이 참일 때 수행될 문장들을 적는다.
}
if-else문 : else는 조건식의 결과가 거짓일 때 else블럭의 문장을 수행하라는 의미
if (조건식) {
// 조건식이 참일 때 수행될 문장들을 적는다.
} else {
// 조건식이 거짓일 때 수행될 문장들을 적는다.
}
if-else if문 : if-else문에서 처리해야할 경우의 수가 셋 이상인 경우에 사용
if (조건식1) {
// 조건식1의 연산결과가 참일 때 수행될 문장들을 적는다.
} else if (조건식2) {
// 조건식2의 연산결과가 참일 때 수행될 문장들을 적는다.
} else if (조건식3) { //여러 개의 else if를 사용 가능하다.
// 조건식3의 연산결과가 참일 때 수행될 문장들을 적는다.
} else { //마지막에는 보통 else으로 끝나며 생략가능하다.
//위의 어느 조건식도 만족하지 않을 때 수행될 문장들을 적는다.
}
중첩 if문 : if문의 불럭 내에 또 다른 if문을 포함시키는 것이 가능하다.
if (조건식1) {
// 조건식1의 연산결과가 참일 때 수행될 문장들을 적는다.
if (조건식2) {
// 조건식1과 조건식2의 연산결과가 참일 때 수행될 문장들을 적는다.
} else {
// 조건식1의 연산결과가 참이고 조건식2의 결과가 거짓일 때 수행될 문장들을 적는다.
}
} else {
// 조건식 1이 거짓일 때 수행될 문장들을 적는다.
}
switch문 : 단 하나의 조건식으로 많은 경우의 수를 처리할 수 있다.
switch문 순서
- 조건식을 계산한다.
- 조건식의 결과와 일치하는 case문으로 이동한다.
- 이후의 문장들을 수행한다.
- break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나간다.
switch (조건식) {
case 값1 :
// 조건식의 결과가 값1과 같을 경우 수행될 문장들
break;
case 값2 :
// 조건식의 결과가 값2와 같을 경우 수행될 문장들
break; // switch문을 벗어난다.
default :
// 조건식의 결과와 일치하는 case문이 없을 때 수행될 문장들
}
switch문의 제약조건
- switch문의 조건식 결과는 정수 또는 문자열이어야 한다.
- case문의 값은 정수 상수만 가능하며, 중복되지 않아야 한다.
- case문의 값은 변수나 실수가 올 수 없다.
2. 반복문 - for, while, do-while
for문 : 반복 횟수를 알고 있을 때 적합하다.
for (초기화;조건식;증감식){
// 조건식이 참일 때 수행될 문장들을 적는다.
}
for문 순서
- 초기화 : 반복문에 사용될 변수를 초기화하는 부분
- 조건식 : '참인 동안' 반복을 계속한다고 생각
- 증감식 : 반복문을 제어하는 변수의 값을 증가 또는 감소시키는 식
- 초기화 > 조건식 > 수행될 문장 > 증감식
향상된 for문 : JDK1.5부터 배열과 컬렉션에 저장된 요소에 접근할 때 편리한 문법
for( 타입 변수명 : 배열 또는 컬렉션){
//반복할 문장
}
while문 : 조건식이 true인 동안 블럭 내의 문장을 반복
while (조건식) {
//조건식의 연산결과가 참인 동안, 반복될 문장
//조건식 생략 불가
}
while문 순서
- 조건이 참이면 블럭안으로 들어가고, 거짓이면 while문을 벗어난다.
- 블럭{ }의 문장을 수행하고 다시 조건식으로 돌아간다.
do-while문 : while문에서 최소한 한 번은 수행될 것을 보장하는 문법
do {
// 조건식의 연산결과가 참일 때 수행될 문장들을 적는다.
} whlie (조건식); //끝에 ';'를 잊지 않도록 주의
break문 : 자신이 포함된 가장 가까운 반복문을 벗어나고 주로 if문이나 switch문이랑 사용된다.
while(true){ //무한 반복
if(sum>100)
break; // sum값이 100이 넘어갈 경우 바로 while문이 종료된다.
sum += ++i;
}
continue : 반복문에서 사용 가능하며 반복문 끝으로 이동하여 다음 반복으로 넘어간다.
Loop1 : for(i = 2; i<=9; i++) {
for (int j = 1; j <= 9; j++) {
if (j == 5)
break Loop1; // j == 5이면 Loop1의 for문을 나가버린다.
// break; // j == 5이면 if문에서 나가버린다.
// continue Loop1; // j == 5이면 그 다음 반복되는 for문으로 넘어간다.
// continue; //j == 5이면 그 다음 반복되는 if문으로 넘어간다.
System.out.println(i + "*" + j + " = " + i * j);
}
System.out.println();
}