JAVA/자바의 정석
[Java의 정석] 조건문과 반복문
yerinn
2022. 1. 24. 20:13
1. 조건문 (if, switch)
1-1. if문
if (조건식) {
// 조건식이 참(true)일 때 수행될 문장들을 적는다.
}
if문에 사용되는 조건식은 일반적으로 비교연산자와 논리연산자로 구성된다.
또한 괄호 내 문장이 하나 뿐일때는 괄호를 생략할 수 있다.
1-2. if-else문
if (조건식) {
// 조건식이 참일때 수행할 문장
} else {
// 조건식이 거짓일때 수행할 문장
}
1-3. if-else if문
if (조건식1) {
// 조건식1이 참일때 수행되는 문장
} else if (조건식2) {
// 조건식2이 참일때 수행되는 문장
} else if (조건식3) {
// 조건식3이 참일때 수행되는 문장
} else {
// 위의 어느 조건식도 만족하지 않을때 수행되는 문장
}
1-4. switch문
switch (조건식) {
case 값1 :
// 조건식의 결과가 값1과 같을 경우 수행되는 문장
// ...
break;
case 값2 :
// 조건식의 결과가 값2과 같을 경우 수행되는 문장
// ...
break;
//...
default:
//조건식의 결과와 일치하는 case문이 없을 때 수행되는 문장
//...
}
회원제 사이트 등에서 등급에 따른 쓰기/읽기권한등을 부여할때 많이 쓰인다.
switch문의 제약조건 1. switch문의 조건식 결과는 정수 또는 문자열이어야 한다. 2. caxe문의 값은 정수 상수만 가능하며, 중복되지 않아야 한다. |
2. 반복문 (for, while, do-while)
2-1. for문
for(int i=1 ; i<=5 ; i++) {
System.out.println("I can do it.");
}
구조는 다음과 같다.
for (초기화 ; 조건식 ; 증감식) { //조건이 참일때 수행될 문장 } |
증감식에는 i++ / i-- / i+=2 / i+=3 등이 올 수 있으며
두문장을 아래와 같이 하나로 연결해서 쓸 수도 있다.
for (int i=1, j=10 ; i<=10 ; i++, j--) {
// i는 1부터 10까지 1씩 증가, i는 10부터 1까지 1씩감소
}
또한 모두 생략해 무한반복도 가능하다.
for (;;) { ... }
아래 구문을 이용하면 배열 또는 컬렉션의 모든 요소를 출력할 수 있다.
for (int tmp : arr) {
System.out.println(tmp);
}
2-2. while문
int i=1; //초기화
while(i<10) { // 조건식
System.out.println(i);
}
while문은 조건식이 생략 불가능하다.
대신 항상 참이 되게하려면 조건식에 true를 넣어주면 된다. ( for(;;) 과 같은 기능을 한다)
2-3. do-while문
do {
//조건식의 연산결과가 참일 때 수행될 문장들을 적는다.
} while (조건식) ;
while문의 변형으로 조건식과 블럭을 뒤바꾸어 둔 형대다.
그래서 while문과 반대로 블럭을 먼저 수행한 뒤 조건식을 평가하며,
이에 while과 다르게 do-while 문은 최소한 한번씩은 모두 수행된다.
2-4. break/continue문
while(true) {
if (sum > 100)
break; //break문이 수행되면 아래 부분은 실행되지 않고 while문을 완전히 빠져나간다.
++i;
sum += i;
}
for (int i=0 ; i <= 10 ; i++) {
if (i%3==0)
continue; // 조건식이 참이되어 continue가 수행되면 블럭의 끝으로 이동하고 break와 달리 반복문을 벗어나진 않는다.
System.out.println(i);
}