본문 바로가기
취미노트/코딩공부

따라하며 배우는 Flutter 앱 개발입문(5) 조건문과 반복문

by 복습쟁이 2023. 12. 17.
반응형

조건문과 반복문은 제어문이다.

조건문은 if - else가 대표적이다.

 

1. if - else문

int age = 30;        

if (age == 10) {    

 print("미성년자 입니다");

}

 

이상태로 만약 RUN하면 콘솔에 아무것도 출력되지 않는다.

왜냐하면 if문 괄호 안에 있는 조건이 true여야만 실행되기 때문이다.

 

=(이퀄) 하나는 할당된다는 개념이다. 수학의 이퀄이 아니다.

==(이퀄 두개)는 비교의 개념이다. 좌,우가 같은지 비교하는 논리의 개념.

위 식에서 age == 10은 FALSE이므로 콘솔에 실행이 되지 않는다.

age == 30으로 바꾸어주면 "미성년자 입니다"가 출력이 된다.

 

int age = 30;        

if (age <= 19) {    

 print("미성년자 입니다");

}

 

else {

print("성인 입니다");

}

 

else 이하에 작성되는 내용은 조건에 부합하지 않는 모든 반대상황이다(if, else if를 제외한 모든 상황)

if문에 작성되는 내용은 소괄호 내에 있는 조건식을 비교하여, 부합이 되면 내부 중괄호 블럭이 수행된다.

위 식을 RUN하면 "성인 입니다"가 출력이 된다. age==19가 FALSE이기 때문이다.

 

조건식을 더 세밀하게 작성할 수 있는 else if문도 있다.

 

int age = 30;        

if (age <= 19) {    

 print("미성년자 입니다");

}

else if(age==15) {

print("중학생 입니다");

}

else {

print("성인 입니다");

}

 

위처럼 else if 를 넣어서 추가적인 조건을 삽입할 수 있다. 그리고 if와 else if에 해당하지 않는 모든 조건이 else에 반영이 된다. 즉, 19세 이상이거나 15세가 아닌 모든 경우는 "성인 입니다"가 출력된다.

 

2. switch문(조건문)

 

String grade = "A"

switch (grade) {

case 'A':

 print("우수 등급");

 break;

case 'B':

 print("보통 등급");

 break;

case 'C':

 print("부족 등급");

 break;

 

default:                        

print("평가 없음");

 break;

}

 

default는 else와 역할이 같다. case에 열거되지 않은 모든 조건들에 해당한다.

위 식을 RUN하면 "우수 등급"이 실행이 된다. 케이스 A,B,C중 A에 해당하기 때문이다.

 

switch문의 특징은 위처럼 가독성이 올라간다는 것이 있다. if-else나 switch 중 상황에 따라 깔끔한걸로 사용하면 된다. 비교군이 적으면 if-else, 비교군이 많으며누 switch-case로 정리하는 것을 추천함.

둘 다 논리적인 매커니즘은 동일하다.

 

 

3. for 반복문

 

반복문은 무언가를 반복하여 연속적으로 실행하고 싶을 때 사용한다. 코드 라인 줄 수를 줄이고 효율적으로 반복작업을 코딩할 수 있다.

 

for (int i = 0; i < 5; i++) {

print('반복합니다 $i');         //String interpollation : 문자열과 특정 변수 값을 혼재하여 쓰고 싶을 때 사용하는 표현식

}

print('반복 끝');

 

위 식이 가장 기본적인 for문의 형태이다. int i = 0이 초기 식이다. 그리고 i가 5보다 작은 경우 계속 반복이 된다.

조건에 의해 { } 안에 있는 내부로직이 계속 실행이 된다.

i++라는 것은 '증감연산자'라고 부른다. 변수값을 계속 증가시키는 개념이다.

위 구문을 실행하게 되면 아래와 같은 결과값이 산출된다

 

반복합니다 0

반복합니다 1

반복합니다 2

반복합니다 3

반복합니다 4

반복 끝

 

위 식은 i = 0에서부터 시작을 한다. '반복합니다 $i'에서 i에 0부터 값이 들어간다.

최초실행에서 0이 5보다 작으니 TRUE이고, i++에 의해 i값이 1이 증가가 된다.

'반복합니다 $i'에서 i가 1로 출력된다. 그래도 5보다 작으니 또 반복이 된다.

반복이 모두 완료가 되고 나면 식 뒤에 있는 '반복 끝'이 출력실행된다.

 

4. while 반복문

 

for = ~를 위해. 조건의 달성을 위해 작업이 계속 반복된다.

while = ~하는 동안. 조건이 참인 동안 작업이 계속 반복된다. 

for 반복문과의 차이점은, while은 조건이 참인 동안은 무한으로 반복되는 로직을 의미한다.

 

int count = 0;

while (count < 3) {

print('while 반복 $count');

)

 

}

 

위 식에서는 count 값을 변동시키는 조건이 존재하지 않아서 무한정 돌아간다.

while문을 쓸 때는 이런 것을 주의해야 한다.

 

int count = 0;

while (count < 3) {

print('while 반복 $count');

count++;

)

 

}

 

이를 방지하기 위해서는 위처럼 증감연산자를 활용해야 한다.

 

int count = 0;

while (count < 3) {

print('while 반복 $count');

break;

)

 

}

 

또는 break를 활용하여 바로 탈출 할 수도 있다.

 

 

728x90
반응형

댓글