반응형
이번 스터디에서는 연산자를 알아보려고 한다.
우리가 익히 알고 있는 사칙연산(+,-,*,/)와 프로그램에서 사용하는 대소(크기)비교,
논리연산 등을 다뤄보려 한다.
자세한건 소스를 실행하면서 알아보고, 준비물인 웹컴파일러는 아래 포스팅에 포함되어 있다.
Dart언어공부-01.Hello World
Flutter가 요즘 핫하게 올라오면서, Flutter의 주력 언어(다른언어도 가능함)인 Dart를 공부해보려 한다. 간단하게 Flutter란? Google에서 개발하고 Mobile World Congress 2018에서 최초 베타..
masswhale.tistory.com
1. 기본 사칙연산
void main() {
//기본 사칙연산
//int(정수형)타입의 number라는 이름의 변수 선언 및 2라는 값으로 초기화
int number = 2;
//사칙연산을 실행하여 결과를 알아보자
print(number + 2);
print(number - 2);
print(number * 2);
print(number / 2);
}
실행결과
4
0
4
1
2. 사칙연산 중 나누기에서는 몫만 존재하는 것이 아닌, 나머지도 존재한다.
void main() {
int number = 2;
//해당 변수를 특정값으로 나누었을때, 나머지를 알고싶다면 % 연산자(기호)를 사용한다.
//결과값이 0이라면 나눈값의 배수인것을 확인할 수 있다.
print(number % 2);
print(number % 3);
}
실행결과
0
2
3. 증가/감소 연산
void main() {
int number = 2;
//선언된 변수 뒤에 ++연산을 사용하여 값을 증가시킨다.
//1씩증가 및 감소하며, String 타입의 변수에는 적용되지 않는다.
//증가시키려 할때.
number++;
print(number);
//감소시키려 할때.
number--;
print(number);
}
실행결과
3
2
4. null값인 경우 처리(표현)방법
void main(){
int number2;
//number2 라는 int타입의 변수 선언 후, 출력하면 숫자값의 선언(초기화)이 되지 않았기때문에
//null이라는 값이 출력된다.
print(number2);
//하지만 아래와 같은 표현방법으로 null인경우 4로 할당하도록 하면
number2 ??= 4;
//지정한 4가 추출된다.
print(number2);
}
실행결과
null
4
5. 이미 할당(초기화)된 값에 추가로 사칙연산하는 방법들
void main(){
int number4 = 2;
//number4라는 변수에 2라는 값을 할당 후,
//1을 더하는 방법은 아래와 같은 방법이 있다.
number4 = 2+1;
//하지만 아래 연산기호를 이용하여 표현할수도 있다.
//기존 변수에 1을 더하여 할당한다는 의미이다.
number4 += 1;
print(number4);
//뺄셈을 할땐, 더하기기호와 반대로 사용하면 된다.
number4 -= 1;
print(number4);
//알아본 김에 곱셈, 나눗셈도 알아보자.
//같은 방식으로 연산자(기호)만 변경하여, 작성한다.
number4 *= 2;
print(number4);
//아래는 나눗셈을 할때인데, 위와같이 단순하게 number4 /=2; 라 할경우엔 오류가 발생한다.
//나눗셈은 몫과 나머지를 발생시키기 때문에 정수형인 int로 처리할수 없도록
//Dart에서 정해져있다. 따라서 나눗셈 연산을 시도할땐, int가 아닌 범위가 더 큰double로
//선언하여 처리해야 한다.
//편의상 number44라는 변수를 사용하여 예제를 보자
double number44 = 2;
number44 /= 2;
print(number44);
}
실행결과
4
3
6
1
6. 주어진 값을 비교하는 연산자
주어진 1개 이상의 값을 연산하여 true인지 false인지 boolean형 값을 구해보자
void main(){
int _number1 = 1;
int _number2 = 2;
//ture false검증
//대,소 비교 연산을 통해 두개의 값이 맞는지 틀린지 값을 구해낸다. > , <
//true or false로 표현된다.
print(_number1 < _number2);
print(_number1 > _number2);
//또한 초과,미만 표현이 아닌 이상,이하 표현도 가능하다. >= , <=
//이퀄스 기호를 추가하여 작성한다.
print(_number1 <= _number2);
print(_number1 >= _number2);
//대,소만 있는것이 아닌 '같다'와 '같지 않다'도 확인할 수 있다. ==, !=
print(_number1 == _number2);
print(_number1 != _number2);
}
실행결과
true
false
true
false
false
true
7. 타입비교
이번에는 선언된 변수가 특정타입이 맞는지 검증하는 연산자를 사용해보자
void main(){
int _numbers1 = 1;
//int형으로 선언된 _numbers1의 타입을 확인하는 연산자를 사용해보자.
//맞는지, 아닌지를 묻는 연산이기 때문에 true or false값을 반환하며
//자료형 별로 질의를 할수 있다.
//변수 is 타입질의 형태로 사용한다.
print(_numbers1 is int);
print(_numbers1 is String);
print(_numbers1 is bool);
//맞는지만 물어볼수 있는것이 아니라, 맞지않은지도 느낌표(!)를 사용하여 질의할수 있다.
print(_numbers1 is! String);
}
실행결과
true
false
false
true
8. 논리비교
약간 헷갈릴 수 있는데, 6번에서 사용한 대소비교 등이 두개이상이 합쳐졌다고 할수있다.
void main() {
//&&연산자를 기준으로 좌우측의 두 조건이 만족할때 true가 표현된다.
result = 12 > 10 && 1 < 0;
print(result);
//위 &&연산자와는 반대로 || 연산자는 좌우 둘중하나의 조건만 맞으면 true가 표현된다.
result = 12 > 10 || 1 < 0;
print(result);
}
실행결과
false
true
총 8개의 연산자를 스터디해보았다.
다른 언어들과 다를것이 없어서, 이미 다른언어를 사용중이거나 배워본 사람은 한번 훑허보면 될듯싶다.
Dart 연산자 스터디 끝.
반응형