- 조건문: 조건이 참일때 {}를 수행
if(score>60){
System.out.println("합격")
}
-if-else: 조건식이 참일때와 거짓일때 나눠서 처리
if(input==0) {
System.out.println("입력하신 숫자는 0입니다.");
} else { // input!=0인 경우
System.out.println("입력하신 숫자는 0이 아닙니다.");
}
- if- else if: 여러 개 중의 하나 여러개의 조건식을 포함
if (score >= 90) { // score가 90점 보다 같거나 크면 A학점
grade = 'A';
} else if (score >=80) { // score가 80점 보다 같거나 크면 B학점
grade = 'B';
} else if (score >=70) { // score가 70점 보다 같거나 크면 C학점
grade = 'C';
} else { // 나머지는 D학점
grade = 'D';
}
- 중첩 if문 : if문 안의 if
if (score >= 90) { // score가 90점 보다 같거나 크면 A학점(grade)
grade = 'A';
if (score >= 98) { // 90점 이상 중에서도 98점 이상은 A+
opt = '+';
} else if (score < 94) { // 90점 이상 94점 미만은 A-
opt = '-';
}
}
- switch문: 처리할 경우의 수가 많을 때
switch(month) {
case 3:
case 4:
case 5:
System.out.println("현재의 계절은 봄입니다.");
break;
case 6: case 7: case 8:
System.out.println("현재의 계절은 여름입니다.");
break;
case 9: case 10: case 11:
System.out.println("현재의 계절은 가을입니다.");
break;
default:
// case 12: case 1: case 2:
System.out.println("현재의 계절은 겨울입니다.");
}
제약조건- switch는 조건식에 정수, 문자열만 가능 case 정수상수문자열(변수, 실수 안됨) if는 true false
- 반복문: 조건을 만족하는 동안 수행
-for문: 반복횟수를 알 때 적합
for(int i=1;i<=5;i++)
System.out.println(i);
- 중첩 for문
for(int i=1;i<=5;i++) {
for(int j=1;j<=10;j++) {
System.out.print("*");
}
System.out.println();
}
- while문 : 반복횟수 모를 때 for문과 호환가능
while(i--!=0) {
System.out.println(i + " - I can do it.");
}
- do-while문: 블럭을 최소한 한 번 이상 반복 - 사용자 입력받을 때 유용
do {
System.out.print("1과 100사이의 정수를 입력하세요.>");
String tmp = scanner.nextLine();
input = Integer.parseInt(tmp);
if(input > answer) {
System.out.println("더 작은 수로 다시 시도해보세요.");
} else if(input < answer) {
System.out.println("더 큰 수로 다시 시도해보세요.");
}
} while(input!=answer);
- break문: 자신이 포함된 하나의 반복문을 벗어난다.
- continue: 자신이 포함된 반복문의 끝으로 이동 다음반복으로 넘어감
특정 조건 넘어갈때
- 임의의 정수 0.0<=Math.random()<1.0
1~3을 얻는 법: 3곱하고 int로 형변환 +1