나의 IT일지
조건문(if문) 본문
프로그램은 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