void main(List<String> arguments) {
int add = 1 + 2;
int sub = 1 - 2;
int multi = 1 * 2;
double div = 1 / 2;
int minus = -1;
// 나눗셈의 결과값 중 몫
int div_int = 11 ~/ 5;
// 나눗셈의 결과값 중 나머지
double div_remainder = 11 % 2;
}
void main(List<String> arguments) {
int num1 = 3;
int num2 = --num1;
int num3 = num1--;
int num4 = ++num1;
int num5 = num1++;
}
기본적인 ==, !=, >, <, >= ,<= 연산자를 모두 지원한다.
주의! =>, =< 처럼 반대로 입력하면 컴파일 에러가 뜬다.
void main(List<String> arguments) {
bool is_ok = 1 == 2;
bool is_ok2 = 1 != 2;
bool is_ok3 = 1 > 2;
bool is_ok4 = 1 < 2;
bool is_ok5 = 1 >= 2;
bool is_ok6 = 1 <= 2;
}
- 타입 캐스팅을 하는 as, 해당 타입을 확인하는 is, is! 연산자가 있다.
void main(List<String> arguments) {
Person pr = Person();
// Person객체를 Student로 타입캐스팅
Student stu = pr as Student;
// 변수 stu가 Student 클래스(타입) 인지 확인
bool is_Studnet = stu is Student;
// 변수 stu가 Student 클래스(타입) 가 아닌지 확인
bool is_not_Student = stu is! Student;
}
class Person {
Person();
}
class Student extends Person {
Student();
}
기본적인 =, *=, %=, >>>=, ^=, +=, /=, <<=, &=, |=, -=, ~/=, >>= 연산자가 있다.
num (operator)= 1 은 num = num + 1 처럼 표현할 수 있다. 가독성 및 유지보수 효율성을 위해 기본적으로 쓰인다.
특정 컴파일러(파이썬)에서는 대입연산자가 증감연산자처럼 계산됨으로 메모리 절약 및 성능의 향상 효과를 보일 수 있다.
void main(List<String> arguments) {
int num1 = 3;
// num1 = num1 + 1; 과 같은 결과
num1 += 1;
// num1 = num1 - 2; 과 같은 결과
num1 -= 2;
// num1 = num1 * 3; 과 같은 결과
num1 *= 3;
}
| 는 한국 키보드 원화 표시 또는 역슬러시 ( \ ) 버튼을 shift와 함께 누르면 된다.
void main(List<String> arguments) {
// not
bool is_ok = !(1 == 2);
// or
bool is_ok2 = (1 == 2) || (2 == 2);
// and
bool is_ok3 = (1 == 2) && (2 == 2);
}
void main(List<String> arguments) {
// 이진수 0010
int binary_num = 0x02;
// 이진수 0000
int binary_num2 = 0x00;
int binary_num3 = binary_num & binary_num2;
int binary_num4 = binary_num | binary_num2;
int binary_num5 = binary_num ^ binary_num2;
int binary_num6 = ~binary_num2;
int binary_num7 = binary_num << 2;
int binary_num8 = binary_num >> 2;
int binary_num9 = binary_num >>> 2;
}
삼항 연산자는 처음 접하면 어려울 수도 있으므로 예시 확인 및 다양한 연습을 통해서 익혀본다.
void main(List<String> arguments) {
// 1==2 이면 4, 아니면 5 그러므로 1과 2는 다른 값이므로 num = 5 가된다.
int num = (1 == 2) ? 4 : 5;
String? name2;
// name2가 null 이 아니면 name2 , null 이면 jack 을 name 에 입력
String name = name2 ?? 'jack';
// 위와 동일한 결과
String name3 ??= 'jack';
}