JAVA

[JAVA]제어문, 조건문(if문, if ~ else문, switch문), 반복문(for, while, do-while), 기타 제어문(continue, break)

바켠주 2024. 3. 24. 02:31
728x90

👻제어문👻

조건문

반복문

분기문

 

💡조건문

- 조건식의 결과에 따라 어떤 구문을 실행할지 결정한다.

- 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문이 있는 반복문만 종료된다.