c#——if语句

if 语句

(一)if语句的格式(如下图)

c#——if语句_第1张图片

例1:简单的if语句

namespace 布尔表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入年龄");
            string s1 = Console.ReadLine();
            int age = Convert.ToInt32(s1);
            if (age>20)
            {
                Console.WriteLine("成年人!");   //age<=20不执行
            }
            Console.ReadKey();
        }
    }
}

例2:  if…… else语句

namespace 布尔表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入年龄");
            string s1 = Console.ReadLine();
            int age = Convert.ToInt32(s1);
            if (age > 20)
            {
                Console.WriteLine("成年人!");
            }
            else  //否则
            {
                Console.WriteLine("未成年人!");
            }
            Console.ReadKey();
        }
    }
}

例3:if ……else  if ……else 语句

namespace 布尔表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入年龄");
            string s1 = Console.ReadLine();
            int age = Convert.ToInt32(s1);
            if (age > 20)
            {
                Console.WriteLine("成年人!");
            }
            else if (age > 10)
            {
                Console.WriteLine("青年人!");
            }
            else
            { 
                Console.WriteLine("婴儿");
            }
            Console.ReadKey();
        }
    }
}

(二)易错的地方


注意1:if ()后面不要加;   ,如果加了; 表示if语已经结束,后面的{}的if已经没有关系(如例4)

例4

namespace 布尔表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入年龄");
            string s1 = Console.ReadLine();
            int age = Convert.ToInt32(s1);
            if (age > 20) ;  //错误: ;表示if语已经结束,后面的{}的if已经没有关系
            {
                Console.WriteLine("成年人!");   
            }
            Console.ReadKey();
        }
    }
}

例4的执行结果如下:

c#——if语句_第2张图片

错误:当输入小于等于20的数,输出的却是成年人。

改正:参看上面的例1或下面的例5

例5

namespace 布尔表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入年龄");
            string s1 = Console.ReadLine();
            int age = Convert.ToInt32(s1);
            
            /*
            if (age > 20) ;     //错误的代码,加了“;”。
                                //;表示if语已经结束,后面的{}的if已经没有关系
             */

            if (age > 20)      //正确的代码,注意不要加“;”。
            
            {
                Console.WriteLine("成年人!");   
            }
            Console.ReadKey();
        }
    }
}

注意2:if 语句哪怕只有一行语句,最好也要加大括号{} 。

例5:

namespace 布尔表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入年龄");
            string s1 = Console.ReadLine();
            int age = Convert.ToInt32(s1);

            if (age > 18)     //if后没加大括号{}.

                Console.WriteLine("成年人!");
                Console.WriteLine("恭喜您已成年");
            
            Console.ReadKey();
        }
    }
}

例5执行结果如下:

c#——if语句_第3张图片

代码改正(如下例6)

例6

namespace 布尔表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入年龄");
            string s1 = Console.ReadLine();
            int age = Convert.ToInt32(s1);

            if (age > 18)     //哪怕if语句中只有一行代码,也要加大括号{}。
            {
                Console.WriteLine("成年人!");
                Console.WriteLine("恭喜您已成年");
            }
            Console.ReadKey();
        }
    }
}


(三)精典示例

练习1:提示用户输入密码,如果密码是“888888”则提示正确,否则提示错误。

错误代码如下:

namespace 布尔表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            //提示用户输入密码,如果密码是“888888”则提示正确,否则提示错误。
            Console.WriteLine("请输入密码");
            string s1 = Console.ReadLine();
            int pwd = Convert.ToInt32(s1);  //问题1,用户输入非数字的时候失败
                                            //问题2,用户输入过长的数字也报错。
            if (pwd==888888)
            {
                Console.WriteLine("密码正确!");
            }
            else
            {
                Console.WriteLine("密码不正确!");
            }

            Console.ReadKey();
        }
    }
}

修改后的正确代码如下:

namespace 布尔表达式
{
    class Program
    {
        static void Main(string[] args)
        {   
            //提示用户输入密码,如果密码是“888888”则提示正确,否则提示错误。

            Console.WriteLine("请输入密码:");
            string s1 = Console.ReadLine();
            //int pwd = Convert.ToInt32(s1); 
            //删除掉上行代码,直接判断输入的变量s1是否与字符串"888888"相等?
            if (s1=="888888")         //密码"888888",只是看起来像数字而已。
            {
                Console.WriteLine("密码正确!");
            }
            else
            {
                Console.WriteLine("密码不正确!");
            }
            Console.ReadKey();
        }
    }
}

注意:"888888"只是看起来像数字而已,其实不是数字,而是字符串。

       练习2:提示用户输入密码,如果密码是“888888”则提示正确,否则要求再输入一次,如果密码是“888888”则提示正确,否则提示错误。(此例讲述的主要是if语句的嵌套
       代码如下:

namespace 布尔表达式
{
    class Program
    {
        static void Main(string[] args)
        {   
            //提示用户输入密码,如果密码是“888888”则提示正确,否则要求再输入一次,如果密码是“888888”则提示正确,否则提示错误。

            Console.WriteLine("请输入密码:");
            string s1 = Console.ReadLine();  

            if (s1=="888888")              //密码"888888",只是看起来像数字而已。
            {
                Console.WriteLine("密码正确!");
            }
            else
            {
                Console.WriteLine("密码错误,请再输入一次:");
                s1 =Console.ReadLine();    //使用变量s1,而不是重新定义变量
                if (s1 == "888888")
                {
                    Console.WriteLine("密码正确!");
                }
                else
                {
                    Console.WriteLine("密码错误!");
                }
            }
            Console.ReadKey();
        }
    }
}


你可能感兴趣的:(String,C#,Class)