Dart言語【004】制御フロー文
1.条件判断文
1.1 if文
if文の使い方は他の言語と変わらない.
なお、ifの条件式の値のタイプは、チェックモードでboolまたはboolの派生クラスである必要があります.そうしないと、異常(exception)が発生します.本番モードではifの条件は任意のタイプを受け入れることができるが、boolでもbool派生クラスでもない任意のタイプの変数はfalseと見なされる.
あなたは間違っていません.1 falseと見なされています.
2.スイッチ文
2.1 switch文
switch文のフォーマットは次のとおりです.
ここでeは式です.eのタイプをTとすると、Tはoperator==をリロードしなければならない.演算子のリロードについては後述しますが、C++やC#などの演算子のリロード言語に触れたことがあれば、分かりやすいです.接触していなくても大丈夫です.t 1とt 2がTタイプの変数であると、式t 1==t 2が合法であると一時的に理解できます.
2.2 switch文の性質
1)空でないcaseは、実行後にbreak、return、throwでswitchを終了するか、continue文で別のcaseを実行しなければならない(後述continue文).
2)空のcaseは,直接貫くことができる.
3.循環文
3.1 for文
Dartのfor文はC言語に似ていて、特別なところはありません.
3.2 forEach関数
Dartは多くの言語のように「foreach文」を提供していないが、ListとMapタイプではforEachメンバー関数を提供している.
Listタイプにはメンバー関数forEachがあります.
forEachは,(T t)をパラメータリストとし,戻り値のない関数を受け入れる.
Mapタイプにはメンバー関数forEachがあります.
3.3 while文
whileは簡略化版のforと見なすことができる.
次のようになります.
3.4 do-while文
do-whileとwhileの違いは,1つが先に判断し,1つが先に実行してから判断することである.これはC言語と同じです.例はあげません.
4. スキップ文
breakとcontinue
breakとcontinueの使い方はC言語などの一般的なプログラミング言語と同じです.continueは今回のループを終了し、breakはループ全体を終了します.
さらにcontinue文は、switchで使用して、1つの非空caseを実行した後に別のcaseを実行し続ける目的を達成することができる.
そのうちLabel_の役割は、continue文のジャンプの場所を示すためにcaseにラベルを追加することです.
1.1 if文
if文の使い方は他の言語と変わらない.
void Func(int n) {
if (n > 0) {
print(" ");
} else {
if (n == 0) {
print(" ");
} else {
print(" ");
}
}
}
なお、ifの条件式の値のタイプは、チェックモードでboolまたはboolの派生クラスである必要があります.そうしないと、異常(exception)が発生します.本番モードではifの条件は任意のタイプを受け入れることができるが、boolでもbool派生クラスでもない任意のタイプの変数はfalseと見なされる.
if (1) { // ; if (false)
}
あなたは間違っていません.1 falseと見なされています.
2.スイッチ文
2.1 switch文
switch文のフォーマットは次のとおりです.
switch (e) {
case 1:
case 1:
......
case n:
default:
}
ここでeは式です.eのタイプをTとすると、Tはoperator==をリロードしなければならない.演算子のリロードについては後述しますが、C++やC#などの演算子のリロード言語に触れたことがあれば、分かりやすいです.接触していなくても大丈夫です.t 1とt 2がTタイプの変数であると、式t 1==t 2が合法であると一時的に理解できます.
2.2 switch文の性質
1)空でないcaseは、実行後にbreak、return、throwでswitchを終了するか、continue文で別のcaseを実行しなければならない(後述continue文).
2)空のcaseは,直接貫くことができる.
void Func(int n) {
switch (n) {
case 1: // case,
case 2:
case 3: // case
print("n 1、2 3");
break;
case 4: // case, break switch
break;
default:
break;
}
}
3.循環文
3.1 for文
Dartのfor文はC言語に似ていて、特別なところはありません.
for (int i = 0; i < 10; i++) {
print(i);
}
3.2 forEach関数
Dartは多くの言語のように「foreach文」を提供していないが、ListとMapタイプではforEachメンバー関数を提供している.
List
// Dart , :
class List<T> {
void forEach(void f(T t));
}
forEachは,(T t)をパラメータリストとし,戻り値のない関数を受け入れる.
void main() {
List<int> theList = [1, 3, 2, 90];
theList.forEach(Op);
}
void Op(int n) {
print(n);
}
Map
// Dart , :
class Map<K, V> {
void forEach(void f(K key, V value));
}
3.3 while文
whileは簡略化版のforと見なすことができる.
while (x) {
//
}
次のようになります.
for (; x;) {
//
}
3.4 do-while文
do-whileとwhileの違いは,1つが先に判断し,1つが先に実行してから判断することである.これはC言語と同じです.例はあげません.
4. スキップ文
breakとcontinue
breakとcontinueの使い方はC言語などの一般的なプログラミング言語と同じです.continueは今回のループを終了し、breakはループ全体を終了します.
さらにcontinue文は、switchで使用して、1つの非空caseを実行した後に別のcaseを実行し続ける目的を達成することができる.
void Func(int n) {
switch (n) {
case 1:
print("case 1");
continue Label_; // case 1 , case 2
Label_: case 2:
print("case 2");
break;
case 3:
print("case 3");
break;
default:
print("default");
break;
}
}
そのうちLabel_の役割は、continue文のジャンプの場所を示すためにcaseにラベルを追加することです.