一、基础语法

一、基本数据类型

  • 数值类型

(1)整形

类型 说明
sbyte (8位有符号整数) -128到127
byte (8位有符号整数) 0到255
int16=short (表示16位有符号整数) -32768到32767
int=int32 (表示32位有符号整数) -2147483648到 2147483647
int64=long (表示64位有符号整数) -9223372036854775808到 9223372036854775807
Uint16=Ushort (表示16位无符号整数) 0到65535
Uint=Uint32 (表示32位无符号整数) 0到4294967295
Uint64=Ulong (表示64位无符号整数) 0到18446744073709551615

(2)非整型

类型 说明
单精度浮点型float (表示7位有符号实数) ±1.401298E-45到 ±3.402823E38
双精度浮点型double (表示16位有符号实数) -1.7E-308~1.7E+308
更高精度数值decimal (财务专用) -79228162514264337593543950335到79228162514264337593543950335

(3)非数值类型
- 字符char
- 字符串string
- bool

二、变量

  • 定义:

变量是用来存储值的所在处;它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。

  • 1、变量的命名规则

(1)有英文字母、数字、下划线组成,不能含有空格和其他字符(@除外,备注:@name和name是一样的);
(2)不能以数字开头(88name这样命名是错误的);
(3)不能用关键字命名(例如double,public,static等等这些关键字不能使用);

  • 命名注意点

(1)给变量分配有意义的名称(例如:name一看就知道表示的是名字);
(2)命名类和方法时使用Pascal(帕斯卡)样式(MyData),命名变量时使用Camel(驼峰)样式(myData);
(3)不要通过区分大小写的不同来区分变量;
(4)变量(标识符)名字不适宜太长,尽量精简(UserNameData太长,不适宜用来命名);

  • 2、变量的声明方式

    (1)先声明后赋值

    int I;
    I=100;

    (2)声在明的同时赋值

    int I=100;

    (3)可同时声明多个变量

    int a=100,b=200,c=300;

三、变量的作用域

  • 定义:

变量的作用域是可以访问该变量的的代码区域。

  • 作用域规则

(1)只要字段所属的类在某个作用域内,其字段也在该作用域内;
(2) 局部变量的作用域只在离它最近的大括号内部;
(3)在循环或类似的语句中声明的局部变量存在于该循环体内;
案例如下:

         class Program
    {
        static void Main(string[] args)
        {
            // a,b,A为全局变量,作用域为整个程序内
            int a = 10;
            int b = 20;
            int A = a + b;
            if(A<30)
            {
                // c,d为局部变量,作用域为if语句内部
                int c = 30;
                int d = c - A;
                Console.WriteLine(d);
            }
            int B = a + b + c;//在这里调用c时程序就会报错,因为c是局部变量,它的作用域只在if语句下的大阔号里
            Console.ReadKey(); 
        }
    }

四、修饰符

修饰符

五、屏幕输入

  • 案例
Console.WriteLine("请输入你的名字");
string name=Console.ReadLine();

六、转换

  • 隐式转换:简单意义上来说就是从范围较小的整数(或实数)类型隐式转换为范围较大整数(或实数)类型;(自动提升类型)
int a=60;
float b=10.99f;
float c=a+b;
  • 显示转换:简单意义上说就是从范围较大的整数(或实数)类型强制转换为范围较小整数(或实数)类型;
int a=100;
double b=19.99d;
int c=(int)(a+b);
  • 类型转换:可实现不同数值类型之间的转换
Convter.ToInt16();
Convter.ToInt32();
Convter.ToInt64();
Convter.ToUInt16();
Convter.ToUInt32();
Convter.ToUInt64();
Convter.Double();
Convter.Decimal();
Convter.char();
Convter.string();

用法举例:

//把int型转换为字符char型
int a=10;
int b=60;
char c=(char)(a+b);  //char c=Convert.ToChar(a+b);
Console.WriteLine(c);
//输出结果为大写字母F;因为字母F对应的ASCII码表值为70;

七、复合数据类型

  • 枚举
    // 枚举列表中的每个符号(成员)代表一个整数值,默认情况下,第一个枚举符号的值是 0,后面逐个增加1。但是你可以自己定义每个成员的值。
  enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat }
        static void Main(string[] args)
        {
            int WeekdayStart = (int)Days.Mon;
            int WeekdayEnd = (int)Days.Fri;
            Console.WriteLine("Monday:{0}", WeekdayStart); //输出结果为Monday:1
            Console.WriteLine("Friday:{0}", WeekdayEnd); //输出结果为Friday:5
            Console.ReadKey();
        }
enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat }
        static void Main(string[] args)
        {
            int[] yizhou = new int[7] { 7, 8, 9, 10, 22, 40, 13 };
            int WeekdayStart = yizhou[(int)Days.Mon];
            int WeekdayEnd = yizhou[(int)Days.Fri];
            Console.WriteLine("Monday:{0}", WeekdayStart);//输出结果为Monday:8
            Console.WriteLine("Friday:{0}", WeekdayEnd);//输出结果为Friday:40
            Console.ReadKey();
        }
 enum Num { a = 8, b, c = 1, e, f, g };
        static void Main(string[] args)
        {
            int A = (int)Num.a;
            int E = (int)Num.e;
            int C = (int)Num.b;
            Console.WriteLine(A);//输出结果为8
            Console.WriteLine(E);//输出结果为2
            Console.WriteLine(C);//输出结果为9
            Console.ReadKey();
  • 结构体
  • 接口
  • 委托
  • 数组

八、课后习题

  • 1、写一个程序,使输出结果为下图所示:


Console.WriteLine("******************");
Console.WriteLine("***            ***");
Console.WriteLine("***   雷潮教育  ***");
Console.WriteLine("***            ***");
Console.WriteLine("******************");
  • 2、读取玩家姓名、性别、成绩,输出结果为名字加成绩等级(成绩大于等于80为A,大于等于60且小于80为B,小于60为C)。
 Console.WriteLine("请输入你的姓名:");
            string name= Console.ReadLine();
            Console.WriteLine("请输入你的年龄:");
            int age = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine("请输入你的成绩:");
            double score = Convert.ToDouble(Console.ReadLine());

            char cha;
               if(score>80)
                {
                    cha = 'A';
                }
              else if(score>60&&score<80)
                {
                    cha = 'B'; 
                }
                else
                {
                    cha = 'C';
                }
            Console.WriteLine(name + cha);
            Console.ReadKey();
  • 3、声明一个电脑类,里面有电脑的价格,要求这个价格能够被外界访问。书写10遍public,private,protected,internal的定义用自己的语言写出来。
 class Program:Computer  //Program继承了Computer
    {
        static void Main(string[] args)
        {
            Computer c=new Computer();
            Program p=new Program();
            p.colour ="red";
            p.price =4888;
            p.brand ="ASUS";
            Console.WriteLine(p.colour);
            Console.WriteLine(p.price);
            Console.WriteLine(p.brand);
            Console.ReadKey();
        }
    }
    class Computer  //声明一个电脑类
    {
        public int price;
        private double weight;
        protected string colour;
        internal string brand;
    } 

Public:访问不受限制 ;
Protected:访问仅限于此类(也就是本类的成员)或从此类派生的类 (继承此类);
Private: 访问仅限于此类(也就是本类的成员);
Internal:访问仅限该类能够由程序集中的所有文件使用,而不能由程序集之外的对象使用 ;
Protected internal:访问仅限于此程序或从此类派生出的类 ;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容