조건문과 반복문은 제어문이다.
조건문은 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를 활용하여 바로 탈출 할 수도 있다.
'취미노트 > 코딩공부' 카테고리의 다른 글
[flutter] 03 앱 개발의 시작, 프로젝트 생성 (0) | 2024.08.15 |
---|---|
따라하며 배우는 Flutter 앱 개발입문(6) List (0) | 2023.12.21 |
따라하며 배우는 Flutter 앱 개발입문(4) 연산자와 표현식 (0) | 2023.12.07 |
따라하며 배우는 Flutter 앱 개발입문(3) final, const (0) | 2023.12.03 |
따라하며 배우는 Flutter 앱 개발입문(2) Null safety, late키워드 (1) | 2023.11.22 |
댓글