dev._.note

[JAVA] 제어문 본문

Dev/JAVA

[JAVA] 제어문

Laena 2023. 2. 18. 19:47

제어문 이란?

제어문 이란 프로그램의 동작 흐름에 조건, 반복을 통해 제어할 수 있는 실행문으로 조건문과 반목문, 분기문이 있다.

 


조건문

 if 문

 표현식

if (조건식){ }

조건식의 결과 값이 true면 { }안의 내용을 실행하고 false면 실행하지 않음.

 if ~ else 문

 표현식

if (조건식){}
else {}

조건식의 결과 값이 true면 if의 { }실행하고 false면 else의 { } 실행

 else ~ if 문

 표현식

if (조건식1){}
else if (조건식2){}
else {}

조건식 1의 결과 값이 true면 if{ }실행
조건식 1의 결과 값이 false면 else if로 넘어옴
조건식 2의 결과 값이 true면 else if{ } 실행
둘 다 false일 경우 else{ } 실행

복수의 if 문와 if ~ else if 문 차이

if 는 true, false와 상관없이 조건절 실행
If~else if 는 if의 조건절이 true면 이후 코드는 실행하지 않음

 중첩 if 문

 표현식

if (조건식)
{
   if (조건식) { }
}
else { }

조건식의 결과 값이 true면 if의 { }안의 내용을 실행하고 내부의 if문 { } 을 확인하고 true면 내부 if문 실행하고 false면 실행하지않고 else도 실행하지 않고 다음 코드실행

 switch 문

 표현식

switch(변수 or 계산식) {
                                     case 리터럴(정수 or 문자 or 문자열) : ……. break;
                                     case 리터럴(정수1 or 문자1 or 문자열1) : …… break;
                                     default : ………. ;
}

정수, 문자, 문자열에 있는 값(변수 or 계산식)이랑 일치한 (정수 or 문자 or 문자열) case 문을 실행,
break를 만나면 switch를 빠져나감

반복문

 for문

 표현식

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

 while 문

 표현식

[초기식]
while (조건식) { ……………[실행문]; }

 예제

public class B_while{
	public static void main(String[] args){

		int i = 1; 
		while(i <= 5){
			System.out.println(i + “번째 반복문 수행중…”);
			i++; 
		}
	} 
}
 실행결과 :	1번째 반복문 수행중… 
		2번째 반복문 수행중… 
		3번째 반복문 수행중… 
		4번째 반복문 수행중… 
		5번째 반복문 수행중…

 do while 문

 표현식

[초기식]
do {
…………… [실행문] ;
} while (조건식) ;

 예제 1 (do while (조건식) 일 때)

public class DoWhileTest {
	public static void main(String[] args){
		int i = 1;
        
		do{
			System.out.println(i + "번째 반복문 수행중..."); 
			i++;
			} while(i<=5);    
		}
}

실행결과 : 1번째 반복문 수행중… 
	  2번째 반복문 수행중… 
	  3번째 반복문 수행중… 
	  4번째 반복문 수행중… 
	  5번째 반복문 수행중…

 예제 2 (do while (false) 일 때)

public class C_doWhile{
	public static void main(String[] args){

		int i = 1;
		int sum = 0;
		do{
			sum += i;
			i++;
		} while(false);
				System.out.println(“sum : ” + sum); }
}

실행 결과 : sum : 1

do while()에 false가 들어가면 1번 실행하고 종료

분기문

 break

반복문을 빠져나가는 구문 break구문이 있는 곳에서 곧장 반복문을 빠져 나옴

 예제

public class BreakTest {
	public static void main(String[] args){ 

		Scanner sc = new Scanner(System.in);
		System.out.print(“숫자 하나를 입력하세요 : ”);
		int num = sc.nextInt();
		int sum  = 0;//합계를 저장할 변수

		int i = 1; 
		while(true){
			sum += i;

			//i가 num까지 증가하면, 반복문 탈출!!! 
				if(i==num) break;
				i++; 
			}
			System.out.println(“1부터 ” + i + “까지의 합은 ” + sum + “입니다.” );
	} 
}

실행결과 : 숫자 하나를 입력하세요 : 10 
	  1부터 10까지의 합은 55 입니다.

 continue

반복문 실행시 continue 아래 부분은 실행하지 않고 반복문을 다시 실행 (for문의 경우 증감식으로 이동)

 예제

public class ContinueTest {
	public static void main(String[] args){ 

		Scanner sc = new Scanner(System.in); 
		System.out.print(“숫자 하나를 입력하세요 : ”); 
		int num = sc.nextInt();

		for(int i = 1; i <= num; i++){ 
				if(i % 2 != 0){
					continue; 
				}
				sum += i;
		}
		System.out.println(“1부터 ” + num + “까지의 짝수의 합은 ” + sum + “입니다.” );
	}
}

실행결과 : 숫자 하나를 입력하세요 : 10
 	  1부터 10까지의 짝수의 합은 30 입니다.

'Dev > JAVA' 카테고리의 다른 글

[JAVA] 중첩 반복문  (0) 2023.02.20
[JAVA] 배열(Array)  (0) 2023.02.19
[JAVA] 연산자(Operator)  (0) 2023.02.17
[JAVA] 출력 메소드(Print Method)  (0) 2023.02.06
[JAVA] 상수 (Constant)  (0) 2023.02.06