C#学习笔记五(2018.6.20)

C Sharp

Anything one man can imagine, other men can make real.

for循环

我们在使用while循环或者do-while循环的时候,经常会忘记给循环变量自增,为了解决这个问题,我们有了更为简单的一种循环,叫做for循环,for循环专门处理已知循环次数的循环。

for(表达式1;表达式2;表达式3)
{
    循环体;
}
//表达式1:一般为声明一个循环变量,用来记录循环的次数。
//表达式2:一般为循环条件。
//表达式3:一般为能够改变循环条件的代码。

执行过程:在第一次循环的时候,首先执行表达式1,再执行表达式2,然后跳过表达式3.直接执行循环体,执行完循环体之后,执行表达式3,执行表达式2,循环体,表达式3,表达式2,循环体。。。。。直到表达式2不成立之后,跳出for循环。
:break只能够跳出当前循环,而不能跳出所有循环。

int.TryParse();

尝试着将一个字符串转换成int类型,如果转换成功的话,返回一个true,并且将转换成功后的值赋值给一个int类型的参数,如果转换失败的话,返回一个false,并且给这个int类型的参数赋值为0。

continue

在循环中,如果遇到break,则跳出当前循环。如果遇到continue,则立即停止本次循环,回到循环条件进行判断,如果循环条件成立,则继续执行循环。如果不成立,则跳出循环。单独把continue放到循环中没有意义,一般也跟着if语句配合着使用。

三元表达式

表达式1?表达式2:表达式3;
表达式1一般为一个关系表达式,如果关系表达式1的结果为true,那么表达式2的值就是整个三元表达式的值,否则,表达式3就是整个三元表达式的值。
要求:表达式2和表达式3的结果类型必须一致,并且也要和整个三元表达式的结果类型一致。

常量

const 常量类型 常量名称=值;

枚举

[public] enum 枚举名
{
    值1,
    值2,
    值3,
    ........
}

public:访问修饰符。访问的权限,公开的,公共的,谁都能访问。
enum:表示声明枚举的关键字。
枚举名:必须要Pascal命名规范。每个单词的首字母都要大写。
枚举类型和int类型互相兼容,所以两种类型可以通过强制类型转换的语法互相转换。
枚举类型的值默认是从0开始的。
:不管是将字符串类型的数字转换成枚举类型还是将int类型转换成枚举类型,结果都不会抛异常。但是,如果要转换的字符串,在枚举中,并没有所对应的值,这个时候会抛异常。

结构

一次性声明多个不同类型的变量

[public] struct 结构名
{
    结构成员;
}

字段跟变量有一个本质的区别:字段可以存储多个值,而变量只能存储一个值。

数组

数组类型[] 数组名=new 数组类型[数组长度];
注意:数组的长度一旦声明了,就不能再被改变了。

声明数组的几种方式

推荐
1. int[] nums = new int[10];
2. int[] nums = {1, 2, 3, 4, 5};
不推荐
3. int[] nums = new int[4]{1, 2, 3, 4};
4. int[] nums = new int[]{1, 2, 3, 4}

今日代码

namespace ABC_Low_Level3
{
    //枚举类型
    public enum QQstate
    {
        OnLine,
        OffLine,
        Leave,
        Busy,
        Qme
    }

    //结构类型
    public struct Person
    {
        public string _name;
        public int _age;
        public char _gender;
    }

    class Program
    {
        static void Main(string[] args)
        {
            /*2018.06.20--->for循环
             * 传智播客基础班第五天
             */

            //求水仙花数:100-999
            for (int i = 100; i <= 999; i++)
            {
                //求百位
                int a = i / 100;
                //求十位
                int b = (i % 100) / 10;
                //求个位
                int c = i % 10;
                int multi = (a * a * a) + (b * b * b) + (c * c * c);
                if (i == multi)
                {
                    Console.WriteLine(i);
                } 
            }
            Console.ReadKey();


            //打印乘法口诀表
            for (int i = 1; i < 10; i++)
            {
                for (int j = 1; j < 10; j++)
                {
                    int q = 0;
                    Console.Write("{0}*{1}={2}\t",i,j,q);
                }
                Console.WriteLine();
            }
            Console.ReadKey();


            //打印1-100之间所有的质数
            for (int i = 2; i <= 100; i++)
            {
                bool b = true;
                for (int j = 2; j < i; j++)
                {
                    if (i % j == 0)
                    {
                        b = false;
                        break;
                    }
                }
                if (b)
                {
                    Console.WriteLine(i);
                }
            }
            Console.ReadKey();


            //将枚举类型转换为int类型
            int n1 = (int)QQstate.OnLine;
            Console.WriteLine(n1);
            Console.WriteLine((int)QQstate.OffLine);
            Console.ReadKey();

            //将int类型转换为枚举类型
            int y1 = 1;
            QQstate s1 = (QQstate)y1;
            Console.WriteLine(s1);
            Console.ReadKey();

            //将枚举类型转换为字符串类型,调用Tostring()
            QQstate s = QQstate.OnLine;
            Console.WriteLine(s.ToString());
            Console.ReadKey();

            //将字符串类型转换为枚举类型
            QQstate e1 = (QQstate)Enum.Parse(typeof(QQstate), "1");
            Console.WriteLine(e1);
            Console.ReadKey();


            //首先声明一个结构类型的变量
            Person zsPerson;
            zsPerson._name = "张三";
            zsPerson._age = 19;
            zsPerson._gender = '男';
        }
    }
}

猜你喜欢

转载自blog.csdn.net/cch860846552/article/details/80750543