Programming Language/Java
[Java 기초부터 다시] 3. 조건문과 반복문
노는게제일좋아!
2021. 4. 4. 23:16
반응형
1. if문
if(조건식){
// ...
} else {
// ...
}
2. switch문
public class SwitchExample {
int num = (int)(Math.random()*4) + 1;
switch(num){
case 1:
// ...
break;
case 2:
// ...
break;
case 3:
// ...
break;
default:
// ...
break;
}
}
- Math.random(): [0.0, 1.0] 사이에 속하는 double 타입의 난수를 리턴한다.
- switch(변수)의 변수에 해당하는 case가 실행되고, 변수 값이 case에 없으면 default 부분이 실행된다.
- break;를 작성해주지 않으면 해당 case부터 하위 코드가 모두 실행된다.
3. for문
for(int i=1; i<10;i++){
// ...
}
- 초기화식이 필요 없을 경우 다음과 같이 생략할 수 있다.
int i =1;
for(; i<10;i++){
// ...
}
- 초기화식이나 증감식이 여러 개인 경우다 아래와 같이 작성할 수 있다.
for(int i=1, j=100; i<=50 && j>=50; i++, j--){
// ...
}
4. while문
int i = 1;
while(i<10){
i++;
}
- do-while 문
- 일단 do{}부분이 수행되고, while(조건)에 작성된 조건에 적합하면 계속해서 반복하는 구조이다.
- 예시: 키보드로 입력을 받아 종료 문자('q')가 아니면 계속해서 입력을 받는다.
Scanner scanner = new Scanner(System.in);
String inputString;
do {
System.out.print(">");
inputString = scanner.nextLine(); // 키보드로 입력한 문자열을 얻음
System.out.println(inputString);
} while(!inputString.equals("q");
5. break문
- break문은 가장 가까운 반복문만을 종료시킨다.
- 위에 do-while문의 예시에서 작성된 코드를 break문을 이용해 다음과 같이 수정할 수 있다.
Scanner scanner = new Scanner(System.in);
String inputString;
while(true) {
System.out.print(">");
inputString = scanner.nextLine(); // 키보드로 입력한 문자열을 얻음
System.out.println(inputString);
if(inputString.equals("q"){
break;
}
}
- 중첩된 반복문에서 바깥쪽 반복문까지 종료시키려면 라벨을 붙여주면 된다.
- 아래 예시를 보자.
- 라벨이 없다면 lower가 'g'일 때, 안쪽 반복문에서만 벗어나게 되지만, 이 경우에는 Outter 표시가 되어있는 바깥쪽 반복문까지 빠져나오게 된다.
Outter:for(char upper='A'; upper<='Z'; upper++){
for(char lower='a'; lower<='z'; lower++){
System.out.println(upper + '-' + lower);
if(lower=='g'){
break Outter;
}
}
}
6. continue문
- continue;를 만나면 해당 반복문의 처음으로 돌아간다. (초기화식은 계속 증가)
- 아래 예시를 보자.
- upper가 'A'일 경우 continue;를 만난다.
- 이 경우 처음 부분으로 돌아가므로 'A'는 출력되지 않는다.
- 'B' 이후부터는 if문에 해당되지 않으므로 값을 출력하게 된다.
for(char upper='A'; upper<='Z'; upper++){
if(upper == 'A'){
continue;
}
System.out.println(upper);
}
반응형