その1
if(条件式)
{
//条件式の結果がtrueの時処理
}
条件式
※if文の条件式で気を付けたいものがあります。例として、条件式で代入を行ってしまうことです。
if(a == 0)
と書くつもりが、
if(a = 0)
と書いてしまった場合です。c#では、if文の条件式の中身はbool値以外であってはいけない、つまり、整数型を黙認的にbool値型に変換することはできません。そのため、
if(a = 0)
と書いた場合は、コンパイル時にエラーとして検出されます。
その2
if(条件式){
//条件式の結果がtrue
}
else{
//条件式の結果がtrueでない時
}
※elseは「ほかの」という意味。なのでifで書いた条件式に沿わない場合はelseの中が実行される。
for(初期化処理;条件式;増分処理)
例.)
for(i=1;i<=5;i++)
{}
・初期化処理の部分で、「i=1」となっているから、最初のiの値は1から始まる。
・条件式は、if文で用いられるものと同じで、この場合「i<=5」なので、iが5以下の場合、この処理が継続される。
・増分処理「i++」は、※インクリメントと言って、iの値を1増加する処理をする。
以上より、このfor文はi=1から始まり、iを一つずつ増分させ、iが5以下ならば{}内の処理を実行を繰り返し、iが5より大きくなれば、ループから抜ける、という処理。
※インクリメント・デクリメントについて
インクリメント・・・変数の値を1増加させる。
デクリメント・・・変数の値を1減らす。
インクリメント・デクリメントの処理一覧
例) int i = 10;
Console.Write(i); //10と表示される
Console.Write(i++); //11と表示される i++(またはi=i+1)は処理が終わった後にプラスされる。
Console.Write(i--); //9と表示される i--(またはi=i-1)は処理が終わった後にマイナスされる。
whileの条件式が真(true)である限り処理を実行し続けます。
また、条件式が偽(false)であった場合は、ループ内の処理は実行されません。
while(条件式){
...(処理)
}
(サンプル)
int i = 1;
while (i <= 5)
{
Console.Write(i + " ");
i++;
}
Console.WriteLine();
Console.Read();
(実行結果)
1 2 3 4 5
1行目で、iを1に初期化しています。この段階でwhile文の条件である、「i<=5」は偽なので、ループ処理に入ります。
ループ内で、iの値を表示するとともに、i++を行うことによって、iの値が増加しています。そのため、i==6となると、i<=5という条件は正しくない、つまり「偽」となります。その結果ループから抜けます。
条件分岐を何種類も分けて記載する時、if,else if を用いると思いますが、
多く使用しているとコード自体の処理が見辛くなってしまいます。
そのためにswitch文を用います。
switch(変数){
case 変数の値1:
変数が変数の値1の時に実行する処理;
...
break;
case 変数の値2:
式が変数の値2の時に実行する処理;
...
break;
default:
どの定数にも一致しない時に実行する処理;
...
最初に変数を定義しておき、その変数の値によって、分岐する文です。
処理の最後はbreakを忘れないようにしましょう。
break; 途中で抜ける
continue; ループの先頭に戻る
return;
メソットAとBがあり、メソットAの途中でメソットBの処理に移り、処理が終わったらreturn;でメソットAに戻り続きから再び処理をします。
まず、ボタンをクリックするとメソットAの処理が始まる。
jihankiに100が入ったところで、メソットBの処理に移る。
処理が終わったらreturnで、メソットAに戻る。(テキストボックス1に戻ってきた値が代入される)
※jihankiの値が100以外だった場合にはtmpに”100円じゃなかった!!”が代入される。