・p.85「インクリメント演算子、デクリメント演算子」から
p.85 インクリメント演算子、デクリメント演算子
・単項++演算子:「変数 = 変数 + 1」を「変数++」または「++変数」と記述でき、インクリメント演算子ともいう。 ・「++変数」を前置インクリメント演算子、「変数++」を後置インクリメント演算子という ・前置と後置は単独で行う場合は同じ意味だが、評価のタイミングが異なる ・前置の場合:1を足しこんで、その結果を評価とする ・後置の場合:現在の値を評価としてから、1を足しこむ ・例: int i = 10; Console.Write(++i); Console.Write(i); //11 11となる ・例: int i = 10; Console.Write(i++); Console.Write(i); //10 11となる ・C#では実数型変数にも利用可能で、1.0が加算される ・単項--演算子:「変数 = 変数 - 1」を「変数--」または「--変数」と記述でき、デクリメント演算子ともいう。動作は「++」と同様
p.87 increment02.cs
//p.87 increment02.cs
using System;
class increment02
{
public static void Main()
{
double a = 1.25;
decimal d = -12.3M;
Console.WriteLine(++a); // a = a + 1.0 となる
Console.WriteLine(--d); // d = d - 1M となる
}
}
p.88 関係演算子
・値の大小関係によりbool型(p.57)の戻り値を返す演算子の総称 ・2項==演算子:左辺と右辺の値が等しければtrue、でなければfalse ※「= =」はNG ・2項!=演算子:左辺と右辺の値が等しければfalse、でなければtrue ※「! =」「=!」はNG ・2項>=演算子:左辺の値が右辺の値以上ならばtrue、でなければfalse ※「> =」「=>」はNG ・2項<=演算子:左辺の値が右辺の値以下ならばtrue、でなければfalse ※「< =」「=<」はNG
アレンジ演習:p.57 bool01.cs
・bool型の変数a、bに式「10 == 8 + 2」と「1 + 3 != 4」の演算結果を初期値として与えて、動作を確認しよう
作成例
//アレンジ演習:p.57 bool01.cs
using System;
class bool01
{
public static void Main()
{
bool a = (10 == 8 + 2); //bool型を返す式の評価で初期化
bool b = (1 + 3 != 4); //bool型を返す式の評価で初期化
Console.WriteLine("a = {0}, b = {1}", a, b); //表示するとTrue/Falseとなる
Console.WriteLine("aは{0}", a.GetType()); //boolの.NET型情報を表示
Console.WriteLine("aは文字列にすると「{0}」", a.ToString()); //論理値を示す文字列を表示
Console.WriteLine("bは文字列にすると「{0}」", b.ToString()); //論理値を示す文字列を表示
}
}
p.88 条件演算子
・C#では唯一の3項演算子で、制御構造を演算子で実装できる ・書式: bool型の値や式① ? ①がTrueの場合の値や式 : ①がfalseの場合の値や式 ・「:」の前後のどちらかだけが実行されるので「もしも●なら▲をでなければ■を」という構文になる 例: Concole.Write(a > 0 ? "正の数" : "正の数ではない"); 例: int max = (a > b) ? a : b; //aとbの大きい方をmaxに代入 ・つまり、値を返すif-else文を演算子で表現したもの ・一般に誤読防止の為に①をカッコで囲むことが多い
ミニ演習 mini088.cs
・コンソールから整数を2つ入力し、大きい方(2項>演算子でTrueになる方)を表示しよう
作成例
//ミニ演習 mini088.cs
using System;
class mini088
{
public static void Main()
{
Console.Write("A:"); int a = int.Parse(Console.ReadLine());
Console.Write("B:"); int b = int.Parse(Console.ReadLine());
Console.WriteLine("大きい方は{0}", (a > b) ? a : b);
//または
int max = (a > b) ? a : b;
Console.WriteLine("大きい方は{0}", max);
}
}