프로그래밍

[자바 기초] day02 : 제어문 본문

자바/자바 기초

[자바 기초] day02 : 제어문

시케 2023. 5. 3. 14:26
728x90
반응형

2023.05.03.수

제어문

프로그램의 수행 순서를 제어하거나, 문장들의 수행 횟수를 조정하는 문장

 

제어문을 적절하게 사용한다면 코드의 재사용성을 높일 수 있다

코드의 재사용성이 높아지면 자원을 아낄 수 있고 오류의 파급효과를 줄일 수 있다

 

1) 조건문

: 분기점
: 버튼식 수행
: 양자택일
: 선택지

 

if 문

if(조건){

   문장

}

else if(조건){

   문장

}

else{

   문장

}

조건이 참일 경우 해당 문장을 실행 후 넘어간다

if문의 조건을 실행 후 끝나는 것이 아닌 else if문 또한 조건이 참일 경우 실행하므로

범위가 좁은 순서대로 쓰는 것이 좋다

int a =4;		
//범위가 좁은것부터 넓은 순서대로
if(a%10 == 0) {
	System.out.println("10의 배수입니다");
}
else if(a%2 == 0) {
	System.out.println("짝수입니다");
}
else
	System.out.println("홀수입니다");
}

 

switch ~ case 문

변수와 case 값이 일치하면 해당 문장을 실행한다

public static void main(String[] args) {
        int month = 8;
        String monthString = "";
        switch (month) {
            case 1:  monthString = "January";
                     break;
            case 2:  monthString = "February";
                     break;
            case 3:  monthString = "March";
                     break;
            case 4:  monthString = "April";
                     break;
            case 5:  monthString = "May";
                     break;
            case 6:  monthString = "June";
                     break;
            case 7:  monthString = "July";
                     break;
            case 8:  monthString = "August";
                     break;
            case 9:  monthString = "September";
                     break;
            case 10: monthString = "October";
                     break;
            case 11: monthString = "November";
                     break;
            case 12: monthString = "December";
                     break;
            default: monthString = "Invalid month";
                     break;
        }
        System.out.println(monthString);
    }

 

여기서 쓰는 break는 보조제어문으로 자신이 속한 반복문을 즉시 벗어난다(종료)

 

또 다른 예로 continue 가 있다

continue는 주로 if문과 함께 사용되어 특정 조건을 만족하는 경우에

continue문 이후의 문장들을 수행하지 않고 다음 반복으로 넘어가서 계속 진행하도록 한다

 

if 문은 범위, switch ~ case 문은 가짓수가 정해져 있을때 유용하다

예를 들면, 0~100점까지의 성적을 특정 단위로 A, B, C, D, F 로 나타낸다고 할때 if 문으로는 5번이면 되지만

switch ~ case 문은 0 ~ 100점까지의 101가지의 case를 써야할 것이다.

 

2) 반복문

: 수행이 반복처리될때
: N번, N회
: A부터 B까지, 범위
: 계속, 무한하게

 

while

반복 수행의 횟수를 모를때 주로 쓰인다
ex) 무한, 영원, 계속, ~~할때까지

 

while(조건) {
     문장
}

 

public static void main(String[] args) {
	int a = 9;
	int b = 10;

	int i = a;
	while(i<=b) {
		System.out.println(i+" ");
		i++;
	}
 
 /*
	if(a>b) {//교환
		int tmp;
		tmp=a;
		a=b;
		b=tmp;
	}
*/
}

 

for

반복 수행의 횟수를 알때 주로 쓴다
ex) N번, N회, 1~100까지(범위)

 

for(초기식;조건식;증감식){

문장

}

초기값을 정한뒤 조건식이 참이면 문장을 실행한다

한번의 반복이 될때마다 증감한다

 

int a = 1;
int b = 5;
for(int i=a; i<=b; i++) {
			System.out.print(i+" ");
}
int sum = 0;
for(int i=0; i<=100; i++) {
	sum+=i;
}
System.out.println(sum);

무한루프 문

while 문과 if 문을 적절하게 사용한다면 무한루프 문을 만들 수 있다

단, 무한루프는 종료조건이 반드시 필요하다

무한루프는 '자원'을 과다하게 사용할 수 있어 비용이 증가할 수 있는 위험이 있다

public static void main(String[] args) {
	int a = 33;
	int b = 29;
		
	if(a>b) {//교환
		int tmp;
		tmp=a;
		a=b;
		b=tmp;
	}
		
	int num = a;
	while(true) {
		System.out.print(num+" ");
		num++;
		if(num>b) {
			break;		
		}
	}
    
}

 

깃허브

https://github.com/jihyean/Java/tree/main/day02/src

 

GitHub - jihyean/Java

Contribute to jihyean/Java development by creating an account on GitHub.

github.com

 

728x90
반응형
Comments