VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > C#教程 > c#编程 >
  • c#语法练习3 运算符

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
 

基本: . () [] x++ x-- new typeof checked unchecked -> ::
一元: + - ! ~ ++x --x (T)x True False & sizeof
乘除: * / %
加减: + -
移位: << >>
关系: < > <= >= is as
相等: == !=
逻辑: & ^ |
条件: && ||
赋值: = += -= *= /= %= &= |= ^= <<= >>=
选择: ?: ??
其他: =>

  整数 / 整数 = 整数

using System;

class MyClass
{
  static void Main()
  {
    double d;
    d = 14 / 4;
    Console.WriteLine(d);  //3
    d = 14 / 4.0;
    Console.WriteLine(d);  //3.5
    d = 14.0 / 4.0;
    Console.WriteLine(d);  //3.5
    d = 14.0 / 4;
    Console.WriteLine(d);  //3.5

    Console.WriteLine();

    float f;
    f = 14 / 4;
    Console.WriteLine(f);  //3
    f = (float)(14.0 / 4.0); /* 默认返回 double, 因而需要转换 */
    Console.WriteLine(f);  //3.5

    Console.WriteLine();

    int i;
    i = 14 / 4;
    Console.WriteLine(i);  //3
    i = (int)(14.0 / 4.0);
    Console.WriteLine(i);  //3
    i = 14 % 4;
    Console.WriteLine(i);  //2

    Console.ReadKey();
  }
}

 

  ++ -- 可以对 double 类型

using System;

class MyClass
{
  static void Main()
  {
    double f = 1.5;
    f++; Console.WriteLine(f); //2.5
    f--; Console.WriteLine(f); //1.5
    Console.WriteLine(++f);  //2.5
    Console.WriteLine(--f);  //1.5

    Console.ReadKey();
  }
}

  ?:

using System;

class MyClass
{
  static void Main()
  {
    int n, a=11, b=22;

    n = a > b ? a : b;
    Console.WriteLine(n); //22
    n = a < b ? a : b;
    Console.WriteLine(n); //11

    Console.ReadKey();
  }
}

  ??

using System;

class MyClass
{
  static void Main()
  {
    int? x = null;    /* 给变量赋 null 的写法, 一般用于数值和布尔类型 */
    int y;

    y = x ?? -1;     /* 如果 x 为 null 将返回后者, 反之返回 x */
    Console.WriteLine(y); // -1

    x = 9;
    y = x ?? -1;
    Console.WriteLine(y); // 9

    Console.ReadKey();
  }
}

  =>

using System;
using System.Linq;

class MyClass
{
  static void Main()
  {
    int n1, n2;

    int[] ns = {22, 333, 4444, 9};
    n1 = ns.Max(num => num);
    n2 = ns.Min(num => num);
    Console.WriteLine("{0}, {1}", n1, n2);   //4444, 9

    string[] ss = {"aaa", "bbbb", "ccccc", "dd"};
    n1 = ss.Max(str => str.Length);
    n2 = ss.Min(str => str.Length);
    Console.WriteLine("{0}, {1}", n1, n2);   //5, 2

    Console.ReadKey();
  }
}

 

  & | ^ !

using System;

class MyClass
{
  static void Main()
  {
    bool b;

    b = true & true; Console.WriteLine(b); // True
    b = true & false; Console.WriteLine(b); // False
    b = false & false; Console.WriteLine(b); // False

    b = true | true; Console.WriteLine(b); // True
    b = true | false; Console.WriteLine(b); // True
    b = false | false; Console.WriteLine(b); // False

    b = true ^ true; Console.WriteLine(b); // False
    b = true ^ false; Console.WriteLine(b); // True
    b = false ^ false; Console.WriteLine(b); // False

    b = !true;     Console.WriteLine(b); // False
    b = !false;    Console.WriteLine(b); // True

    Console.ReadKey();
  }
}

  && ||; 在条件判断时, 应尽量使用 &&、|| 而不是 &、|; 因为后者总是要计算出结果, 因而会慢.

using System;

class MyClass
{
  static void Main()
  {
    bool b;

    /* 在前两种情形下, && 不再判断其后的值 */
    b = false && true; Console.WriteLine(b); // False
    b = false && false; Console.WriteLine(b); // False
    b = true && true; Console.WriteLine(b); // True
    b = true && false; Console.WriteLine(b); // False

    /* 在前两种情形下, || 不再判断其后的值 */
    b = true || true; Console.WriteLine(b); // True
    b = true || false; Console.WriteLine(b); // True
    b = false || true; Console.WriteLine(b); // True
    b = false || false; Console.WriteLine(b); // False

    Console.ReadKey();
  }
}


		

 

 

  ++ -- 可以对 double 类型

using System;

class MyClass
{
  static void Main()
  {
    double f = 1.5;
    f++; Console.WriteLine(f); //2.5
    f--; Console.WriteLine(f); //1.5
    Console.WriteLine(++f);  //2.5
    Console.WriteLine(--f);  //1.5

    Console.ReadKey();
  }
}

  ?:

using System;

class MyClass
{
  static void Main()
  {
    int n, a=11, b=22;

    n = a > b ? a : b;
    Console.WriteLine(n); //22
    n = a < b ? a : b;
    Console.WriteLine(n); //11

    Console.ReadKey();
  }
}

  ??

using System;

class MyClass
{
  static void Main()
  {
    int? x = null;    /* 给变量赋 null 的写法, 一般用于数值和布尔类型 */
    int y;

    y = x ?? -1;     /* 如果 x 为 null 将返回后者, 反之返回 x */
    Console.WriteLine(y); // -1

    x = 9;
    y = x ?? -1;
    Console.WriteLine(y); // 9

    Console.ReadKey();
  }
}

  =>

using System;
using System.Linq;

class MyClass
{
  static void Main()
  {
    int n1, n2;

    int[] ns = {22, 333, 4444, 9};
    n1 = ns.Max(num => num);
    n2 = ns.Min(num => num);
    Console.WriteLine("{0}, {1}", n1, n2);   //4444, 9

    string[] ss = {"aaa", "bbbb", "ccccc", "dd"};
    n1 = ss.Max(str => str.Length);
    n2 = ss.Min(str => str.Length);
    Console.WriteLine("{0}, {1}", n1, n2);   //5, 2

    Console.ReadKey();
  }
}



相关教程