조건문은 특정 조건에 따라 다른 문장이 실행된다.
if (a == b) { // 조건식인 a == b가 true 라면 아래 출력문을 실행
System.out.println("a와b는 같습니다.");
}
// 단, 블럭 문장이 한 줄이라면 {}를 없앨 수도 있다.
// 아래와 위는 같은 코딩
if ( a == b )
System.out.println("a와b는 같습니다.");
if (a==b){
System.out.println("a와b는 같습니다."); // a==b가 true
} else {
System.out.println("a와b는 다릅니다."); // a==b가 false
}
else if 문 : 기본적인 else if, if 문에 여러가지 조건을 추가하고 싶을 때 사용할 수 있다.
단, 처음 조건식부터 차례대로 검사하면서 내려오기에 위의 조건식을 만족한다면 아래 조건식은 검사하지 않는다.
if (a==b){
System.out.println("a와b는 같습니다."); // a==b가 true
}
else if (a==c){
System.out.println("a와b는 같습니다."); // a==c가 true
}
else if (a==d){
System.out.println("a와b는 같습니다."); // a==d가 true
}
else {
System.out.println("a와b는 다릅니다."); // 위에 조건문이 모두 false
}
switch 문 : if 문은 조건식이 많아질수록 더 복잡해지고 처리시간도 오래걸린다. 그래서 조건식이 많은 경우에는 간결하게 작성할 수 있는 switch문을 사용한다.
단, switch문의 조건식의 결과는 정수 또는 문자열이어야함 그리고 case문의 값들은 정수, 상수만 가능하며 중복은 불가능하다
switch(조건식){
case 값1 : // 조건식의 값이 값1 일때
코딩..;
break; // break문이 없으면 아래조건식들도 검사한다.
case 값2 : // 조건식의 값이 값2 일때
코딩..;
break;
case 값3 : // 조건식의 값이 값3 일때
코딩..;
break;
default : // 위에 조건문이 모두 아닐때
코딩..;
}
어떤 작업을 반복적으로 수행할 때 사용하는 문장
for (int i=0; i <= 10; i++;) { .. } // i가 0부터, 10이하까지 1씩증가하면서 반복
while(a != b) { .. } // a가 b와 같아질때까지 반복
do {
..
} while(a != b) // a가 b가 같더라도 블럭코딩을 실행한다.
for (int i=0; i <= 10; i++;) {
..
if (a == i) // a와 i가 같다면
break; // for문을 벗어나는 코딩
..}
for (int i=0; i <= 10; i++;) {
..
if (a == i) // a와 i가 같다면
continue; // 밑의 코딩을 수행하지 않고, 다음 회차로 이동
..}
outer : for (int i=0; i <= 10; i++;) {
for (int j=0; j <= 10; j++;) {
if (a == i) // a와 i가 같다면
break outer; // 원래 break문이라면 for문 하나만 벗어나지만, 이름을 사용함으로써 2번째 for문까지 벗어남
}
}