講義メモ

・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);
    }
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です