if 문, if else 문 은 너무 간단하기에 간략히만 작성함.
if (booleanExpression) {
statement(s);
}
예시
if ((i > 0) && (i < 10)) {
System.out.println("i is an integer between 0 and 10");
}
주의할 점
if (booleanExpression) 뒤에는 ;를 달지 않는다.
if (booleanExpression) {
statement(s)-for-the-true-case;
}
else {
statement(s)-for-the-false-case;
}
if else 문을 사용할 때는 꼭 중괄호{}를 잘 써야한다.
중괄호를 쓰지 않으면 else는 무조건 가장 가까운 if와 대응된다.
예시
switch (year) {
case 7: annualInterestRate = 7.25;
break;
case 15: annualInterestRate = 8.50;
break;
case 30: annualInterestRate = 9.0;
break;
default: System.out.println("Wrong number of years, enter 7, 15, or 30");
}
스위치 문에서는 break;가 매우 중요하다. break;가 없으면 선택된 값의 아래 분기 모두가 실행이 된다.
function switchfunc(month) {
switch(month) {
case 'January':
case 'February':
console.log('겨울');
/* intentional fallthrough */
case 'March':
case 'April':
case 'May':
console.log('봄');
break;
case 'June':
case 'July':
case 'August':
console.log('여름');
break;
}
}
다음과 같은 상황에선 March가 선택되면, April과 May에 있는 명령문 모두를 실행할 것이다. 지금은 명령문이 May에 하나 뿐이니 console.log('봄')이라는 명령문만 실행할 것이다.
만약 case에 없는 값을 받았다면 default에 있는 명령문이 실행될 것이다.
default에는 break;문이 없어도 되는데, default 이후에는 명령문이 없기 때문이다.
booleanExp ? exp1 : exp2
앞의 boolean이 참이면 exp1을 실행하고, 거짓이면 exp2를 실행한다.
예시
y=(x>0)?1:-1
이 명령문은 x가 0보다 크면 y=1, x가 0보다 작거나 같으면 y=-1을 실행한다.
while (continuation-condition) {
// loop-body;
}
while 뒤의 조건이 참을 만족하는 동안, loop를 계속해서 실행한다.
int i = 0;
while (i < 100) {
System.out.println("Welcome to Java!");
i++;
}
보통 위와 같이 i를 loop를 반복할때마다 증가시켜 loop를 벗어날 수 있도록 한다.
do {
// Loop body;
} while (continue-condition);
do while은 while과 비슷하지만 최소 한번 이상 실행된다는 점이 다르다.
while은 조건이 맞지 않을 시 0번 실행하지만 do while은 조건이 맞지 않더라도 1번은 실행한다.
주의점은 do while 에선 while 맨 뒷 부분에 ;가 들어있다는 점이다.
예시
do {
System.out.println(num);
num++;
} while (num <= 5);//;주의
for (initial-action; loop-continuation-condition; action-after-each-iteration) {
//loop body;
}
for 문 뒤에 (초기식,조건식,증가식)으로 구성되어 있다.
주의할점은 초기식과 조건식 뒤에는; 가 있다는 점, 증가식 뒤에는 ;가 없다는 점이다.
예시
int i;
for (i = 0; i < 100; i++) {
System.out.println("Welcome to Java! ” + i);
}
break을 사용하면 반복을 종료하고 반복문의 밖으로 나갈 수 있다.
보통 반복문 안에서 다음과 같이 사용된다.
for (i=0;i<10;i++){
System.out.println("i="+i);
if (i==3){
System.out.println("반복종료");
break;
}
}
이렇게 되면 i의 값이 3일 때 반복문이 종료된다.
따라서 0,1,2만 출력하고 반복이 종료된다.
continue를 사용하면 현재 반복을 중단하고 다음 반복을 진행한다.
for (i=0;i<10;i++){
if (i==5){
continue;
}
System.out.println("i="+i);
}
0~4까지 출력한 후 i가 5가 될때 출력하지 않고 반복을 종료하고 다음 반복으로 넘어간다.
따라서 5만 제외하고 모두 출력된다.