黑马程序员.net基础四
来源:互联网 发布:华为it产品线云计算 编辑:程序博客网 时间:2024/05/23 01:12
语法:const 类型 常量名=常量值
const double PI=3.14
(注意:常量只能在初始化时赋值,其他时候不允许修改)
常量的好处:在程序中使用常量至少有3个好处:
A.常量用易于理解的清楚的名称替代了含义不明确的数字或字符串,使程序更易于阅读。
B.常量使程序更易于修改。例如,在C#程序中有一个SalesTax常量,该常量的值为6%。如果以后销售税率发生变化,把新值赋给这个常量,就可以修改所有的税款计算结果,而不必查找整个程序,修改税率为0.06的每个项。
C.常量更容易避免程序出现错误。如果要把另一个值赋给程序中的一个常量,而该常量已经有了一个值,编译器就会报告错误。
枚举:我们自己定义的一种类型,并且在定义这种类型的时候,我们要指定这个类型的所有值
(1).语法:enum 自己起的类型名称{值1,值2,值3……值n}
(注意:枚举类型一般和类定义在同一个级别)
自己定义性别,里边只有男和女两个值
enum Gender {男,女} //定义Gender枚举类型
Gender sex; //定义一个变量,它的类型是枚举类型
sex = Gender.男;
switch (sex)
{
case Gender.男 :Console.WriteLine("男性");break;
case Gender.女 : Console.WriteLine("女性"); break;
}
此时输出的是:男性
注意:枚举的定义,一般和类定义在同一级别,在同一个命名空间下,所有类就可以使用这个枚举了。定义枚举时,值的类型不能为int类型!
(2).作用:
限制用户不能随意赋值,只能在定义枚举时列举的值中选择
不需要死记每一个值是什么,只需要选择相应的值
(3).枚举可强转成int类型
假设Console.WriteLine(sex)的结果是男
Console.WriteLine((int)sex)的结果是0
因为:枚举的值在定义的时候是有一个默认编号的,编号从0开始。所以系统默认男为0,女为1
(4)将string类型换成枚举类型
语法:(自己定义的枚举类型)(Enum.Parse(typeof(定义的枚举类型),待转换的字符串))
定义一个身份的枚举类型,让用户输入自己的身份,然后再输出枚举类型
enum status {学生,工人,军人,老师}//创建枚举类型
status person; //定义一个枚举类型的变量person
Console.WriteLine("请输入您的身份(工人或老师或学生)");
try
{
string strPerson = Console.ReadLine(); // 等待用户输入
person=(status)(Enum.Parse(typeof(status),strPerson));
Console.WriteLine("您输入的身份是{0}",person);
}
catch {
//当输入的字符串内容不是工人,老师,学生其中一个时,将会提示错误
Console.WriteLine("您输入有误"); }
结构:
存储n个人的信息
语法: 访问修饰符 struct 结构名
{
定义结构成员
}
在结构中定义变量,前面必须用public修饰。
定义好结构后,就可以直接声明相应的变量,声明好变量后可以通过变量名.结构名,来访问结构成员。
数组:可以帮我们一次声明多个同类型的变量,这些变量是在内存中连续存储的
(1)语法:数据类型[] 数组名=new 数据类型(数组长度)
int[] score=new int[100]
(2)如何访问数组:通过下标来访问数组:数组名[编号]
要想第一个元素赋值为3 即score[0]=3
(3)Int类型的数组一旦被声明,里边的每一个元素被初始化为0
(4)通过数组名.Lengh可以获得数组的长度
(5)int[] nums={5,3,8}; 等价于int[] nums=new int[]{5,3,8}
定义了一个数组长度为3的nums数组, nums[0]=5,nums[1]=3,nums[2]=8
(6)求一个数组中的最大值、最小值以及总和
int[] score = { 1, 2, 3 };
int sum =0;
int max = score[0];
int min =score[0];
for (int i = 0; i < score.Length; i++)
{
if (score[i] > max) //将第i个元素和max比较,若是>,则把值赋给max
{
max = score[i];
}
if(score[0]将第i个元素和min比较,若是<</FONT>,则把值赋给min
{
min=score[i];
}
sum += score[i];
}
Console.WriteLine("最大值为{0},最小值为{1},和为{2}",max,min,sum);
(7)冒泡排序(小诀窍:若是需要从小大大输出,则交换时的控制条件为>,反之)
int[] num = { 11, 22, 33, 12, 23, 45, 88, 3, 4 };
for (int i = 0; i < num.Length - 1; i++) //控制趟数,共有num.Length-1趟
{
for (int j = 0; j < num.Length - 1 - i; j++) //控制次数,数组的下边是从0开始
{
if (num[j] > num[j + 1]) //按从小到大排序,交换值
{
int temp;
temp = num[j];
num[j] = num[j + 1];
num[j + 1] = temp;
}
}
}
for (int i = 0; i < num.Length; i++) //遍历输出
{
Console.WriteLine(num[i]);
}
5.变量的作用域:
(1)在方法中定义的变量称为局部变量,其作用域从定义开始,到其所在的大括号结束
(2)一个变量一旦定义在方法外,就叫做类的字段,这个变量可以被本类的所有方法访问;静态方法只可以访问静态字段,非静态方法可以访问静态字段和非静态字段
static void Main(string[] args)
{
{
int ss;
}
}此时除了里边的那层括号,变量ss就不能够再使用了
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
- 黑马程序员.net基础四
- 黑马程序员-------.net基础知识四
- 黑马程序员 基础(四)
- 黑马程序员-.Net基础1
- 黑马程序员-Net基础2
- 黑马程序员-net基础3
- 黑马程序员-Net基础4
- 黑马程序员__ADO.NET基础
- 黑马程序员-ADO.Net基础
- 黑马程序员--ado.net 基础
- 黑马程序员--ADO.Net基础
- 黑马程序员 .net基础二
- 黑马程序员.net基础三
- 黑马程序员.net基础五
- 黑马程序员.net基础六
- 黑马程序员.net基础七
- 黑马程序员.net基础八
- 黑马程序员.net基础九
- 黑马程序员.net基础三
- Nuance新App让你开车时听新闻
- MVC三层模(struts+spring+hibernate(SSH)总结
- android中创建数据库已经数据库的操作代码的封装
- Study-Hard-数据库连接及实现内部原理(下)
- 黑马程序员.net基础四
- 搞笑记事
- camera sensor readout position(flip/mirror)
- Hibernate总结
- 单击文本框选择日期,超玄
- 给mysql添加用户,并赋予相应的权限
- 传统制造业与互联网的结合
- .NET平台那些事
- 根据编号输出课程名称