p.79 式と演算子
・「+」や「-」に代表される計算や操作を表す記号を演算子という ・「typeof」「new」などのような単語の演算子もある ・演算子の対象をオペランド(項)といい、演算子の種類により数が異なる ・例:「a + b」はオペランドが2つなので、2項+演算子という ・0個以上の演算子とオペランドを合わせたものを式という(よって変数1個のみのものも式) ・式を計算して結果を得る事を「評価する」といい、結果の値を「評価」という ・例:式「a + b」の評価はaとbの和 ・なお、「=」は代入演算子ともいい、2項=演算子。 ・2項=演算子の評価は代入値となる。 ・例:式「c = 3 + 4」は2項+演算子の評価7が変数cに代入され、式全体の評価も7になる ・これで分かるように、通常の式は左から評価されるが、代入演算子は右から評価される
アレンジ演習:p.80 expression01.cs
・式「(a = 3 + 4)」の評価も7になることを確認しよう
作成例
//p.80 expression01.cs
using System;
class expression01
{
public static void Main()
{
int a = 0;
Console.WriteLine("a = {0}", a); //「a = 0」
Console.WriteLine("(a = 7)の値は{0}", a = 7); //「(a = 7)の値は7」
//【以下追加】
Console.WriteLine("(a = 3 + 4)の値は{0}", a = 3 + 4); //「(a = 3 + 4)の値は7」
}
}
p.81 算術演算子
・2項+,-,*,/,%演算子と、単項++,--演算子を合わせて算術演算子という ・2項+,-,*,/,%演算子のルール:(下記にあてはまらければエラーになる) 2項+演算子:2項が共に数値であれば加算結果を返す。どちらかまたは両方が文字列であれば連結結果の文字列を返す。 2項-演算子:2項が共に数値であれば左辺から右辺を引いた結果を返す。 2項*演算子:2項が共に数値であれば左辺と右辺の積を返す。 2項/演算子:2項が共に整数であれば左辺を右辺で割った結果の整数部を返す。実数であれば左辺を右辺で割った結果を返す。 ※「整数 / 0」は異常終了となる。 ※「正の実数 / 0」は「∞」(無限大)「負の実数 / 0」は「-∞」となる。 ※ なお、0.0は実数扱い
アレンジ演習:p.81 add01.cs
・下記の組み合わせを2項+演算子に与えるとどうなるかも試そう。エラーにならない場合は結果の型を確認しよう ①整数リテラルと文字リテラル ②文字リテラルと文字リテラル ③文字列リテラルと文字リテラル ④整数リテラルと論理値リテラル
作成例
//p.81 add01.cs
using System;
class add01
{
public static void Main()
{
Console.WriteLine(3 + 6); //加算で9
Console.WriteLine(3.0 + 6); //加算で9.0(表示は9)
Console.WriteLine("3.5" + 6); //連結で"3.56"
Console.WriteLine(3.5 + "6"); //連結で"3.56"
Console.WriteLine(); //改行
Console.WriteLine("(3.0 + 6)の型は{0}", (3.0 + 6).GetType()); //Double
Console.WriteLine("文字列3.5 + intの6の型は{0}", ("3.5" + 6).GetType()); //String
Console.WriteLine("doubleの3.5 + 文字列6の型は{0}", (3.5 + "6").GetType()); //同
//【以下追加】
Console.WriteLine("整数3 + 文字'A' → {0}", 3 + 'A'); //加算で68(Aの文字コードは65)
Console.WriteLine("型は{0}", (3 + 'A').GetType()); //Int32となる
Console.WriteLine("文字'A' + 文字'B' → {0}", 'A' + 'B'); //加算で131(文字コードで計算)
Console.WriteLine("型は{0}", ('A' + 'B').GetType()); //Int32となる
Console.WriteLine("文字列\"AB\" + 文字'C' → {0}", "AB" + 'C'); //連結で"ABC"
Console.WriteLine("型は{0}", ("AB" + 'C').GetType()); //Stringとなる
//Console.WriteLine("整数10 + 論理値True → {0}", 10 + true); //(未定義)エラー
}
}
アレンジ演習:p.81 add01.cs 続き
・下記の組み合わせを2項+演算子に与えるとどうなるかも試そう。エラーにならない場合は結果の型を確認しよう ①実数リテラルと文字リテラル ②論理値リテラルと論理値リテラル ③論理値リテラルと文字リテラル ④文字列リテラルと論理値リテラル
提出:アレンジ演習:p.81 add01.cs 続き