본문 바로가기
Java | spring/Java Basic

자바 기초, 비교문 if문과 switch문

by 워니 wony 2019. 5. 3.

비교문?

주어진 조건에 결과에 따라 실행 문장을 달리하여 전혀 다른 결과를 얻기 위해 사용하는 제어문 하나

 

 

비교문 : if & switch

어떤 상황에 따라 동작 시키고자 하는 명령어() 선택할 사용하는 문장

 

 

 

if

  • true 아니면 false, boolean형의 결과를 가지는 조건식 필요
  • 조건식이 참인 경우 중괄호 안에 있는 문장을 수행
  • 단순 if, 단일if~else, 다중 if
  • 만약 if에서 메소드를 중지 시키고자 하는 경우, 반복문 안에서 쓰는 break 없기 때문에, return 쓰면 된다.

 

<<if 문을 쓰는 형식>>

 

단순 if

 

if(조건식)

조건식이 참일 수행한 문장;

------------------------------------

 

a;

b;

if(조건식)

c;

d;

e;

 

if 나온다고 해서 else 나와야 하는 것은 아니다.

내가 해결하고자 하는 식에 따라 사용하면 된다.

------------------------------------

 

 

단일 if ~ else

조건식을 만족하는 경우와 만족하지 않는 경우를 모두 나타낼 사용

 

 

if ( 조건식 )

조건식이 참일 동작할 명령어

else

조건식이 거짓일 동작할 명령어

------------------------------------

a;

b;

c;

if (조건식)

d;

else

e;

f;

g;

 

f g if 상관없이(참이든 거짓이든)만나는 문장

 

------------------------------------

a;

b;

c;

if (조건식)

{

d;

e;

}

else

{

f;

g;

}

h;

i;

 

조건식이 참일 실행하여야 하는 명령어가 1개가 아닐 {} 묶어주어야 한다. {} 없으면 오류가 발생한다.

 

 

 

다중 if( if - else if - else)

하나의 상황에 여러 조건을 비교하는 경우 사용하기 좋다.

나이에 따라 입장료가 다르거나, 나이에 따라 주는게 다르다면!

 

------------------------------------

a;

b;

if(조건식1)

c;

else if(조건식2)

d;

else if(조건식3)

e;

else

f;

g;

h;

 

if문에서 else if if(조건문1) 아니라면 else if(조건문2) 어떠냐고 물어보는 . 마지막 else if else if 조건문 모두 아닐 걸리는

------------------------------------

 

if(조건식1)

조건식1 참일 수행할 문장;

else if(조건식2)

조건식1 거짓이고, 조건식2 참일 수행할 문장;

else

조건식1 조건식2, 모두 만족하지 않을 수행할 문장;

 

 

중첩 if

 

a;

b;

if(조건식1)

if(조건식 2)

c;

else

d;

else

if(조건식3)

e;

else

f;

g;

h;

 

if 안에 if 있다고 해서 중첩if

 


ㅁ switch문

 다양한 처리문을 두고 조건값에 의해 하나의 처리문이나 여러 개의 처리문을 한번에 수행하는 유용한 비교문

 if문은 조건값이 boolean형인 것에 비해 switch문의 조건값은 정수형(byte, short, in) 문자형(char) 것이 다르다.

 

참고로 switch문에서 long형이나 문자열, boolean형과 실수형은 사용할 없다.

case문의 조건값을 정렬시킬 필요는 없다.

switch 문에서 문자열 사용일 불가능 했었지만, 자바 7부터는 switch-case문에 문자열을 넣고 비교 있다.

 

 

<< switch 문의 형식 >>

 

switch(  인자값  )

{

case 1:

수행문; break;

case 2:

수행문; break;

….

 

case n:

수행문; break;

default:

수행문; break;

}

 

break문은 하나의 조건값마다 넣어주는 것이 적당하면 만약 없을 때에는 다음 break문을 만날 때까지 모든 수행문을 처리한다.

 

받은 인자값이 case문의 조건값1에서 조건값n까지 일치하는 것이 하나도 없다면 default 수행한다.

반응형

댓글