우선 조건문은 크게
- if 문
- if - else 문
- if - else if - else 문
- switch 문
- 삼항 연산자
- null-aware
이렇게 4가지의 종류로 볼 수 있습니다.
사실 6가지로 볼 수 있지만 2가지는 if 문의 큰 카테고리로 넣어 정리하도록 하겠습니다.
if 문
가장 기본적인 조건문으로, 조건이 참일 경우에만 블록 안의 코드를 실행합니다.
문법 :
if (조건) {
// 조건이 참일 때 실행할 코드
}
예제 :
void main() {
int number = 10;
if (number > 5) {
print('number는 5보다 큽니다.');
}
}
// 출력 : number는 5보다 큽니다.
위와 같은 경우에는
number = 10 이고
숫자가 5보다 클경우 print를 하는 코드입니다.
void main() {
int number = 2;
if (number > 5) {
print('number는 5보다 큽니다.');
}
}
// 출력 : 아무것도 되지 않음
허나 위와 같이
number = 2 이고
숫자가 5보다 작으니
5보다 작은경우의 코드를 작성하지 않았기 때문에 아무것도 출력 되지 않습니다.
if - else 문
조건이 참일 때와 거짓일 때 실행할 코드를 구분할 수 있습니다.
문법 :
if (조건) {
// 조건이 참일 때 실행할 코드
} else {
// 조건이 거짓일 때 실행할 코드
}
예제 :
void main() {
int number = 3;
if (number > 5) {
print('number는 5보다 큽니다.');
} else {
print('number는 5보다 작거나 같습니다.');
}
}
위 코드는
number가 5이하인 경우는 'number 5보다 작거나 같습니다.' 가 출력되고
number가 6이상인 경우는 'number 5보다 큽니다.' 가 출렵됩니다.
이처럼 기존 if문은 true일때만 반환하지만
if - else 문은 true일때와 false일때 두개의 경우의 수를 둘 수 있습니다.
if - else if - else 문
여러 조건을 차례로 검사할 수 있습니다.
문법 :
if (조건1) {
// 조건1이 참일 때 실행할 코드
} else if (조건2) {
// 조건2가 참일 때 실행할 코드
} else {
// 위의 모든 조건이 거짓일 때 실행할 코드
}
예제 :
void main() {
int number = 7;
if (number > 10) {
print('number는 10보다 큽니다.');
} else if (number > 5) {
print('number는 5보다 크고 10보다 작거나 같습니다.');
} else {
print('number는 5보다 작거나 같습니다.');
}
}
if - else if - else 문은
몇 번의 반복을 하던 제한없이 else if를 사용하여 다중검증을 할 수 있습니다.
switch 문
하나의 변수를 여러 값과 비교할 때 사용합니다.
enum 키워드와 잘 어울리는 조건문 입니다.
문법 :
switch (변수) {
case 값1:
// 값1과 같을 때 실행할 코드
break;
case 값2:
// 값2와 같을 때 실행할 코드
break;
default:
// 위의 모든 경우에 해당하지 않을 때 실행할 코드
}
예제 :
void main() {
String grade = 'B';
switch (grade) {
case 'A':
print('Excellent');
break;
case 'B':
print('Good');
break;
case 'C':
print('Fair');
break;
default:
print('Invalid grade');
}
}
삼항 연산자
단순한 조건문을 짧게 작성할 수 있습니다.
true일때 앞쪽을 반환하고, false일때 뒤쪽을 반환합니다.
null-aware 연산자와 다르게 '?'를 하나만 사용합니다.
문법 :
변수 = (조건) ? 값1 : 값2;
예제 :
void main() {
int number = 8;
String result = (number > 5) ? '5보다 큽니다.' : '5보다 작거나 같습니다.';
print(result);
}
null-aware 연산자
변수가 null인지 아닌지를 검사하여 null이 아닐 경우 값을 할당합니다.
삼항 연산자와는 다르게 '??' 처럼 두개 사용합니다.
문법 :
변수 = 값1 ?? 값2;
예제 :
void main() {
String? name;
String greeting = name ?? 'Guest';
print('Hello, $greeting!');
}
'Flutter > Dart Language' 카테고리의 다른 글
[플러터 Flutter] primarySwatch와 primaryColor는 무슨 차이일까? (0) | 2024.09.13 |
---|---|
[플러터 Flutter] call 메서드란? (0) | 2024.09.13 |
[플러터 Flutter] enum이란? (0) | 2024.07.31 |
[플러터 flutter] initState와 dispose란? (0) | 2024.07.31 |
[플러터 Flutter] 예외처리 try-catch와 throw, finally (0) | 2024.07.16 |