Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

나의 IT일지

조건문(if문) 본문

프로그래밍 언어/Java

조건문(if문)

세레프 2023. 3. 21. 07:20

 프로그램은 main()메소드(함수)를 기준으로 위에서 아래로 실행하는 흐름을 가지고 있다. 이러한 흐름을 개발자가 원하는 흐름으로 변경 할 수 있는 문법이 있는데, 이 문법을 제어문이라고 한다. 제어문에는 정해진 조건에 따라 흐름을 반복하는 문법반복문정해진 조건에 따라 흐름을 제어하는 문법조건문이 있다.

 

조건문 - if문

 조건문은 정해진 조건에 따라 흐름을 반복하는 문법으로, 조건에 따라 다른 블록을 실행할 때 사용된다. 조건문 중에서도 조건의 참, 거짓에 따라 다른 블록을 실행하는 문법이 있는데, 이 문법을 if문이라고 한다.

 

 if문의 조건식의 경우, true 또는 false 값을 산출할 수 있는 연산식(비교연산자나 논리연산자를 이용한 식), boolean타입 변수, "true"나 "false"가 올 수 있다.

if문 구조1 if문 구조2 if문 구조3
if(조건식){
조건식이 참일때 실행할 명령 1
}

명령 2
명령 3
if(조건식){
조건식이 참일때 실행할 명령 1
}

else{
조건식이 거짓일 때 실행할 명령 2
}

명령 3
명령 4
if(조건식1){
조건식1이 참일때 실행할 명령 1
}

else if(조건식2){
조건식 1이 거짓이고, 조건식2이 참일때 실행할 명령 2
}

else{
조건식2이 거짓일 때 실행할 명령 3
}

명령 4
명령 5


3개의 구조식을 보면 공통적으로 나타나는 점이 있다.

  • if뒤에 조건식이 붙으며, 해당 조건식이 참일 경우 해당 블록안에 있는 명령을 수행한다
  • else가 있는 경우 위의 조건식이 거짓일 경우 뒤에있는 명령를 수행한다
  • if문과 별개로 따로 명령을 수행할 수 있다

 추가적으로 순서도를 보면, 조건의 참(true), 거짓(false)에 따라 실행문이 다른것을 확인 할 수 있다. 

package pack1;

import java.util.Scanner;

public class C4 {

	public static void main(String[] args) {
		int age;
        
        System.out.println("시내버스 요금 확인");
        System.out.print("나이:");
        Scanner sc = new Scanner(System.in);
        age=sc.nextInt();
		
		if(age>19) {
			System.out.println("성인");
			System.out.println("성인요금:1200원");
		}
		else if(age>13) {
			System.out.println("청소년");
			System.out.println("청소년요금:720원");
		}
		else {
			System.out.println("어린이");
			System.out.println("어린이요금:450원");
		}
	
	}
}

 위의 코드소스는 구조식 3을 여러번 사용한 코드소스이다. 만약 나이를 15세를 넣게 되면, 조건 1인 "age > 19"은거짓이 되고, 조건 2인 "a>=70"에서 참이 된다. 따라서 "청소년"과 "청소년 요금 : 720원"이 출력 되는 것이다.

 

 

 


if문을 이용한 중첩 제어문

 if문의 블록 안에 if문을 만드는 형태로 중첩 제어문(제어문의 블록안에 제어문을 사용하는 형태)을 만들어 낼 수 있다. 

package pack1;

import java.util.Scanner;

public class C5 {
	public static void main(String[] args) {
		String gender;
		float  weight, height, PIBW;
		Scanner input = new Scanner(System.in);
        
		System.out.print("성별(남성,여성):");
		gender = input.nextLine();
		System.out.print("키(단위cm):");
		height = input.nextInt();
		System.out.print("몸무게(단위kg):");
		weight = input.nextInt();
		
		
		if (gender.equals("남성")) {
			PIBW = (height/100) * (height/100) * 22;
			System.out.printf("PIBW:%.2f\n", PIBW);
			if (PIBW > weight) {
				System.out.print("당신은 평균체중보다 낮은 체중을 가지고 있습니다.");
			}
			else if (PIBW == weight) {
				System.out.print("당신은 평균체중입니다.");
			}
			else {
				System.out.print("당신은 평균체중보다 높은 체중을 가지고 있습니다");
			}
		}
		else {
			PIBW = (height / 100) * (height / 100) * 21;
			System.out.printf("PIBW:%.2f\n", PIBW);
			if (PIBW > weight) {
				System.out.print("당신은 평균체중보다 낮은 체중을 가지고 있습니다.");
			}
			else if (PIBW == weight) {
				System.out.print("당신은 평균체중입니다.");
			}
			else {
				System.out.print("당신은 평균체중보다 높은 체중을 가지고 있습니다");
			}
			
		}
	}
}

'프로그래밍 언어 > Java' 카테고리의 다른 글

반복문(for문)  (0) 2023.03.23
조건문(switch문)  (0) 2023.03.22
연산자(삼항, 대입)  (1) 2023.03.18
연산자 (논리, 비트)  (1) 2023.03.17
연산자(산술, 단항, 비교)  (0) 2023.03.16
Comments