Dart의 연산자
- 수치 연산자
- null값 입력 관련 연산자
- 값 비교 연산자
- 타입 비교 연산자
- 논리 연산자
* 기본 수치 연산자
: 기본 산수 기능
+ : 더하기
- : 빼기
* : 곱하기
/ : 나눈 몫
% : 나눈 나머지
단항 연산
++
--
+=
-=
*=
/=
* null 관련 연산자
: 다트언어 - 변수 타입이 null값을 가지는지 여부를 직접 지정!
- 타입 뒤에 '?'를 추가해줘야 null값 저장 허용
void main(){
// 타입 뒤에 ? 명시 - null값 가질 수 있음
double? number1 = 1;
// 타입 뒤에 ? 명시 無 - 오류 발생 (null값 안됨)
double number2 = null;
}
- 변수에 새로운 값 추가시 '??' 사용하면 기존에 null인 때만 값 저장 되도록도 가능
void main(){
double? number;
print(number); //값 선언 X, 따라서 null
number ??= 3; // ?? 사용시 기존 값이 null일 경우에만 저장됨
print(number); // 3.0
number ??= 4; // null이 아니므로 3이 유지
print(number); // 3.0
}
* 값 비교 연산자
: 정수 크기 비교
>
<
>=
<=
==
!=
return 값은 true / false
* 타입 비교 연산자
: is 키워드 - 변수의 타입 비교 가능
void main(){
int number1 = 1;
print(number1 is int); //true
print(number1 is String); //false
print(number1 is! int); //false (!는 반대 의미)
}
* 논리 연산자
: and / or 를 의미
&&
||
void main(){
bool result = 12 > 10 && 1 > 0;
print (result); //true (둘다 만족해야지만 true)
bool result2 = 12 > 10 || 0 > 1;
print (result2); //true (하나만 만족해도 true)
}
* 제어문
1) if 문
void main(){
if{
}
else if{
}
else{
}
}
2) switch 문
enum Status{
approved,
pending,
rejected,
}
void main(){
Status status = Status.approved;
switch (status){
case Status.approved:
print('승인 상태');
break;
case Status.pending:
print('대기 상태');
break;
case Status.rejected:
print('거절 상태');
break;
default:
print('알 수 없음');
}
for문 - 특정 리스트 길이 및 지정한 숫자 이하의 횟수만 반복
while / do...while문 - 조건 기반으로 반복문 실행
3) for 문
void main(){
for(int i = 0; i < 3; i++){
print(i);
}
}
//for...in 패턴 : List 모든 값 순회할 경우 사용
void main(){
List<int> numberList = [3, 6, 9];
for(int number in numberList){
print(number);
}
}
4) while문과 do...while문
: 반복적인 작업 실행시 사용
* while 문 : 조건을 먼저 확인
void main(){
int total = 0;
while(total < 10){ //total이 10이하일 경우 계속 실행
total += 1;
}
print(total); //10
}
* do...while 문 : 반복문 우선 실행 후 조건 확인
void main(){
int total = 0;
do {
total += 1;
} while(total < 10);
print(total);
}
'Flutter > Dart' 카테고리의 다른 글
[Dart] Dart 언어 기초 문법 - (5) try...catch (1) | 2023.06.07 |
---|---|
[Dart] Dart 언어 기초 문법 - (4) 함수와 람다 (0) | 2023.06.07 |
[Dart] Dart 언어 기초 문법 - (2)컬렉션 (0) | 2023.06.02 |
[Dart] Dart 언어 기초 문법 - (1) (0) | 2023.06.02 |
[Dart] 다트 언어의 장점 (1) | 2023.06.02 |
댓글