記事の内容
この記事では、Dart言語でよく使う演算子の基礎的な使い方を説明します。
簡単なサンプルも書くので、これさえ読めば演算子はバッチリです!
代数演算子
「/」演算子を使った割り算だと、int型でも小数点まで出した結果が入るので注意が必要です。
int型の答えが欲しい場合は、「~/」を使います。
乗数を出したい時は、「dart:math」をインポートする必要があります。
import 'dart:math' as math; | |
main() { | |
var val = 5; | |
var val2 = val + 1; // 6 | |
var val3 = val - 1; // 4 | |
var val4 = val * 2; // 10 | |
// 小数点も代入されます | |
var val5 = val / 2; // 2.5 | |
// 割り算の整数部分のみ | |
var val6 = val ~/ 2; // 2 | |
var val7 = val % 2; // 1 | |
var val8 = - val; // -5 | |
// 乗数 | |
print("$valの2乗 = ${math.pow(val, 2)}"); // 25 | |
print("$valの3乗 = ${math.pow(val, 3)}"); // 125 | |
print(val2); | |
print(val3); | |
print(val4); | |
print(val5); | |
print(val6); | |
print(val7); | |
print(val8); | |
} |
型テスト演算子
「is」は、そのオブジェクトが指定した型を持っているとtrueになります。
「is!」そのオブジェクトが指定した型を持っているとfalseになります。
main() { | |
print(1 is int); // true | |
print(1 is String); // false | |
print(1 is! int); // false | |
print(1 is! String); // true | |
print('a' is int); // false | |
print('a' is String); // true | |
print('a' is! int); // true | |
print('a' is! String); // true | |
} |
代入演算子
代入演算子は、左辺の演算結果を右辺に代入します。
「/」演算子を使った割り算だと、演算結果がfloatになるとエラーが発生するので注意が必要です。
「??」演算子は、左辺が「null」の場合のみ代入します。
null防止に使えそうですね。
main() { | |
var val = 5; | |
val += 1; // 6 | |
print(val); | |
val -= 1; // 5 | |
print(val); | |
val *= 2; // 10 | |
print(val); | |
val ~/= 2 ; // 5 | |
print(val); | |
var val2 = 1; | |
var initValue = null; | |
print(initValue); // null | |
initValue ??= val2; | |
print(initValue); // 1 | |
var initValue2 = 2; | |
print(initValue2); // 2 | |
initValue2 ??= val2; | |
print(initValue2); // 2 | |
} |
三項演算子
if-elseの構文を短く書くことができます。
main() { | |
var val1 = true; | |
var text = val1 ? 'trueです' : 'falseです'; | |
print(text); // trueです | |
var val2 = false; | |
var text2 = val2 ? 'trueです' : 'falseです'; | |
print(text2); // falseです | |
} |