黑马程序员————————C#基础知识(二)

来源:互联网 发布:西安朝阳软件 编辑:程序博客网 时间:2024/06/06 01:01

 ----------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 

l      认识变量

l      +”运算符

l      占位符

l      交换变量值的算法

l      函数Console.ReadLine()

变量:

 概念:变量代表着一块儿内存空间,可以通过变量名称向内存中存取数据而不需要记忆复杂的内存地址。存储不同类型数据的变量需要不同的数据类型来声明。

1.变量声明的三种方法:

①:声明:    数据类型   变量名;

赋值:     变量名    =  值(赋值就是将等

号右边的值,存储到左边变量名代表的空间内)

例:int a ;

   a = 123;

②:定义(声明)变量名称时直接赋值:

数据类型  变量名   =    

例: int  a   =   123  ;

③:一次声明多个同类型变量,多个变量名称之间要用逗号分隔,最后以分号结束这句话。

例:int z,x,y;  int a=12,b=13,c=14;

变量一定要先声明,再赋值,再使用。

2.C#中变量的命名规则:

①:必须以字母,下划线或者@开头,不能以数字开头,之后的字母符号中间不可以有空格和特殊符号(如%$等)。

②:不能与C#中的关键字重复。

③:注意大小写。

④:在同一作用域内不能重复声明(定义),可重复赋值(后值会取代原值)。

例:

String  Name=“张三”;

 Name =“李四”;

Console.WriteLine(Name):

输出结果为“李四”。

⑤:变量名要有意义。

复习添加:

C#中关键词:

*关于这些关键字的详解,请参见本人另外一篇博客(C#关键字详解

3.C#中的变量命名规范:

Camel命名法:第一个单词首字母小写,之后每个单词首字母大写。(一般用于局部变量)

Pascal命名规范:每一个单词首字母都大写。(一般用于全局变量)

如果使用到英文单词的缩写,全部用大写。

在方法中声明变量,用camel命名法。

4.+”运算符在C#中的使用:

如果“+”两侧有一个(非数值类型)字符类型声明的变量,则运算结果为两个变量各自执行的结果相连接;如果“+”两侧都是数值类型声明的变量,则运算结果为两个值相加;

例如:

int age =18,age2=19;

Console.Write(age+age2);

输出结果为:37

int age=18;

String age2=19;

Console.Write(age+age2);

输出结果为:18 19

 5.占位符

   Console.WriteLine中,第一个参数中可以使用占位符。占位符由“{数字}”组成,数字由0开始编号。

第一个占位符{0}

第二个占位符{1}

第三个占位符{2}

。。。。。。

{0}这样的书写叫做索引,索引必须大于或等于零,且从零开始小于参数列表的大小。

例:

           Console.Write("我叫"+zsname+",今年"+zsage+",我的工资是"+zssalary +"元。");

 

可写为:

 

     Console.Write("我叫{0},今年{1},我的工资是{2}元。",zsname,zsage,zssalary);

 

每个逗号间隔的,都是一个参数,"我叫{0},今年{1},我的工资是{2}元。"这是一个参数,zsname这也是一个参数,而在Console.Write();或者Console.WriteLine();函数输出时,只会提取()内第一个参数,从第二个参数开始,都是用来替换第一个参数中占位符的,如果没有对应的占位符,则该参数作废,并不会影响程序编译。

例:

Console.Write("我叫{0},今年{1},我的工资是{2}元。",zsname,zsage,zssalary);

第一个逗号前的参数会输出,之后包括zsnamezsage等都是用来替换第一个参数中的占位符{0}{1}{2}的,如果没有相应的占位符需要某参数替换,这个参数作废,不会影响程序编译。如下:

 Console.Write("我叫{0},今年{1},我的工资是元。",zsname,zsage,zssalary);

 Console.Write("我叫{0},今年{1},我的工资是{2}元。",zsname,zsage,zssalary,zsbb);

程序依然会执行。调换占位符位置,输出显示会跟着对应的参数变量显示。

Zsbb这个参数并未用来替换,编译也未发生错误。虽然多余参数不会影响程序编译,但编写时一定要注意不要做这种毫无意义的事。

改变占位符在字符串中的位置,并不会改变它输出的对应参数。 

 Console.WriteLine("我叫{0},我的工资是{2},今年{1}", name, age, salary);

输出依然正确,但是这样写容易引发混乱,所以仅作了解。            

6.交换两个变量值的算法(第一个学习的算法)

  两个变量不能直接交换,需要先声明第三个变量,并且通过相互赋值,最后达到需要的两个变量交换的目的。

例如:交换变量ab

stringa=”1”;

stringb=”2”;

stringc;

c=a;

a=b;

b=c;

此时输出变量的值已经交换,a2b1.

7.函数Console.ReadLine()

用于让用户输入一句话,当程序输入一句话后,按 enter键程序继续执行;如果想知道用户输出的内容,需要声明一个值为该函数的变量,例如:

Console.WriteLine("你喜欢吃什么水果?");

    string input =Console.ReadLine();

    Console.WriteLine("哈哈,这么巧,我也喜欢吃{0 }",input);

运行后输出结果如下:

你喜欢什么水果?

橘子

哈哈,这么巧,我也喜欢吃橘子

注意:接受用户输入的内容,必须定义字符串(string)类型。

这就是某些主人精灵常玩的小把戏,无论用户输入什么,程序执行后都会输出跟用户一样的结果。

QConsole.Read()Console.ReadLine();区别。

Console.Read()是读取用户输入的第一个字符并将其在控制台上输出为该字符的阿斯科码表,接受时要声明数值类型变量。而后者则是用来读取用户输出的字符串用string类型变量接受。

----------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 
原创粉丝点击