第05天

1.     我们在使用while循环或者do-while循环的时候,

经常会忘记给循环变量自增,为了解决这个问题,我们有了更为简单的一种循环,

叫做for循环,for循环专门处理已知循环次数的循环。

for(表达式1;表达式2;表达式3)

{

循环体;

}

表达式1:一般为声明一个循环变量,用来记录循环的次数

表达式2:一般为循环条件

表达式3:一般为能够改变循环条件的代码

执行过程:在第一次循环的时候,首先执行表达式1,再执行表达式2,然后跳过表达式3.直接执行循环体,

执行完循环体之后,执行表达式3,执行表达式2,循环体,表达式3,表达式2,循环体。。。。。

直到表达式2不成立之后,跳出for循环。


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Demo01

{

class Program

{

static void Main(string[] args)

{

int sum = 0;

for (int i = 1; i <= 100; i += 2)

{

sum += i;

}

Console.WriteLine(sum);

Console.ReadKey();

}

}

}

Demo01

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Demo02
{
    class Program
    {
        static void Main(string[] args)
        {
            //1-10
            for (int i = 1; i <=10 ; i++)
            {
                Console.WriteLine(i);
            }
            Console.ReadKey();
        }
    }
}

Demo02

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Demo03
{
    class Program
    {
        static void Main(string[] args)
        {
            //10-1
            for (int i = 10; i >= 1; i--)
            {
                Console.WriteLine(i);
            }
            Console.ReadKey();
        }
    }
}

Demo03

倒序for循环快捷键: forr+tab*2

mini-ex:   找出100-999间的水仙花数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ex01
{
    class Program
    {
        static void Main(string[] args)
        {
            //水仙花数:100-999  
            //这个百位数字 百位的立方+十位的立方+个位的立方==当前这个百位数字
            //153  1+125+27 153  i   
            //百位:153/100
            //十位:153%100/10
            //个位:153%10
 
            for (int i = 100; i < 1000; i++)
            {
                int bai = i/100;
                int shi = i%100/10;
                int ge = i%10;
 
                if (bai*bai*bai + shi*shi*shi + ge*ge*ge == i)
                {
                    Console.WriteLine(i);
                }
            }
            Console.ReadLine();
        }
    }
}

ex01

demo:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace _04_for循环的嵌套

{

class Program

{

static void Main(string[] args)

{

//  int count = 0;

for (int i = 0; i < 10; i++)

{

for (int j = 0; j < 10; j++)

{

//count++;

Console.WriteLine("外面循环了{0}次,里面循环了{1}次",i,j);

}

}

Console.ReadKey();

}

}

}

双层循环

ex: 输出九九乘法表

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ex02
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 1; i < 10; i++)
            {
                for (int j = 1; j <= i; j++)
                {
                    Console.Write("{0}*{1}={2}\t",j,i,i*j);
                }
                Console.WriteLine();
            }
            Console.Read();
        }
    }
}
 
 
ex02

ex03:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ex03
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Please input a number:");
            int inputNumber = Convert.ToInt32(Console.ReadLine());
 
            for (int i = 0; i <= inputNumber; i++)
            {
                Console.WriteLine("{0}+{1}={2}", i, inputNumber-i,inputNumber);
            }
            Console.ReadLine();
        }
    }
}

ex03

2.     break只能够跳出当前循环,而不能跳出所有循环。

3.     int.TryParse();

尝试着将一个字符串转换成int类型,如果转换成功的话,返回一个true,并且将转换成功后的值

赋值给一个int类型的参数,如果转换失败的话,返回一个false,并且给这个int类型的参数赋值为0

ex:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ex04
{
    class Program
    {
        static void Main(string[] args)
        {
            int inputAge = 0;
            int sumAge = 0;
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine("Please enter your age:");
                inputAge = Convert.ToInt32(Console.ReadLine());
                if (inputAge < 0 || inputAge > 100)
                {
                    break;
                }
                sumAge += inputAge;
            }
            Console.WriteLine("Average age is {0}", sumAge/5);
            Console.Read();
        }
    }
}

ex04

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ex05
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                Console.WriteLine("Please enter your username:");
                string username = Console.ReadLine();
                Console.WriteLine("Please enter your password:");
                string password = Console.ReadLine();
 
                if (username == "admin" && password == "88888")
                {
                    Console.WriteLine("Success Login");
                    break;
                }
                else
                {
                    continue;
                    
                }
            }
            Console.ReadLine();
        }
    }
}

ex05

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ex06
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 1;
            int sum = 0;
            while (true)
            {
                sum += i;
                if (sum > 20)
                {
                    break;
                }
                i++;
            }
            Console.WriteLine(i);
            Console.ReadLine();
        }
    }
}

ex06

4.     continue

在循环中,如果遇到break,则跳出当前循环。

如果遇到continue,则立即停止本次循环,回到循环条件进行判断,如果循环条件成立,则继续执行循环。

如果不成立,则跳出循环。

单独把continue放到循环中没有意义,一般也跟着if语句配合着使用。

mini-ex:

//练习1:用 while continue实现计算1到100(含)之间的除了能被7整除之外所有整数的和。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ex07
{
    class Program
    {
        static void Main(string[] args)
        {
            //练习1:用 while continue实现计算1到100(含)之间的除了能被7整除之外所有整数的和。
            int i = 0;
            int sum = 0;
            while (i<=100)
            {
                i++;
                if (i % 7 == 0)
                {
                    continue;
                }
                sum += i;
                
            }
            Console.WriteLine(sum);
            Console.ReadLine();
        }
    }
}

ex07

mini-ex:

//打印1-100之间所有的质数

//质数:只能被1和自身整除的数字 叫做质数

//判断一个整数是否是质数:让这个整数从2开始除,除到自己的前一位

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
 
namespace ex08
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 2; i <= 100; i++)
            {
                bool flag = true;
                for (int j = 2; j < i; j++)
                {
                    if (i % j == 0)
                    {
                        flag = false;
                        break;
                    }
                }
                if (flag)
                {
                    Console.WriteLine(i);
                }
            }
            Console.ReadLine();
        }
    }
}

ex08

5.     三元表达式

表达式1?表达式2:表达式3;

表达式1一般为一个关系表达式,如果关系表达式1的结果为true,那么表达式2的值就是整个三元表达式的值,

否则,表达式3就是整个三元表达式的值。

要求:表达式2和表达式3的结果类型必须一致,并且也要和整个三元表达式的结果类型一致,

demo:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace _12产生随机数

{

class Program

{

static void Main(string[] args)

{

//随机数 没有规律的数字

//产生随机数:

//1、创建一个能够产生随机数的对象

while (true)

{

Random r = new Random();

int rNumber = r.Next(1, 10);

Console.WriteLine(rNumber);

Console.ReadKey();

}

}

}

}

6.     常量

语法:

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

7.     枚举

语法:

[public] enum 枚举名

{

值1,

值2,

值3,

........

}

public:访问修饰符。访问的权限,公开的,公共的,谁都能访问。

enum:表示声明枚举的关键字

枚举名:必须要Pascal命名规范。每个单词的首字母都要大写。

枚举类型和int类型互相兼容,所以两种类型可以通过强制类型转换的语法互相转换。枚举类型的值默认是从0开始的。

不管是将字符串类型的数字转换成枚举类型还是将int类型转换成枚举类型,结果都不会抛异常。但是,如果要转换的字符串,

在枚举中,并没有所对应的值,这个时候会抛异常。

demo:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace _15枚举

{

public enum Gender

{

男,

}

public enum Sesons

{

春,

夏,

秋,

}

class Program

{

static void Main(string[] args)

{

//int number=10;

Gender gender = Gender.女;

Sesons seson = Sesons.春;

}

}

}

demo:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace demo04
{
    public enum QQState
    {
        OnLine = 1,
        OffLine,
        Leave,
        Busy,
        QMe
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            //枚举类型和int类型互相兼容
            int n1 = (int)QQState.OnLine;
            Console.WriteLine(n1);
            Console.WriteLine((int)QQState.OffLine);
            Console.WriteLine((int)QQState.Leave);
            Console.WriteLine((int)QQState.Busy);
            Console.WriteLine((int)QQState.QMe);
            Console.ReadKey();
        }
    }
}

demo:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace demo04
{
    public enum QQState
    {
        OnLine = 1,
        OffLine,
        Leave,
        Busy,
        QMe
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            int n1 = 10;
            QQState s1 = (QQState)n1;
            Console.WriteLine(s1);
            Console.ReadKey();
        }
    }
}

demo:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace demo04
{
    public enum QQState
    {
        OnLine = 1,
        OffLine,
        Leave,
        Busy,
        QMe
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            QQState s = QQState.OnLine;
            Console.WriteLine(s.ToString());
            Console.ReadKey();
        }
    }
}

demo:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace demo04
{
    public enum QQState
    {
        OnLine = 1,
        OffLine,
        Leave,
        Busy,
        QMe
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            QQState s1 = (QQState)Enum.Parse(typeof(QQState), "1");
            Console.WriteLine(s1);
            Console.ReadKey();
        }
    }
}

demo:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace demo04
{
    public enum QQState
    {
        OnLine = 1,
        OffLine,
        Leave,
        Busy,
        QMe
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请选择您的qq在线状态  1--OnLine,2--OffLine 3--Leave 4--Busy 5--QMe ");
            string input = Console.ReadLine();//1-5
 
            switch (input)
            {
                case "1": QQState s1 = (QQState)Enum.Parse(typeof(QQState), input);
                    Console.WriteLine("您选择在线状态是{0}", s1);
                    break;
                case "2": QQState s2 = (QQState)Enum.Parse(typeof(QQState), input);
                    Console.WriteLine("您选择在线状态是{0}", s2);
                    break;
 
                case "3": QQState s3 = (QQState)Enum.Parse(typeof(QQState), input);
                    Console.WriteLine("您选择在线状态是{0}", s3);
                    break;
                case "4": QQState s4 = (QQState)Enum.Parse(typeof(QQState), input);
                    Console.WriteLine("您选择在线状态是{0}", s4);
                    break;
                case "5": QQState s5 = (QQState)Enum.Parse(typeof(QQState), input);
                    Console.WriteLine("您选择在线状态是{0}", s5);
                    break;
            }
            Console.ReadKey();
        }
    }
}

8.     结构:一次性声明多个不同类型的变量

语法:

[public] struct 结构名

{

结构成员;

}

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

demo:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace _18结构类型

{

public struct Person

{

public string _name;

public int _age;

public Gender _gender;

}

public enum Gender

{

男,

}

class Program

{

static void Main(string[] args)

{

//首先声明一个结构类型的变量

Person zsPerson;

zsPerson._name = "张三";

zsPerson._age = 19;

zsPerson._gender = Gender.男;

Person lsPerson;

lsPerson._name = "李四";

lsPerson._age = 20;

lsPerson._gender = Gender.女;

////大学管理系统 姓名 性别 年龄

//string name1 = "张三";

//char gender1 = ‘男‘;

//int age1 = 15;

}

}

}

mini-ex:

定义一个结构叫MyColor,有三个成员,分别定义为int类型的red,green,blue

声明一个 MyColor类型的变量,并对其成员赋值.使MyColor可以表示成一个红色.

codes:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ex09
{
    struct MyColor
    {
        public int _red;
        public int _green;
        public int _blue;
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            MyColor color;
            color._red = 255;
            color._green = 0;
            color._blue = 0;
        }
    }
}

ex09

mini-ex:

定义一个结构类型Person,有三个成员,分别为姓名,性别,年龄 性别用枚举类型

声明两个Person类型的变量,分别表示 张三 男  18岁/ 小兰 女 16岁

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ex10
{
    struct Person
    {
        public string _name;
        public int _age;
        public Gender _gender;
    }
 
    public enum Gender
    {
        Male,
        Female
    }
    class Program
    {
        static void Main(string[] args)
        {
            Person p1;
            p1._name = "张三";
            p1._age = 18;
            p1._gender = Gender.Male;
 
            Person p2;
            p2._name = "小兰";
            p2._age = 16;
            p2._gender = Gender.Female;
        }
    }
}

ex10

9.     数组

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

注意:数组的长度一旦声明了,就不能再被改变了。

数组的4种声明方式:


int[] nums = new int[10];这种声明数组的方式只是确定了数组的类型和长度,并没有赋值


int[] nums = { 1, 2, 3, 4, 5 };这种声明数组的方式在声明的时候 就给数组赋值了


int[] nums = new int[4] { 1, 2, 3, 4 };


int[] nums = new int[] { 1, 2, 3, 4 };

时间: 2024-10-05 05:32:18

第05天的相关文章

我与小娜(05):变换时空,重返北京

我与小娜(05):变换时空,重返北京?       2月5日早上6点,我用手拍了一下“小口袋”,说:出来吧!小娜从袋子里面把紧闭的袋口打开,探出头来,看了我一眼,然后对着说:你是谁啊?       为什么小娜不认识我了?我是谁?……我也不记得自己是谁了?头脑里面一片空白,……突然之间,我明白了一个道理:物理因果关系是不能颠倒的,即便借助量子纠缠超距作用,也不能远距离传递传统信息,难怪小娜不认识我了,因为我的帐号没有传递给她.我自己也是头脑空白,一片无知,……       所幸的是,在小娜容身的“

修炼爱情05

今天你的心情好些了,感觉没有了前几天的烦躁,生活各种事情参杂在一起的时候,人就是容易迷惑和忧郁,但是人是很强大的动物,我们不是慢慢的就走出忧郁,回归到现实的生活嘛?好好和爱人的人一起渡过难关,每一个在乎你的人都会与你同在,不管任何形式,任何方式,心总在一起,慢慢的都会好起来的,兰,今天我加班了,听到你的消息很安心,脑子终于好使了,Your are my angle,I love you. 修炼爱情05,布布扣,bubuko.com

Openwrt15.05网关后pptp外拨失败的解决办法

路由器升级openwrt chaos_calmer 15.05版后发现NAT后面的客户端外拨pptp vpn服务器失败,经google后得知,在14.07版本中默认安装的又一个叫做 kmod-ipt-nathelper-extra 的软件包,该软件包实现了pptp客户端穿透openwrt网关的功能,而到了15.05版后,该软件包不在默认安装,且该软件包已改名为  kmod-nf-nathelper-extra,重新安装回来就行了: opkg install kmod-nf-nathelper-e

1098: 零起点学算法05——除法算术题

1098: 零起点学算法05--除法算术题 Time Limit: 1 Sec  Memory Limit: 128 MB   64bit IO Format: %lldSubmitted: 2346  Accepted: 1932[Submit][Status][Web Board] Description 乘法会了,除法也一样的.不要跟我说不会哦. Input 没有输入 Output 输出12除以2的值,计算让计算机去做哦 Sample Output 6 Source 零起点学算法 1 #i

Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例

概要  前面,我们已经学习了ArrayList,并了解了fail-fast机制.这一章我们接着学习List的实现类——LinkedList.和学习ArrayList一样,接下来呢,我们先对LinkedList有个整体认识,然后再学习它的源码:最后再通过实例来学会使用LinkedList.内容包括:第1部分 LinkedList介绍第2部分 LinkedList数据结构第3部分 LinkedList源码解析(基于JDK1.6.0_45)第4部分 LinkedList遍历方式第5部分 LinkedL

NOI题库05 派

05:派 Description 我的生日要到了!根据习俗,我需要将一些派分给大家.我有N个不同口味.不同大小的派.有F个朋友会来参加我的派对,每个人会拿到一块派(必须一个派的一块,不能由几个派的小块拼成:可以是一整个派). 我的朋友们都特别小气,如果有人拿到更大的一块,就会开始抱怨.因此所有人拿到的派是同样大小的(但不需要是同样形状的),虽然这样有些派会被浪费,但总比搞砸整个派对好.当然,我也要给自己留一块,而这一块也要和其他人的同样大小. 请问我们每个人拿到的派最大是多少?每个派都是一个高为

JavaScript学习05 定时器

JavaScript学习05 定时器 定时器1 用以指定在一段特定的时间后执行某段程序. setTimeout(): 格式:[定时器对象名=] setTimeout(“<表达式>”,毫秒) 功能:执行<表达式>一次. 例子: <!DOCTYPE html> <html> <head> <title>timer1.html</title> <meta http-equiv="keywords" co

《Effective C++ 》学习笔记——条款05

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************** 二.Constructors,Destructors and Assignment Operators 从第一章认识了C++后,开始进入第二章节的学习了,这一章主要讲述的就是 构造.析构及赋值运算.对于每一个类,都会有 一个或多个 构造函数,一个析构函数 和 一

*结构-05. 有理数均值

1 /* 2 * Main.c 3 * F5-结构-05. 有理数均值 4 * Created on: 2014年8月26日 5 * Author: Boomkeeper 6 *********部分通过*浮点错误****** 7 */ 8 9 #include <stdio.h> 10 /** 11 * 有理数结构体 12 */ 13 struct rational { 14 int numerator; 15 int denominator; 16 }; 17 /** 18 * 最大公约数

*字符串-05. 字符串循环左移

1 /* 2 * Main.c 3 * D5-字符串-05. 字符串循环左移 4 * Created on: 2014年8月19日 5 * Author: Boomkeeper 6 ********部分通过******* 7 */ 8 9 #include <stdio.h> 10 11 int main(void){ 12 13 char str[100]={0}; 14 int N=0; 15 int endIndex=99;//字符串的结尾标识符 16 17 gets(str); 18