黑马程序员-----踏踏实实基础C#基础(二)

来源:互联网 发布:windows 资源监视器 编辑:程序博客网 时间:2024/06/05 10:15

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

 While与do…..while的区别,while只有条件成立才执行循环体,dowhile无论条件成立与否,都至少要执行一次循环体。

         程序的调试,出错不可怕,可怕的是找不出错误在哪里。错误一般为编译错误和逻辑错误。程序调试的方法,是在有可能出现错误的代码前设置断点(断点:当程序运行到光标处,程序会停止)。设置后点击F5调试运行,可以使用逐语句(F10)或逐过程(F11)进行调试,查看局部变量,或快速监视中变量的变化。

         For循环与while循环的区别在于for和while在已知循环次数的情况下都可以使用,在未知循环次数的情况下,只能用while用做循环。

                   实例:

                   求100以内偶数和

                   Intsum=0;

For(i=1;i<=100;i++)                     //设置for循环,定义变量i从1开始,且大于等于100,递增

{

         If(i%2==0)

{

         Sum=sum+I;

}

}

Console.writeline(“1-100的偶数和为”+sum);

Console.readkey();

         循环的嵌套,由外循环控制,每次排序做了多少次移位,由内层循环控制。

Break和continue,break用于循环中,退出当前循环,与if语句匹配使用,当满足一定条件时,退出循环。可以用户switch-case判断中,用于跳出switch。Continue语句:程序一旦执行到continue语句立即结束本次循环(即就是不在执行continue下面的语句了),直接进行下一次循环(对于do-while/while循环,直接惊醒洗一次循环条件的判断,如果条件成立,则再次进入循环。 对于for循环,先执行表达式3,再判断循环条件是否成功)(着重理解下)

        

         小结:程序结构,在一个程序中有且只有一个主窗口(main),可分为顺序结构,分支结构,循环结构。Break和continue为跳转语句。

 

         常量枚举中,常量的定义为不可改变的变量。用法(const 类型常量名=常量值),常量与变量的区别在于赋值后不可改变。

         枚举,对变量进行一定的限定,在调用时只能读取我们限定的范围。定义类型,指定这个类型包含此类型所可能包含的值。语法(enum 自定义类型名{ 类型值1,类型值2,……})。枚举的定义,一般和类定义在同一级别,方便在同一命名空间下的所有的类调用枚举类型。

         枚举的作用:1、限制用户随意赋值,只能选择定义枚举时列举的值

                                     2、不需要特别记忆值

         注意:在定义枚举时,值不能为int\double等类型,但枚举类型的变量都可以强制转换为Int类型。枚举类型默认编号,第一个值默认为0,依次类推,故将枚举类型强转后,输出为强转默认值。当需要把string类型转换成枚举类型时,使用:

(自定义枚举类型名)(enum.parse(typeof(自定义的枚举类型名).”待转换的字符串”);

         结构体:1、解决存储多组信息问题

                            2、存储信息间无联系,避免重复

         结构也是一种类型。

         语法:

                   访问修饰符  struct 结构的名称

                                     {

                                                        定义结构成员(可包含变量和方法)

                                     }

         结构体声明完成后,可以直接声明相应的变量。可通过“变量名.成员名”来访问结构的成员。

         数组:存放声明多个变量,存储于连续的内存空间中。

         语法:

         数据类型[] 数组名= new 数据类型[数组长度]

         数组长度:为在数组中需要声明变量的个数。

例如:int [] age=new int[5];            //声明了一个长度为5的数组,里面包含了5个类型为Int的变量。通过数组名.length可以获得数组的长度。

         Console.clear();                 清屏后输入后面执行的代码结果

数组声明的方法:例如:int[]      nums={5,3,8};  //解释为声明时给数组赋值。nums[0]=5,num[1]=3,num[2]=8;

声明字符串数组:string [] name={“张三”,”李四”,”王五”};

数组的赋值与取值通过循环来编辑并输出。利用输出经常会遇到的问题有:求平均值,求最大值。求和以及排序。变量名.tostring()方法,所有类型都有.tostring()方法。

         Char类型和string类型数组在定义完成后,编译器不会对这两种数组中的元素进行初始化,而对于数字类型的数组,编译器会赋值为0;由于编译器对string类型初始化为null(空),所以在对数组进行.tostring()方法输出时,会提示报错,空不能输出。说明了null与0的区别。

         举例:string []moneys=new string[3];

                     Console.writeline(moneys[2].tostring);

                     Console.readkey();

         系统提示:未将对象引用设置到对象的实例。(在调用方法前通过检查确定对象是否为null)

冒泡排序

         将数组中的数值类型元素一一进行比较,进行大小排序。数组中,由于用数组中的首位元素开始一一对,比较时第一个逐个与后面数值进行比较,比较次数由第二个开始逐个进行,故比较次数为元素长度-1;

         例如:int []array={1,2,3,4,5}的比较与交换过程为:

         1       2       3       4       5                原始数据

         2       3       4       5       1                第一次比较交换

         3       4       5       2       1                第二次比较交换

         4       5       3       2       1                第三次比较交换

         5       4       3       2       1                第四次比较交换

冒泡排序的编辑方法:首先定义数组比较的循环次数。

For(i=0;i<array[n]-1)

利用循环嵌套将数组中的元素进行比较。

For(j=0;j<array[n]-1-I;i--)

定义判断语句,使得数组中最近的两个元素进行比较。

If(j[0]>j[n+1])

定义temp,变量存储比较后较大的值,使得变量位置发生变化。

从而实现数组中元素的排序。

 


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