카테고리 없음

#3 연산자

김월천 2021. 9. 2. 23:55

다트는 기본적으로 타 프로그래밍 언어와 같은 연산자를 사용한다.

 

연산자의 종류는

(산술, 할당, 관계, 논리, 비트, 시프트, 타입 검사) 연산자, 조건 표현식, 캐스케이드 표기법이 있다.

 

기본적인 산술,할당,관계,논리연산은 타 언어와 같으니 PASS

 

1. 비트와 시프트 연산자

특정 로직을 수행할 떄 보다 빠르게 처리할 수 있으나 모바일 개발을 할떈 거의 쓰지 않는다.

 

& = AND

| = OR

^ = XOR

~ = NOT

 

2. 타입 검사 연산자

 

as = 형 변환

is = 객체가 특정 타입이면 true

is! = 객체가 특정 타입이면 false  아니면 true

 

예제를 들어보자

(mystoryg/120 참조)

 

위에 조건에서 이런 조건문이 있다면 결과는 무엇일까

 


if (employee is Person) {

print('employee is Person');

} else {

print('employee is not Person');

}


 

employee의 객체는 as로 받았기 때문에 상위 타입인 Person에도 속하기 때문에 true가 된다.

 

3. 조건 표현식

 

 

 

3.1 삼항 연산자

 

조건식? 참이면 실행 : 거짓이면 실행

 


void main(){

int point = 60;

print(point>=60? '합격' : '불합격')

}


당연히 실행결과는 합격이다.

 

 

3.2 null 대체 연산자

변수의 값이 null이면?? 뒤에 값 출력, null이 아니면 변수의 값 그대로 출력


void main(){

  String username = null;

 

  print(username);

  print(username?? "홍길동");

}


결과는

null

홍길동

 

 

4. 캐스케이드 표기법 (..)

한 객체로 해당 객체의 속성이나 멤버 함수를 연속으로 호출할 때 쓰이며

매번 객체를 표기하고 호출하는 불필요 과정을 줄여준다.

 

예를 들어

 

Employee employee = Employee()

..name = 'kim'

..setAge(24)

..showinfo();

 

로 해당 객체로 계속 접근할 수 있다.