프로그래밍 일기 — 조건문

배우는 자(Learner Of Life)
5 min readJun 11, 2023

--

“당신이 원하는대로 해 드리겠습니다. 단 조건이 있습니다.”

#조건문, #Java, #If문, #Switch문, #삼향연산자

무엇인가 건강하게 동작하기 위해서는 그에 맞는 조건(condition)이 필요하다.(1)

Java는 물론이고 모든 프로그래밍 중 가장 기초 중 하나가 조건문(conditional statement)를 작성하는 것이다. 말 그대로 “어떠한 조건"을 충족시켰을 때 작동하는 부분이라고 할 수 있다. 간단하게는 수돗물을 나오게 하기 위해 수도꼭지를 틀어야하는 것처럼, 복잡하게는 비행기가 날기 위해서는 그 안에 있는 모든 부품(엔진, 냉각수, 날개, 프로펠러 등등)이 모두 필요한 조건을 충족해야 하는 것처럼, 이 세상의 많은 현상과 결과는 특정한 조건을 충족 시켰을 때 일어난다.

마찬가지로 컴퓨터에서의 많은 처리와 동작, 결과들도 특정한 조건들을 만족시켰을 때 일어나도록 구성되어있다. 또한 직관적으로 생각했을 때, 자신이 원하는 프로그램을 만들더라도 여러가지 조건을 만족시켰을 때 특정한 행위를 하도록 구성하는 것이 좋을 것이다. 이를 위해서는 조건문을 잘 활용해야 할 것이다.

조건문

컴퓨터에게 특정한 순서의 정의된 동작을 하도록 지시하는 제어문(Control Statement)로 볼 수 있다. 대표적으로 아래 3가지가 있다.

  • If문
  • Switch문
  • 삼향연산자

If문

아주 단순한 형태의 조건문으로 볼 수 있다. 영어 “If”가 의미하는 것처럼 “만약 어떤 조건이 충족되면" 주어진 지시를 수행하는 것이다. 가장 단순한 if문부터, if조건 이외의 경우에 대한 별도의 명령을 수행할 수 있도록 지시하는 if/else문을 구성가능하다.

// 문법: if (조건식){
// 실행 코드
// }

// 예제1: 단순 if문
int check = 100;
int num1 = 150;
if (num1 > check) { // 조건: num1가 check보다 크면 아래 명령를 수행하라.
System.out.println("100보다 큰 수입니다"); //위 조건이 참일 경우 해당 명령를 수행.
}

>> 100보다 큰 수입니다

// 예제2: if/else문
int num2 = 50;
if (num2 > check) { // 조건: num2가 check보다 크면 아래 명령를 수행하라.
System.out.println("100보다 큰 수입니다"); //위 조건이 참일 경우 해당 명령를 수행.
} else {
System.out.println("100보다 작은 수입니다."); //위 조건이 거짓일 경우 해당 명령를 수행.
}

>> 100보다 작은 수입니다.

Switch문

If문이 한 조건과 그 이외의 경우에 대해서 특정 명령을 수행한다고 한다면, Switch는 If문 보다는 조금 더 많은 경우의 수를 정의할 수 있다. 따라서 If문과 비교해서는 조금 더 세부적으로 많은 조건을 정의해야할 때 유용하다. 하나의 조건을 만족하는 코드가 실행되면, 이후 break를 통해 바로 조건문을 빠져나갈 수 있다.

// 문법: switch (입력 변수){
case 입력값1 : 실행 구문
break; // break 이후에 반드시 ";"을 붙여주어야한다.
case 입력값2 : 실행 구문
break; // break 이후에 반드시 ";"을 붙여주어야한다.
case 입력값3 : 실행 구문
break; // break 이후에 반드시 ";"을 붙여주어야한다.
default: 기본 실행 구문
break; // break 이후에 반드시 ";"을 붙여주어야한다.
}

// 예제
char score = 'A';
switch (score) {
case 'A':
System.out.println("A등급입니다.");
break;
case 'B':
System.out.println("B등급입니다.");
break;
case 'C':
System.out.println("C등급입니다.");
break;
default:
System.out.println("C등급보다 낮은 등급입니다.");
break;
}

>> A등급입니다.

삼향연산자

한 줄로 모든 조건문에 대한 명령을 정의할 수 있어, If문이나 Switch문 보다도 더 처리가 용이한 조건문이라 할 수 있다. “?”를 기준으로 조건식이 참(true)일 경우에는 A 코드를, 거짓(false)일 경우에는 B 코드를 수행한다.

// 문법: (조건식) ? A : B

// 예제
int a = 5;
String reuslt = (a < 10) ? "10보다 작습니다." : "10보다 큽니다.";
// (a < 10)가 참이면 "10보다 작습니다.", 거짓이면 "10보다 큽니다."
System.out.println(reuslt);

>> 10보다 작습니다.

참조:

(1) https://pixabay.com/photos/jogging-run-sport-jog-sporty-race-2343558/

--

--

배우는 자(Learner Of Life)
배우는 자(Learner Of Life)

Written by 배우는 자(Learner Of Life)

배움은 죽을 때까지 끝이 없다. 어쩌면 그게 우리가 살아있다는 증거일지도 모른다. 배움을 멈추는 순간, 혹은 배움의 기회가 더 이상 존재하지 않는 순간, 우리의 삶은 어쩌면 거기서 끝나는 것은 아닐까? 나는 배운다 그러므로 나는 존재한다. 배울 수 있음에, 그래서 살아 있음에 감사한다.

No responses yet