티스토리 뷰

제어문(Control Statement)

코드가 위에서 아래로 순차적으로 실행되는 구문을 순차문이라고 한다. 모든 코드가 순차적으로 실행된다면 좋겠지만 실제로는 그렇지 않다. 제어문은 코드의 실행 흐름을 담당하는 구문으로 선택문, 반복문, 분기문으로 나뉜다. 

출처: https://jjunii486.tistory.com/46

선택문(Selection Statement)

1) if-then

if(조건식) { // 한 줄일 경우 {} 생략 가능	
	...조건이 참인 경우 실행되는 코드;
}
import java.util.Scanner;

public class example {

	public static void main(String[] args) {
		int num;
		
		Scanner sc = new Scanner(System.in);
		System.out.println("type your favorite number");
		num = sc.nextInt();
		
		if(num > 0) {
			System.out.println("your favorite number: "+ num);
		}	
	}
}

// type your favorite number
// 13
// your favorite number: 13

2) if-then-else

if(조건식) { 
 .. 조건식이 참인 경우; } else { 
 ...조건식이 거짓인 경우; }
public class test {

	public static void main(String[] args) {
		int num;
		
		Scanner sc = new Scanner(System.in);
		System.out.print("type your favorite number(range 1~10): ");
		num = sc.nextInt();
		
		if(num > 7) {
			System.out.println("your favorite number is higher than 7");
		}else {
			System.out.println("your favorite number is lower than 7");
		}
	}
}

// type your favorite number(range 1~10): 8
// your favorite number is higher than 7

3) Switch

switch(변수) {
	case 값 A:
    	변수가 값 A가 해당하는 경우;
        break;
    case 값 B:
    	변수가 값 B에 해당하는 경우;
        break;
    default: 
    	어떠한 값에도 해당하지 않는 경우;
        break;
}
public class test {

	public static void main(String[] args) {
		int num;
		
		Scanner sc = new Scanner(System.in);
		System.out.print("vote your favorite food (1. pizza 2. hamburger 3. salad 4. bread ): ");
		num = sc.nextInt();

		switch(num) {
		case 1:
			System.out.println("You like pizza");
			break;
		case 2:
			System.out.println("You like hamburger");
			break;
		case 3:
			System.out.println("You like salad");
			break;
		case 4:
			System.out.println("You like bread");
			break;
		default:
			System.out.println("Make sure your numnber is between 1 and 4");	
			break;
		}
	}
}
// Vote your favorite food (1. pizza 2. hamburger 3. salad 4. bread ): 3
// You like salad

 

반복문(Iteration Statement)

1) for

for(초기식; 조건식; 증감식){
	... 반복 될 코드;
}
// JDK 5.0 이상 부터 for each 구문 제공 
// for each 문은 따로 반복 횟수를 명시적으로 주는 것이 불가능 하고, 1 step씩 순차적으로 반복될 때만 사용가능하다. 

for(타입 변수 명: 배열/컬렉션){
	... 반복될 코드;
}
public class example {
	public static void main(String[] args) {
		for (int num =1; num <=10; num ++) {
			System.out.print(num+" ");
		}
	}
}

// 1 2 3 4 5 6 7 8 9 10
public class study {
	public static void main(String[] args) {
		String[] numbers = {"one", "two", "three"};
		for (int i=0; i<numbers.length; i++) {
			System.out.print(numbers[i] + " ");
		}
	 }
}

// one two three

2) while

while(조건식){
	... 반복될 코드;
}
public class study {
	public static void main(String[] args) {
		String[] numbers = {"one", "two", "three"};
		int i = numbers.length-1;
		while(i>=0) {
			System.out.print(numbers[i--] + " ");
		}
	 }
}
// three two one

3) do-while

do{
	...반복 될 코드;
}while(조건식);

// do-while문은 일단 do안의 코드를 먼저 실행하고 조건문에 따라 true면 앞의 코드가 실행되고 
// 아니면 종료되는 반복문이다. 여기서 do-while은 그냥 while문과 달리 무조건 한번은 실행해야 한다는
// 차이가 있다.
import java.util.Scanner;

public class example {
	public static void main(String[] args) {
		int value = 0;
		
		Scanner sc = new Scanner(System.in);
		do {
			value = sc.nextInt();
			System.out.println("입력 받은 수: " + value);
		}while(value != 10); // 입력 받은 수가 10이 아닐 경우 계속 반복
		
		System.out.println("반복문 종료");
	 }
}

/*
13
입력 받은 수: 13
15
입력 받은 수: 15
10
입력 받은 수: 10
반복문 종료

*/

 

댓글