[JAVA]제어문, 조건문(if문, if ~ else문, switch문), 반복문(for, while, do-while), 기타 제어문(continue, break)
👻제어문👻
조건문
반복문
분기문
💡조건문
- 조건식의 결과에 따라 어떤 구문을 실행할지 결정한다.
- if문, switch문
if ~ else 문
조건식이 들어간다.
int score = 80;
if(score >= 90){
System.out.println("A")
}else if(score >= 80){
System.out.println("B")
}else if(score >=70){
System.out.println("C")
}else if(score >= 60){
System.out.println("D")
}else{
System.out.println("f")
}
else if를 사용하면 조건식을 더 추가할 수 있다.
만약 아무런 조건에도 해당하지 않는다면 else의 실행문을 수행한다.
switch 문
조건식 대신 변수나 수식이 들어간다.
int score = 60;
switch (score / 10){
case 10:
System.out.println("A");
break;
case 9:
System.out.println("B");
break;
case 8:
System.out.println("C");
break;
case 7:
System.out.println("D");
break;
default:
System.out.println("F");
}
}
break;를 해줘야 다음 조건이 실행되지 않는다.
default는 if ~ else문의 else와 같은 느낌이다.
위 case에 모두 해당되지 않는다면 실행된다.
만약 9와 10이 동일한 코드를 실행 해야 하는 경우
int score = 60;
switch (score / 10){
case 10:
case 9:
System.out.println("B");
break;
case 8:
System.out.println("C");
break;
case 7:
System.out.println("D");
break;
default:
System.out.println("F");
}
}
조건의 값이 10인 경우 코드가 없어 다음 9의 코드가 실행되고 break되기 때문에 9와 10은 같은 코드를 가질 수 있다.
random() 함수
- Math에 있는 함수
- 0 <= x < 1 사이의 랜덤한 값을 가져온다.
- 0 ~ 0.9999 값으로 나오기 때문에 int형으로 강제 형 변환을 해준다.
(int)Math.random()
범위를 지정하는 법(1 ~ 100)
(int)(Math.random() * 100 ) + 1;
곱한 부분이 최대값이 되고 더한 부분이 최소값이 된다.
만약 최대, 최소값을 지정하고 싶다면,(60 ~ 100)
(int)(Math.random() * (100 - 60 + 1) + 60);
최대 - 최소 + 1 한 값을 곱해주고 최소가 될 값을 더해준다.
💡반복문
- 같은 동작을 여러 번 반복해서 진행하게 하는 것
- for문, while문, do - while문
for 문
- 주로 반복 횟수가 정해져 있을 때 사용한다.
형식) for (초기값; 조건; 증감 연산){
실행문;
}
1부터 10까지 더하는 코드
int sum = 0;
for(int i = 1; i < 11; i++){
sum += i;
}
for문의 무한루프 방법
for( ;; ){
}
중첩 for문
예제1) 별 만들기
for(int i = 0; i < 5; i++){
for(int j = 1; j < 5 - i; j++){
System.out.print(" ");
}
for(int s = 1; s < i + 2; s++){
System.out.print("*");
}
System.out.println();
}
결과)
예제2) 행과 열을 입력받아 아래와 같이 출력
입력)
3 4
출력)
1 2 3 4
2 4 6 8
3 6 9 12
Scanner sc = new Scanner(System.in);
System.out.println("행을 입력하세요");
int row = sc.nextInt();
System.out.println("열을 입력하세요");
int col = sc.nextInt();
for(int i = 1; i < row + 1; i++){
for(int j = i ; j < col * i + 1; j += i ){
System.out.print(j + " " );
}
System.out.println();
}
결과)
while문
- 반복 횟수가 정해져 있지 않을 때 사용
- 조건식이 true일 경우 계속 반복되고 false가 되면 종료
- 실행 순서 : 조건식 -> 실행문 (반복)
do - while문
- while문과 같지만 실행 순서가 다르다.
- 실행 순서 : 실행문 - > 조건식(반복)
- 실행문을 무조건 1번은 실행한다.
💡기타 제어문
- 반복문에서 사용한다.
continue문
- 반복문 안에서 continue문을 만나면 이후의 실행코드를 실행하지 않고 반복문의 처음으로 돌아간다.
break문
- 반복문을 미리 종료할 때 사용한다.
- 해당 구문이 있는 루프가 종료된다.
- 이중 반복문일 경우 break문이 있는 반복문만 종료된다.