zoukankan      html  css  js  c++  java
  • 循环结构

    赋值语句

    赋值语句进行赋值操作,就是给变量或常量赋值。

    例如:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
    
                double x;    //定义一个double型变量x
                int y = 3;   //定义一个int型变量y,让y的值为3,可以读为把3赋给y
                int z = 8;   //定义一个int型变量z,让z的值为8
                x = y + z + Math.Sin(3.65);  //将表达式的结果赋给x,Math.Sin是使用Math类库中的Sin方法求正弦值
    
            }
           
          
        
        }
       
        
    }

    赋值运算符(=)的左侧必须是能够接受和存储值得编程元素,即左侧必须是一个不为只读的变量或属性,或者是一个数组元素。赋值运算符右侧的表达式是一个值。

    注释语句

    注释就是解释,是对代码添加的描述性文字,用来说明程序的功能,语句块的作用等,以方便代码的阅读和维护。

    C#的注释方法有3种,分别是单行注释,多行注释,和Xml注释。

    单行注释以//开始,多行注释使用/*  */跨行注释,XML注释使用特殊的注释语法,以///开头。在///之后,可以使用预先定义的标签注释代码,也可以插入自己定义的标签

    例如:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /*
     */
    namespace ConsoleApplication2
    {
        class Program
        {/*
          * 程序名:
          * 功能:输出字符串Hello World
          * 时间2016-4-4
          */
    
            static void Main(string[] args)
            {
            }
           
          
        
        }
        public class HelloWorld
        {
            ///<summary>
            ///控制台应用程序入口点
            ///<param name="args">命令行参数</param>
            ///<returns>运行成功返回0</returns>
            ///</summary>
    
            public static int Main(string[] args)//程序入口点
            {
                Console.WriteLine("Hello World !");//输出Hello World
                string name = Console.ReadLine();//暂停程序的运行,接受键盘输入的字符
                return (0);   
            }
        }
    
       
        
    }

    选择正确的道路

    条件循环

    条件语句就是对条件进行判断,根据判断结果选择执行不同的分支

    包括if语句,if   else语句和switch语句

    单分支结构

    if(条件表达式)

    {

    语句块

    }

    如果满足条件则执行语句块,如果不满足则跳过语句块

    双分支语句 if   else语句

    if(条件表达式)

    {

      语句块1

    }

    else

    {

      语句块2

    }

    如果满足条件则执行语句块1否则执行语句块2

    例如:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /*
     */
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.Write("请输入一个字母:");
                char c = (char)Console.Read();   //接受从键盘上输入的一个字符给c
                if (Char.IsLower(c))//判断输入的字母是否是小写
                {
                    Console.WriteLine("您输出的是小写字母");
    
                }
                else
                {
                    Console.WriteLine("您输出的是大写字母");
                }
            }    
        }
        
    }

    多分支结构

    if(表达式1)

    {

       语句块1

    }

    else if(表达式2)

    {

      语句块2

    }

    ........

    else if(表达式n)

    {

       语句块n

    }

    else

    {

      语句块n+1

    }

    例如:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /*
     */
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.Write("请输入一个字母:");
                char c = (char)Console.Read();   //接受从键盘上输入的一个字符给c
                if (Char.IsUpper(c))//判断输入的字母是否是小写
                {
                    Console.WriteLine("您输出的是大写字母");
    
                }
                else if(Char.IsLower(c))
                {
                    Console.WriteLine("您输出的是小写字母");
                }
                else if (char.IsDigit(c))
                {
                    Console.WriteLine("您输入的是数字");
                }
                else
                {
                    Console.WriteLine("您输入的字符既不是数字也不是字母");
                }
                Console.ReadKey();
            }    
        }
        
    }

    Switch结构

    switch语句能够根据表达式的值来选择执行的代码,if语句只能测试单个条件,如果需要测试多个条件,则需要书写很长的代码,而switch语句能够有效的避免较长的代码,并能测试多个条件,switch语句的语法为:

    switch(表达式)

    {

       case 常量表达式1: 语句1   break;

      case 常量表达式2: 语句2   break;

       case 常量表达式3: 语句3  break;

       ......

       case 常量表达式n  语句n   break;

      default        语句n+1  break;

    }

    语句执行的过程是计算switch语句中表达式的值,再依次与1-n个常量比较,当表达式的值与某个case后面的常量表达式的值相等时则执行case后面的语句,然后执行break语句跳出switch结构,如果几个常量表达式的值都不等于表达式的值则执行default处的语句。

    例如:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /*
     */
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
                float op1, op2;
                char sign;
                Console.WriteLine("请输入第一个数据,按回车键结束:");
                op1 = float.Parse(Console.ReadLine());
                Console.WriteLine("请输入第二个数据,按回车键结束:");
                op2 = float.Parse(Console.ReadLine());
                Console.WriteLine("请输入运算符号(+,-,*,/),以回车键结束:");
                sign = (char)(Console.Read());
                switch (sign)
                {
                    case '+':
                        op1 += op2;
                        break;
                    case '-':
                        op1 -= op2;
                        break;
                    case '*':
                        op1 *= op2;
                        break;
                    case '/':
                        op1 /= op2;
                        break;
                    case '%':
                        op1 %= op2;
                        break;
                    default:
                        Console.WriteLine("你输入的不是算数运算符!");
                        break;
                }
                Console.WriteLine("运行结果是:{0}",op1);
                Console.ReadKey();
            }    
        }
        
    }

    循环结构

    While循环

    while循环的语法为:

    while(表达式)

    {

       //循环体语句

    while循环执行的过程是:计算表达式的值,当表达式的值为“真”时,执行循环语句,然后再判断表达式的值,当表达式的值仍为“真”时,则再次执行循环语句,重复上述执行过程,当表达式的值为“假”时则退出循环。

    例如:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /*
     */
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
    
                int i, sum;
                i = 1;
                sum = 0;
                while (i < 101)
                {
                    sum = sum + i;
                    i++;
                }
                Console.WriteLine("1+2+3+4+5+6+7+..........+100={0}",sum);
                Console.ReadKey();
            }    
        }
        
    }

    for循环

    for循环的语法为:

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

    {

         //循环体

    }

    for语句的执行过程

    1.首先计算表达式1,为循环控制变量赋初值。

    2.计算表达式2,检查循环控制条件,若表达式2的值为“真”,则执行一次循环体;若为“假”,控制转出循环结构。

    3.执行完一次循环体后,计算表达式3,对控制变量进行增量或减量操作,再重复“第二步骤”操作。

    例如:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /*
     */
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
    
                int  sum;
                sum = 0;
                Console.WriteLine("计算 1+2+3.......+100的和:");
                for (int i = 1; i <= 100;i++ )
                {
                    sum = sum + i;
                }
                Console.WriteLine("1+2+3+4+5+6+7+..........+100={0}",sum);
                Console.ReadKey();
            }    
        }
        
    }

    改用do......while

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /*
     */
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
    
                int i, sum;
                i = 1;
                sum = 0;
                do
                {
                    sum = sum + i;
                    i++;
                }
                while (i < 101);
                Console.WriteLine("1+2+3+4+5+6+7+..........+100={0}",sum);
                Console.ReadKey();
            }    
        }
        
    }

    foreach

    foreach循环用于便利整个数组或集合,可以获取集合中的所有对象。语法如下:

    foreach(数据类型 局部变量 in 集合或者数组)

    {

        //代码块

    }

    foreach语句的执行顺序是:判断集合中是否存在元素,若存在,则用集合中的第一个元素初始化局部变量,执行控制语句。然后继续判断集合中是否还有剩余元素,若存在,则将剩余的第一个元素初始化局部变量,继续循环,若不存在,则结束循环。

    例如:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /*
     */
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
                string[] str = { "Jan", "Feb", "Mar", "Apr", "May", "Jun" };
                foreach (string s in str)
                {
                    Console.WriteLine(s);
                }
                Console.ReadKey();
            }    
        }
        
    }

    循环嵌套

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /*
     */
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.Write("100之中的素数:");
                for (int i = 2; i < 100; i++)
                {
                    bool isPrime = true;
                    for (int j = 2; j < i - 1; j++)
                    {
                        if (i % j==0)
                        {
                            isPrime = false;
                            break;
     
                        }
                    }
                    if (isPrime)
                    {
                        Console.Write("{0},   ", i);
                    }
                }
                    Console.ReadKey();
            }    
        }
        
    }

    continue语句的功能不是退出循环结构,而是结束本次循环,即忽略continue后面的语句。

    字符串

    String对象的内容是不可改变的,所以也称静态串,不可改变指的是只要创建一个String类型的对象,就不能再改变对象的值,任何赋值,修改操作都将被分配一个新值。

    可以使用String类的Compare,CompareOrdinal,CompareTo,Equals,EndsWith和StartsWith等方法进行字符串的比较。

    使用IndexOf,IndexOfAny,LastIndexOf,LastIndexOfAny等方法获取字符串中的子字符串。

    使用Copy和CopyTo方法可以将字符串或子字符串复制到另一个字符串或Char类型的数组。

    使用Substring和Split方法可以通过原始字符串的组成部分创建一个或多个新字符串。

    使用Concat和Join方法可以通过一个或多个子字符串创建新字符串。

    使用Insert,Replace,Remove,PadRight,Trim,TrimEnd和TrimStart等方法可以修改字符串的全部或部分。

    使用ToLower,ToLowerInvariant,ToUpper和ToUpperInvariant等方法可以更改字符串中Unicode字符串的大小写。

    使用Length属性可以获取字符串中Char对象的数量,使用Chars属性可以发访问字符串中实际的Char对象。

    例如:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /*
     */
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
                string str1 = "I Love C# 3.0"; //声明一个名称为str1的字符串并赋值
                string str2 = "I Love c# 3.0"; //声明一个名称为str2的字符串并赋值
                string str3 = "I Love Java";   //声明一个名称为str3的字符串并赋值
                Console.WriteLine("字符串的比较:");     //输出提示信息
                Console.WriteLine("str1={0},str2={1},str3={2}", str1, str2, str3);//输出3个字符串的值便于观察运行结果
                Console.WriteLine("str1是否等于str2:--》{0}", string.Compare(str1, str2));//比较str1和str2是否相等
                Console.WriteLine("str1在忽略大小写的情况下是否等于str2--》{0}",string.Compare(str1,str2,true));//比较str1和str2在忽略大小写的时候是否相等
                Console.WriteLine("str1是否等于str3--》{0}",str1.CompareTo(str3));//比较str1和str3是否相等
                Console.WriteLine("str1的第0个字符是否与str2的第0个字符相等--》{0}",string.Compare(str1,0,str2,0,2));
                Console.WriteLine("str1的第7个字符是否与str2的第7个字符相等--》{0}", String.Compare(str1, 7, str2, 7, 2));
                Console.WriteLine("str1第7个字符是否与str2的第七个字符在忽略大小的情况下相等--》{0}", string.Compare(str1, 7, str2, 7, 2, true));
                Console.WriteLine("str1是否以字符I开头--》{0}", str1.StartsWith("I"));
                Console.WriteLine("str1是否以字符i开头--》{0}", str1.StartsWith("i"));
                Console.WriteLine("str2是否以c#结尾--》{0}", str2.EndsWith("c#"));
                Console.WriteLine("字符串L为字符串{0}第{1}字符:",str3,str3.IndexOf("L"));
                Console.WriteLine("字符L在字符串{0}中最后出现的位置为{1}",str3,str3.LastIndexOf("L"));
                Console.WriteLine("将使用+将str1和str2相连后内容为-->{0}",str1+""+str2);
                Console.WriteLine("使用Concat方法将str1和str2相连后内容为--》{0}",string.Concat(str1,"&&",str2));
                //Split方法用以切割字符串,返回一个包含所有分割子字符串的数组对象
                string str = "How are you: what's you name:I Love .NET";
                string result = "";
                char split = ':';//定义分割的符号
                Console.WriteLine("对{0}按冒号进行分割:",str);
                foreach (string s in str.Split(split))
                {
                    result += s + "
    ";
                }
    
                Console.WriteLine(result);
    
               
                    Console.ReadKey();
            }    
        }
        
    }

    String类还提供了很强大的Format()方法格式化字符串语法结构如下:

    String str=string.Format("格式化字符串",参数列表)

    常见的格式说明符

    字符 说明 示例 输出
    C 货币 string.Format("{0:C3}",2)

    $2.000

    D 十进制 string.Format("{0:D3}",2) 002
    E 科学计数法 string.Format("{0:E}",1.20E+001) 1.200000E+001
    G 常规 string.Format("{0:G}",2) 2
    N 用分号隔开的数字 string.Format("{0:N}",250000) 250,000.00
    X 十六进制 string.Format("{0:X000}",12) C
    0 格式说明符 string.Format("{0:000.000}",12.2) 012.200

    例如:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /*
     */
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
                string s = "";  //定义s用于存放格式字符串的输出结果
                Console.Clear();
                Console.WriteLine("数值格式字符使用例子:");
                s = string.Format(
                    "(C)Currency:........{0:C}  
    "  +
                    "(D)Decimat:..........{0:D}  
    " +
                    "(E)Scientific:.........{1:E}  
    "+
                    "(F)Fixed point:.......{1:F}   
    "+
                    "(G) General............{0:G}   
    "+
                    "(default):..........{0}(default='G')",-123,-123.45f
                    );
                Console.WriteLine(s);
               
                    Console.ReadKey();
            }    
        }
        
    }

    动态串StringBuilder

    StringBuilder类并没有String类的功能强大它只提供了基本的替换,删除,添加字符串中的文本,它主要有两个参数Length和Capacity分别表示字符串的实际长度和字符串占据的内存空间长度例如:

    StringBuilder MyStringBuilder=new StringBUilder("Hello World",25);

    如果将Length 属性设置为大于Capacity 属性的值,则自动将Capacity属性更改为Length 属性相等的值如果将Length属性设置为小于当前StringBuilder对象内的字符串长度则会缩短该字符串。StringBulider 方法如下:

    名称 作用
    Append() 给当前字符串添加一个字符串
    AppendFormat() 添加特定格式的的字符串
    Insert() 在当前字符串中插入一子字符串
    Remove() 在当前字符串中删除字节
    Replace() 在当前字符串中,用另一个字符串替换某个字符,或者用当前字符串中的另一个子字符串替换某个字符串
    ToString 把当前字符串转换为System.String对象

    例如:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /*
     */
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
                StringBuilder sb1 = new StringBuilder();
                Console.WriteLine("sb1的初始容量为--》{0}",sb1.Capacity);
                Console.WriteLine("sb1的初始长度为-->{0}", sb1.Length);
                sb1.Append("Hello world");//向sb1中添加字符串
                Console.WriteLine("向sb1中添加后sb1的容量:{0}", sb1.Capacity);
                Console.WriteLine("向sb1中添加后sb1的长度:{0}", sb1.Length);
                sb1.Append("hello C# I am very like Learning English.");
                Console.WriteLine("再次向sb1中添加后sb1的容量:{0}",sb1.Capacity);
                Console.WriteLine("再次向sb1中添加后sb1的长度:{0}",sb1.Length);
                StringBuilder sb2 = new StringBuilder("I Love Java",30);
                Console.WriteLine("sb2的原始内容是:");
                Console.WriteLine(sb2);
                Console.WriteLine("使用replace方法将sb2中的Java换成C#后内容为:");
                Console.WriteLine(sb2.Replace("Java","C#"));
                Console.WriteLine("使用insert方法在sb2的第七个字符中添加Java and后sb2的内容为:");
                Console.WriteLine(sb2.Insert(7, "Java and"));
                Console.WriteLine("使用remove方法将sb2中第七个字符以后的删除后sb2的内容为:");
                Console.WriteLine(sb2.Remove(0, 7));
                    Console.ReadKey();
            }    
        }
        
    }
  • 相关阅读:
    6、UITableView表的分割线左对齐
    5、清理mac缓存和关闭后台运行程序
    1、iOS9 HTTP 不能正常使用的解决办法
    在ios下提示“@synthesize of ‘weak’ property is only allowed in ARC or GC mode”
    java中的String类
    java思考题
    java思考
    java动手动脑思考
    大道至简第二章读后感
    JAVA训练参数求和
  • 原文地址:https://www.cnblogs.com/lizanqirxx/p/5350013.html
Copyright © 2011-2022 走看看