C# 学习笔记(一) -- 基本语法

  • C#可以做什么
  • hello world
  • 基本语法
  • 数据类型
  • 表达式
  • 控制语句
  • 特殊关键字

C#可以做什么

  windows应用程序
  web应用程序
  web服务

hello world

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("hello world!");
            Console.ReadKey();
        }
    }
}

结果
hello world!

基本语法

- 区分大小写
- 注释
    - // 行注释
    - /* */ 行注释或者段注释
    - /// 行注释
- 变量声明
    -  
    int age;
    age = 26;
- 变量的命名
    - 变量名的第一个字母必须是字母,下划线或者@;
    - 其后的可以是字母,下划线或者数字;
    - 区分大小写;
    - 关键字不能作为变量名

数据类型

- 简单类型
    - 布尔型 : true 和 false
    - 整数类型 :sbyte,byte,short,ushort,int,uint,long,ulong
    - 浮点型 :float, double, decimal
    - 字符型 :char
    - 字符串 :string
- 转义序列
类 型 别 名 允许的值
sbyte System.SByte 在-128~127之间的整数
byte System.Byte 在0~255之间的整数
short System.Int16 在-32768~32767之间的整数
ushort System.UInt16 在0~65535之间的整数
int System.Int32 在-214783648~214783647之间的整数
uint System.UInt32 在0~429567295之间的整数
long System.Int64 在-9223372036854775808~9223372036854775807之间的整数
ulong System.UInt64 在0~18446744073709551615之间的整数
float System.Single
double System.Double
decimal System.Decimal
bool System.Boolean true 或者 false
char System.Char 一个Unicode字符,存储0~65535之间的整数
string System.String 一组字符串,长度是可变的

u是unsigned的缩写表示不能在变量中存储负值。

        static void Main(string[] args)
        {

            int myInt;
            string myStr;

            myInt = 17;
            myStr = "my Int is ";
            // 字符串中每一个{}都是一个占位符,每哥{}中的整数从0开始,对应后面的变量。
            Console.WriteLine("{0} {1}.", myStr, myInt); 
            Console.ReadKey(); // 暂停代码执行 等待用户下一个按键
        }

结果: my Int is 17.

表达式

- 数学运算符
    - + 加法
    - - 减法
    - * 乘法
    - / 除法
    - % 取余
    - ++、--
        static void Main(string[] args)
        {

            int var1 = 2, var2 = 7, var3 = 21, var4 = 35;
            Console.WriteLine("var1 + var2 = {0}", var1 + var2);
            Console.WriteLine("var2 - var1 = {0}", var2 - var1);
            Console.WriteLine("var1 * var3 = {0}", var1 * var3);
            Console.WriteLine("var3 / var2 = {0}", var3 / var2);
            Console.WriteLine("var3 % var1 = {0}", var3 % var1);
            Console.WriteLine("var1++      = {0}", var1++);
            Console.WriteLine("++var2      = {0}", ++var2);
            Console.WriteLine("var3--      = {0}", var3--);
            Console.WriteLine("--var4      = {0}", --var4);
            Console.ReadKey();
        }
    结果:
    var1 + var2 = 9
    var2 - var1 = 5
    var1 * var3 = 42
    var3 / var2 = 3
    var3 % var1 = 1
    var1++      = 2
    ++var2      = 8
    var3--      = 21
    --var4      = 34

- 赋值运算符
    - =、+=、-=、*=、/=、%=
        var1 += var2; 含义:var1 = var1+var2; 其余类似。

- 运算符的优先级
    - 符合数学运算优先级

- 名称空间
    - .Net应用程序中定义的所有名称,包括变量名,都包含在名称空间中。
    - 名称空间采用层次结构,我们需要根据包含名称的名称空间来限定,以便访问他们。

流程控制

  • 布尔逻辑

    • 布尔值运算符
      • 参见逻辑运算符
    • 按位运算符
      • &= : var1 &= var2; var1是var1&var2的结果;
      • |= : var1 |= var2; var1是var1 | var2的结果;
      • ^= : var1 ^= var2; var1是var1^var2的结果;
    • 运算符优先级的更新
  • goto

    • 直接跳转到该行代码。
    • goto lablename
  • 判断语句
    • 三元运算符
      • test ? resutltIfTrue : resultIfFalse
      • test的结果是true的时,执行resultIfTrue;否则,执行resultFalse。
    • if 语句
    • switch 语句
      判断语句和java的用法都是类似的。
  • 循环
    • do :先执行,后判断
    • while :先判断后执行
    • for : 可以指定循环次数的循环。
    • 循环中断
      • break
      • continue
      • goto
      • return
    • 无限循环
      • while(true)

逻辑运算符:

运算符 类别 示例表达式 结果
== 二元 var1 == var2 相等为true;不等为false
!= 二元 var1 != var2 不等为true;相等为false
> 二元 var1 > var2 大于为true;以外为false
< 二元 var1 < var2 小于为true;以外为false
>= 二元 var1 >= var2 大于等于为true;以外为false
<= 二元 var1 <= var2 小于等于为true;以外为false
! 二元 !var2 逻辑非
& 一元 var1 & var2 逻辑与
| 二元 var1 | var2 逻辑或
^ 二元 var1 ^ var2 逻辑异或
&& 二元 var1 && var2 逻辑与
|| 二元 var1 | var2 逻辑或

&&,|| 和 &,| 的结果是一样的,但是性能要更好。

就目前为止,有好多东西和java,还有很久之前学的C++有很多类似的地方。看了小半天,时间基本都是花在整理文档了。代码部分暂时不贴了。相对来说比较简单。
每天进步一小点。哦也

你可能感兴趣的:(编程语言,C#)