제어문
메소드는 { } 에서 위에서 아래로 흘러가며 실행된다. 이런 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 게 제어문이다.
제어문에는 조건문과 반복문이 있다. 조건문은 특정 조건을 만족할 경우 { } 내부를 실행하고 원래의 실행흐름으로 되돌아온다. 반복문은 특정 조건을 만족할 때까지 { } 내부를 반복 실행한다.
조건문
IF
if 문은 조건식이 true이면 { } 내부를 실행하고, false이면 실행하지 않는다.
int score = 70;
String grade;
if(score >= 90) {
grade = "A";
}
// 위의 if문 조건을 만족하지 않으면서
// 해당 조건문을 만족하면 실행한다.
else if(score >= 80 ) {
grade = "B";
}
// 위의 if와 else if 조건을 만족하지 않으면서
// 해당 조건문을 만족하면 실행한다.
else if(score >= 70) {
grade = "C";
}
// 위의 세 조건문을 만족하지 않으면 실행한다.
else {
grade = "D";
}
System.out.println(grade);
c
SWITCH
switch문의 괄호 안의 변수와 일치하는 값을 갖는 case로 가서 실행문을 실행시킨다. 만약 동일한 값을 갖는 case가 없으면 default로 가서 실행문을 실행시킨다. (default는 생략 가능)
case 마다 break;를 넣어 switch 문을 빠져나가도록 해야 한다. break가 없으면 변수의 값과 상관없이 다음의 case는 모두 실행한다.
int score = 70;
String grade;
switch(score/10) {
case 10 : grade ="A"; break;
case 9 : grade = "A"; break;
case 8 : grade = "B"; break;
case 7 : grade = "C"; break;
default : grade = "D"; break;
}
System.out.println(grade);
C
int score = 100;
String grade;
switch(score/10) {
case 10 : grade ="A";
case 9 : grade = "A";
case 8 : grade = "B";
case 7 : grade = "C";
default : grade = "D";
}
System.out.println(grade);
D
반복문
FOR
for문은 주어진 횟수만큼 반복문을 실행할 때 사용하는 반복문이다.
초기화식에서 루프 카운트 변수를 선언할 때는 부동소수점 타입을 사용해서는 안된다. 부동 소수점 타입의 실제 값은 선언한 값보다 약간 더 크기 때문에 (0.1f = 0.10000007) 횟수가 정확하게 계산되지 못한다.
for(루프 카운트 변수 초기화식; 조건식; 증감식) {
// 조건식이 true이면 실행문이 실행된다.
// 조건식이 false이면 for문을 빠져나간다.
실행문;
// 실행문이 1번 실행되고 나면 증감식이 실행된다.
}
int b = 0;
for(int i = 1 ; i <= 10; i++) {
b += i;
}
System.out.println(b);
55
[배열을 사용했을때의 for문]
int[] arr = {0,1,2,3,4};
for(int a : arr) {
System.out.print(a);
}
0 1 2 3 4
WHILE
조건식이 true면 실행문을 반복한다. 조건식이 false가 되면 반복을 멈춘다.
int a = 0;
while(a < 10) {
a++;
System.out.print(a+" ");
}
1 2 3 4 5 6 7 8 9 10
DO-WHILE
do-while문은 블록 내부를 실행시키고, 실행결과에 따라 반복을 계속할지를 판단한다.
do {
a++;
System.out.print(a+" ");
}while(a < 10);
1 2 3 4 5 6 7 8 9 10
BREAK
반복문을 실행중지하고 빠져나올 때 사용한다.
int a = 0;
while(a <= 10) {
a++;
if(a%5 == 0) {
break;
}
System.out.print(a+" ");
}
1 2 3 4
CONTINUE
반복문에서 continue 만나면, continue 다음을 실행하지 않고 다음 반복으로 넘어간다.
int a = 0;
while(a <= 10) {
a++;
if(a > 6) {
continue;
}
System.out.print(a+" ");
}
System.out.println("\n"+a);
1 2 3 4 5 6
11
출처
신용권, 이것이 자바다, 한빛미디어
'JAVA > JAVA' 카테고리의 다른 글
Lambda Expressions 람다식 (0) | 2021.10.28 |
---|---|
Collection 컬렉션 (0) | 2021.10.25 |
연산자 Operator (0) | 2021.10.04 |
JVM 자바 가상머신 (0) | 2021.10.02 |
Objects 클래스 (0) | 2021.09.28 |