C#流程控制语句的学习

1、C#中的断点调试
        
    (1)断点调试的作用:
            通过断点调试,可以查看程序执行的具体过程。F11  查看下一步
            如果有错误的时候,我们可以通过debug模式,断点调试,找变量变化,及错误原因。
    (2)断点调试第一步:打断点
            在我们CS结尾的编码文件中,最左侧行号前,可以双击鼠标打断点。
            
    (3)断点调试第二步:运行debug模式
            按F11 逐步查看程序运行结果,最后使用完断点调试,别忘记双击取消断点。
            
        注意:    在运行程序的时候 
                    不要用CTRL+ f5模式运行,此模式只执行程序,不调试程序。

2、同一个解决方案下面,创建多个项目

        (1)添加项目
        
                选中解决方案,右键——>添加——>项目——>visual C#项目——>控制台应用程序
        
        (2)多个项目,如何指定某个项目运行。
        
                选中想要执行的项目,右键——> 设置为启动项目
                
        (3) 如何默认打开的项目变成启动项目,启动项,自动切换。
        
                选择解决方案——>右键,选择属性——> 启动项——>当前打开的项目启动。

3、运行当前选定项目

        选择解决方案——>右键,选择属性——> 启动项——>当前打开的项目启动。


    
4、C#中的 字符串拼接,及占位符

    (1) +  加号,在与字符串相加的过程中,是字符串拼接的作用。
     
    (2)C# 也可以用占位符的方式来进行,字符串的拼接。
    
            在字符串中用大括号,来做占位{}
        
            大括号中,需要填写后面对应要拼接变量的 索引占位。从0开始递增。
        
        例如:
            string name = "张三";
             int age = 13;
            char sex = '男';
            //用+号来进行的字符串的拼接。
            Console.WriteLine("我的名字是:"+name+",我的年龄是"+age+",我的性别是:"+sex);
            //用占位符的方式,进行字符串的拼接。
            Console.WriteLine("我的名字是:{0},我的年龄是:{1},我的性别是:{2}",name,age,sex);


    (3)占位符高级用法--限定数据有效位数
            
            //占位符的,格式约束。
            double d = 10*1.0 / 3;
            Console.WriteLine("d的值是:{0:0.00}",d);
            
            占位符,要求格式0索引位置的占位变量,需要遵循0.00的格式:
            {0:0.00}    


5、C#中的转义字符 

        \n        换行
        \t        缩进一个tab键位
        \"        转义双引号显示
        \\      转义\显示 (一般用于地址路径)
        \'        转义单引号
        \b        转义一个退格键  
                                /前提是,你使用这个\b退格的转义效果。
                                //不能在字符串,最前面,和最后面使用。
        \r\n    换行的效果 winform应用程序,显示效果时候用。
        
        @符号的两个作用

        (1)在C#中,可以取消转义效果。
             用@ 符号产生效果
                例如:        
            string path = @"D:\work_code_space\visual_studio2013_install_Space";
            Console.WriteLine(path);
        
        (2)在C#中,@符号,可以让我们的内容,按照原格式输出。
                @符号,可以控制输出语句中的内容,原格式输出
                
                例如:
        
                    Console.WriteLine(@"今天天气好晴朗,            
            
                    处处好风光!");


6、C#中的运算符问题
    
    1、算数运算符
        + - * / %  ++ --
    
    2、比较运算符(关系运算符)
        > <  >=  <=  ==  !=
    
    3、赋值运算符
            =
            +=
            -=
            *=
            /=
            %=    
    
    4、逻辑运算符
        &        两遍都满足才是true
        |        其中一个满足,就是true
        !        true变为false false 变成true,结果取反        
        ^        相同为false ,不同为true
        &&        两遍都满足才是true,如果判断第一个为false,就不继续判断了
        ||        其中一个满足,就是true,第一个为true了,就不继续判断了。
    

7、C#中如何封装类,和创建对象
        创建一个Student类。
            选择项目——>右键——>添加——>类
            
            定义好学生类,
                可以在里面写属性和方法。
                public string name;
                public int age;
            
                使用学生类。
                    Student s = new Student();
                  s.name = "张三";      //分别给student对象,的姓名和年龄赋值。
                s.age = 13;

                //输出打印,学生的姓名,和年龄。
                Console.WriteLine("学生的名字是:{0},学生的年龄是:{1}",s.name,s.age);

                Console.ReadKey();
    


8、C#中的流程控制语句

    代码执行顺序:
        1、文档流顺序,从上到下,从左到右
        2、选择流程语句,根据判断,来执行对应代码块。
            (1)if语句
                的三种结构:
                    结构一: if(判断条件){ 满足判断条件要执行的代码}
                    结构二: if(判断条件){满足判断条件要执行的代码} else{不满足判断条件要执行的代码}
                            第二种if语句格式,可以和三元表达式互换:
                        
                        三元表达式:判断表达式? 结果1: 结果2;
                        
                    结构三: if(判断条件1){满足判断条件1要执行的代码}else if(判断条件2){满足判断条件2要执行的代码} else{以上条件都不满足的时候,执行的代码}                
        
            (2) switch
            
                    基本结构:
                        switch(匹配的变量或者表达式)
                        {
                        case 具体的值1:
                                满足匹配条件1,要执行的代码;
                        
                                break;
                        case 具体的值2:
                            满足匹配条件2,要执行的代码;
                    
                            break;
                        default :
                        
                            break;
                        }
        
                    注意: 在C#中,switch语句,里面的所有break不能省略!
                            所有switch 中 case 匹配的值,不能重复。
                            

3、循环流程语句,按照循环条件,循环执行代码。

        (1)for循环
            for循环的 基本结构:    
            
                for(初始化条件;判断条件;控制条件)
                {
                    循环执行的代码;
                
                }    
        
        (2)while 循环
                while循环的基本结构:
                
                初始化条件;
                while(判断初始化条件){
                    要循环执行的代码;
                    控制条件;
                }
                        
        
        
        (3)do while 循环。
        
                do while 循环基本结构:
                
                初始化条件;
                do
                {
                    要循环执行的代码;
                    控制条件;
                }while(判断条件);
        
        
        练习: 分别用for 循环,while 循环,和do while 循环,来求1--100的和;

9、C#中的数组 数组的声明
        初始化数组:
            静态初始化:数组类型[] 数组名 = {元素1,元素2,元素3……};
            动态初始化:数组类型[] 数组名 = new 数组类型][数组大小];

            C#中可以动静结合方式初始化数组; 但是开辟空间不可冲突!
                数组类型[] 数组名 = new 数组类型[]{元素1,元素2……};
                数组类型[] 数组名 = new 数组类型[3]{元素1,元素2,元素3};
        、、
        
        
        高级for循环,专门用来操作遍历数组和集合的。
            高级for循环的语法结构:
            
                foreach (元素类型 元素的名字 in 要遍历的数组名  )
                {
                        可以通过元素名字的引用,操作每个元素了。
                }
        


10、引用数据类型的 对象数组
        Student类的封装
            属性和方法
            name 
            age
            
            如果没有自定义构造方法,系统会默认给无参构造
            属性的get 和set 方法
            study()
            toString()方法
        
        然后创建student多个对象,存到 对象数组中,遍历数组查了看元素。
        
    

11、数组的高级排序算法,冒泡排序。
        int[] arr = {2,4,63,12,77,99};
    
        通过冒泡排序实现。

    练习:
             //定义一个数组
            int[] arr = { 22,333,11,55,23};

            //外层循环控制比较几轮。
            for (int i = 0; i < arr.Length-1; i++)
            {   //内层循环,决定要比较次数,比较次数不断减少。
                //因为每一轮都排出一个最大的在最后了, 没必要再次比较。
                for (int j = 0; j < arr.Length-1-i; j++)
                {
                    //让两个相邻 元素进行比较。升序,大的往后放
                    if (arr[j] > arr[j + 1]) {
                        int temp = arr[j];  //定义零时变量 把arr[j]赋值
                        arr[j] = arr[j+1];  
                        arr[j + 1] = temp;
                    }
                }
            }
            //通过高级for循环,foreach 来遍历数组,查看排序结果。
            foreach (int a in arr)
            { 
                Console.Write(a+" ");
            }
            Console.ReadKey();

    数组工具类,实现排序:
            
            Array.Sort(arr);
    

12、异常的捕获

        用异常捕获机制,来处理可能会出现错误的代码
        
        基本结构:
            try
            {
                可能会出现问题的代码;
            }
            catch
            {
                如果try 里面的代码出现了问题,我们在catch中做那些处理;
            }


13、其他数据类型的转换问题,隐式,显示,字符串和其他类型转换。
        相同数据类型的数据才能转换。
        
        int ——> double   隐式转化
        double ——> int      显示转换 强制转换。

    
        字符串类型,和其他类型的转换。
        int a = int.parse("123");

        Convert这个类,就是转化工具类。
            
            Convert.ToInt32("222");
            Convert.ToDouble("2.344");

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值