[Java] Flag 란?

2022. 1. 7. 09:33

Flag

 

영문 의미인 깃발, 의 뜻처럼 현재 상태를 인식, 처리 흐름을 제어하기 위한 변수.

Boolean 타입의 변수이기 때문에 토글(on/off) 의 역할에 사용하기도 함.

 

boolean flag = true;
	flag =! flag; // flag = false 변환
	System.out.println(flag); // false 출력
	flag =!flag; //true 변환
	System.out.println(flag); // true 출력

또한 IF 조건문, while, for 반복문 등을 사용 할 때, flag를 사용하여 true/false 를 대체하여 사용할 수도 있다.

 

예제1 while문

int num;
int sum = 0;
boolean flag = true;

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("더하기를 할 숫자 입력(계산을 원하면 0 입력 후 엔터)");

while (flag) { // flag가 true인 동안 while이 지속.
	System.out.print(">> ");
	String tmp = br.readLine();
	// 문자열 받기
	num = Integer.parseInt(tmp);
	// BufferReadered 로 String 타입을 받았으니 Int 타입으로 바꿔주기
	if (num != 0) {
		// 0 != 0 거짓
		sum += num;
	} else {
		flag = false;
	}
}
System.out.println("합계 : " + sum);

예제2 조건문

int N = 15 ;
int odd = 0; int even = 0; // 홀짝을 넣을 변수 생성
boolean flag=true; // 구분할 flag 생성

for(int i = 0; i<N; i++){
	if (flag){
		odd = odd + i;
		flag = false;
	} else { // flag가 false 인 상황
		even = even + i;
		flag = true;
	}
}
System.out.println("홀수의 합은 : " + odd); // 홀수의 합은 : 56
System.out.println("짝수의 합은 : " + even); // 짝수의 합은 : 49

flag를 통해 분기점을 만들고, i가 홀수와 짝수일 때 각각의 변수에 더해지게 만듬으로써 홀수짝수 합계를 구했다.

BELATED ARTICLES

more