자바 if else if 차이 - jaba if else if chai

[JAVA/자바] 조건문(if문, if else문, else if문)

 이번 포스팅은 조건문 중 if / if else / else if문에 대해서 알아보도록 하겠다. 조건문을 익히고 사용하면서부터 코딩하는 것이 점점 재밌어진다.

조건문 이란?

 개발자가 작성한 코드를 조건에 따라 코드의 실행 흐름을 다르게 동작하도록 제어하는 것이라고 할 수 있다. 예를 들어 로그인 창에 올바른 ID와 P/W를 입력했을 때와 잘못된 ID와 P/W를 입력했을 때 다르게 동작하는 것을 들 수 있다. 즉, 입력된 값에 따라 원하는 방향으로 동작하도록 할 수 있다.

조건문의 종류

 조건문의 종류는 크게 2가지로 구분할 수 있다. if문과 switch문이다.(이번 포스팅에서는 if문에 대해서만 다룰 예정이다.) if문은 if문, if else문, else if문으로 다시 구분할 수 있다. 하나씩 알아보자.

if문

자바 if else if 차이 - jaba if else if chai

 조건식이 true값을 가질 때 중괄호({ }) 안의 실행문을 작동시킨다. 반대로 조건식이 false이면 중괄호({ })의 실행문은 동작하지 않고 if문을 빠져나간다. 예제를 통해 확인해 보자.

public class IfEx { public static void main(String[] args) { if(true){ System.out.println("실행 1"); // 실행 } if(false){ // false System.out.println("실행 2"); System.out.println("실행 3"); } if(3!=3) // false System.out.println("실행 4"); System.out.println("실행 5"); // 실행 } }

 예제에서 보는 것처럼 조건식이 true일 때 중괄호({ }) 안의 내용이 실행되고, false일 때 실행되지 않는다. 하지만 3번째 if문을 살펴보면 중괄호({ })를 치지 않았을 경우 바로 다음 줄의 실행문만 실행되지 않는다는 것을 알 수 있다. 실행문이 한 개일 경우에는 중괄호를 생략해도 무관하지만 가독성 및 혹시 모를 에러에 대비해서 중괄호를 쳐주도록 하자
 조건문 안에는 또 다른 조건문들이 들어갈 수 있다. 예제를 통해서 확인해 보자.

public class IfEx02 { public static void main(String[] args) { int a = 6; if(a%2==0){ // true System.out.println(a+"는 2의 배수"); // 실행 if(a%3==0){ // true System.out.println(a+"는 3의 배수"); // 실행 } if(a%4==0){ // false System.out.println(a+"는 4의 배수"); } } } }

 첫 번째  if문이 true 값을 갖기 때문에 중괄호 안의 실행문들이 동작한다. 이때 if문 내부의 if절의 조건식이 true이면 실행되고 false면 해당 조건문이 실행되지 않는다.

if-else문

 if문 만으로는 복잡한 내용을 처리하는 데는 한계가 있다. if만을 사용할 때는 true일 때만 실행된다. false일 때 다르게 실행시키기 위한 if-else문을 알아보자.

자바 if else if 차이 - jaba if else if chai

 조건식이 true이면 if절의 실행문을 실행시키고, false면 else 절의 실행문이 실행된다. 예제를 통해서 알아보자.

public class IfElseEx { public static void main(String[] args) { int a = 10; if(a%2==0){ // true System.out.println(a+"는 짝수"); // 실행 }else{ System.out.println(a+"는 홀수"); } } }

 조금 더 응용한 예제를 확인해 보자.(정수 3개를 비교하여 최댓값을 구하는 예제이다.)

public class IfElseEx02 { public static void main(String[] args) { int a = 10, b = 20, c = 9; int max; if (a > b && a > c) { max = a; // 위의 조건식이 true일때 실행 } else { // 위의 조건식이 false일때 실행 if (b > c) { max = b; // 위의 조건식 true일때 실행 } else { max = c; // 위의 조건식 false일때 실행 } } System.out.println("max = " + max); } }

 if-else문 안에 또 다른 if-else문을 넣은 예제이다. 첫 번째 if문의 조건식이 참이라면 if문 안의 실행문을 시키고 if문이 종료될 것이고, false라면 else절이 실행되고 그 안의 if-else절의 조건식이 true인지 false인지를 확인해서 해당 실행문이 실행될 것이다.

else if문

 else if문을 이용하면 2개 이상의 조건식을 두고 흐름을 제어할 때 더 자유롭고 편리하게 코드를 작성할 수 있다.

자바 if else if 차이 - jaba if else if chai

 else if절은 여러 번 정의할 수 있고, else절은 생략이 가능하다. 단, if문이 처음에 나오고 그다음에 else if문이 제일 마지막에 else문이 나와야 한다. 예제를 통해 알아보자.

public class ElseIfEx { public static void main(String[] args) { int age = 22; if(age>=20 && age<30){ // 조건식 1 // 조건식 1이 true일 때 실행 System.out.println("20대"); }else if(age<20){ // 조건식 2 // 조건식 1이 false이면서 조건식 2가 true일 때 실행 System.out.println("10대 이하"); }else{ // 조건식 1과 2가 false일 때 실행 System.out.println("30대 이상"); } } }

조금 더 응용해서 4개의 정수를 비교해서 최솟값을 구하는 예제를 확인해 보자.

public class ElseIfEx02 { public static void main(String[] args) { int a = 25, b = 15, c = 30, d = 20; int min; if (a < b && a < c && a < d) { // 조건식 1 min = a; // 조건식 1이 true 면 실행 } else if (b < c && b < d) { // 조건식 2 min = b; // 조건식 1이 false면서 조건식 2가 true면 실행 } else if (c < d) { // 조건식 3 min = c; // 조건식 1, 2가 false면서 조건식 3이 true면 실행 } else { min = d; // 조건식 1, 2, 3 모두 false일 때 실행 } System.out.println(min); // 결과 출력 } }

 지금까지 조건문 중 if문, if else문, else if문에 대해서 알아보았다. 다음 포스팅은 조건문 중 switch ~ case 문에 대해서 알아보도록 하겠다.