冻冻玖  

       C#语法快速热身

选择结构(与java结构语法的用法完全一样)

If结构

if(条件)

{

         代码块

}

 

If-else选择结构

 

多重if

If-else if -else

 

嵌套if

If(条件)

{

         If(条件)

         {

 

}

}

Else

{

        

}

 

Switch(条件)

{

         Case 常量表达式1:

                   语句

                   Break;

Case 常量表达式n:

                   语句

                   Break;

         Default:

语句

                   Break;

}

 

 

数组与循环

一维数组

语法:数组类型[ ] 数组名; -------int[ ] arry;

1)  数组类型[ ] 数组名 = new 数组类型[数组长度];

2)  数组类型[ ] 数组名 = new 数组类型[ ]{值1,值n};

3)  数组类型[ ] 数组名 = {值1,值n};

获取数组长度使用:数组名.Length(同java中一样下标从0开始,C#中叫“索引”)

 

XXXXXX-----Int [] srry = new int[5]{0,1,2};// 声明并初始化一维数组

 

Java中:错误

Int[ ] num = new int[3]{1,2,3};

 

 

1)  数组类型[ ] 数组名 = new 数组类型[数组长度];

2)  数组类型[ ] 数组名 = new 数组类型[数组长度]{值1,值n};

3)  数组类型[ ] 数组名 = {值1,值n};

 

C#

Int[ ] num = new int[3]{1,2,3};

 

 

对象数组

讲所有的信息都保存到某个对象中

// 创建Student对象数组,定义3个人

            Student[] stu = new Student[3];

 

            // 实例化

            stu[0] = new Student();

            stu[0].name = "狗蛋";

            stu[0].score = 0;

 

            stu[1] = new Student();

            stu[1].name = "张三";

            stu[1].score = 0.1;

 

            stu[2] = new Student();

            stu[2].name = "李四";

            stu[2].score = 100;

 

            Console.WriteLine("学员的信息为:");

 

            foreach (Student item in stu)

            {

                item.showInfo();

            }

 

            Console.ReadKey();

 

学员类

public string name;

        public double score;

        public void showInfo()

        {

            Console.WriteLine("姓名:" + name + "\t成绩 : " + score);

        }

 

 

循环结构

Java中的循环while------do-while------for----foreach(for)

 

 

C#中的循环

While(条件){代码块}

注:先判断条件是否成立,在进行循环

 

Do-while(条件){代码块}

注:先循环,在判断是否成立

 

For(表达式1; 表达式2; 表达式3){代码块}

注:1---2---代码块---3

 

Foreach(元素类型 元素的变量名 in 数组){代码块}

对比java中的for()

Int arry[] = {1,3,2};

System.out.println(“-------------------à”);

For(int a :arry){

         Syso(a);

}

++I  &&  i++

 

Foreach不能改变数组中的元素

数组名++

Foreach遍历----》失败

Console.WriteLine("请输入字符串:");

            string strings = Console.ReadLine();

            foreach (var item in strings)

            {

                Console.WriteLine(item);

            }

 

            Console.ReadKey();

                       

 

 

跳转语句:

Break:跳出整个循环,不执行

Continue:跳出本次循环,继续执行下一次,直到循环结束

 

 

 

冒泡排序

越小的值冒泡越高

 

框架

For(I = 0;i<N-1;i++)

{

         For(j = 0; j<N-1-I;j++)

         {

                   交换的步骤  

}

}

 

 

冒泡排序口诀(升序)

N个数来排队

两两相比小靠前

外层循环N-1

内层循环N-1-i

 

            // 长度为5的int类型数组

            int[] score = new int[5];

 

            int i, j;// 循环变量  i比较的轮数   j比较的次数

            int temp;// 临时变量

 

            // 读入成绩

            Console.WriteLine("输入5个人的成绩:");

            for (i = 0; i < 5; i++)

            {

                Console.WriteLine("请输入第{0}位人的成绩:", i + 1);

                // 类型转换

                score[i] = int.Parse(Console.ReadLine());

            }

 

            // 开始排序

            // 索引   0  1   2   3   4

            // 值     2  3   4   5   6

            // 第一遍i == 0

            // 第二轮i == 1

            // 第三轮i == 2

            // 第四轮i == 3

            for (i = 0; i < score.Length - 1; i++)// 外层循环终止条件:数组长度-1

            {

                // 内层循环终止条件:数组长度 - 1 - i

                // 索引   0  1   2   3   4

                // 值     2  3   4   5   6

                //              j < 4

                //              j < 3

                //              j < 2

                //              j < 1

                for (j = 0; j < score.Length - 1 - i; j++)

                {

                    // 判断

                    if (score[j] > score[j + 1])

                    {

                        // 元素交换

                        temp = score[j];

                        score[j] = score[j + 1];

                        score[j + 1] = temp;

                    }

                }

            }

            Console.WriteLine("排序后的成绩:");

            for (i = 0; i < 5; i++)

            {

                Console.WriteLine("{0}\t", score[i]);

            }

 

 

            Console.ReadLine();

 

 

 

小到大、大到小

// 定义一个数组

            int[] nums = new int[]{1,2,3,4,5,6,7,8,9};

            int temp = 0;

            // 从小到大

            for (int i = 0; i < nums.Length - 1; i++)

            {

                for (int j = 0; j < nums.Length-1-i; j++)

                {

                    if (nums[j] > nums[j + 1])

                    {

                        temp = nums[j];

                        nums[j] = nums[j + 1];

                        nums[j + 1] = temp;

                    }

                }  

            }

            foreach (var item in nums)

            {

                Console.Write(item + " ");

            }

 

 

            Console.WriteLine(" ");

 

            // 从大到小

            for (int i = 0; i < nums.Length - 1; i++)

            {

                for (int j = 0; j < nums.Length - 1 - i; j++)

                {

                    if (nums[j] < nums[j + 1])

                    {

                        temp = nums[j];

                        nums[j] = nums[j + 1];

                        nums[j + 1] = temp;

                    }

                }

            }

            foreach (var item in nums)

            {

                Console.Write(item + " ");

            }

 

 

 

Var可以理解为匿名类型,认为他是一个变量的占位符,一个数组的类型

特点:

1)必须在定义是初始化(var s = “abc”;    不能:var s; s = “aaaa”)

2)一旦初始化完成,就不能再给变量赋值与初始化

3)var要求的是局部变量

4)var和Object不同,他在效率上和使用强制类型方式定义变量一样

// 声明并赋初始值

            var name = "张三";

            var age = 10;

            var sex = true;

 

            // 获取变量的数据类型

            Type t_Name = name.GetType();// string

            Type t_Age = age.GetType(); // int

            Type t_Sex = sex.GetType(); // bool

 

            // 打印结果

            Console.WriteLine("变量name的类型是{0}\n,变量age的类型是{1}\n,变量sex的类型是{2}", t_Name.ToString(), t_Age.ToString(), t_Sex.ToString());

 

            // 不自动关闭,等待用户输入

            Console.ReadLine();

 

posted on 2018-01-10 16:46  醉里挑灯看码  阅读(232)  评论(0编辑  收藏  举报