if(一个返回bool值的条件表达式)

{

程序块

}

else{}

它的执行过程我们可以通过一个程序来了解

  static void Main(string[] args)
{
if (score >= ) // 条件1
{
Console.WriteLine("A");
}
else if (80 =< score && score < 90) //条件2 这里的score<90根本不执行,没有理解if else if的本质 {
Console.WriteLine("B");

上面的写法实际上没有理解if else if的本质(下划线为错误的判断条件)

if else if的本质是:如果if条件不满足则执行Else中的条件判断。基于这个理解,上面的if语句条件1不满足的话,实际上就意味着score《90

所以条件2中的子条件score<90是多次一举!或者else if (score<90 && score <=80) ,这里的Score<90  在条件1为假后,肯定为真!

提示用户输入用户名,然后再提示用户输入密码,如果用户名是"admin"和密码是"888888",那么提示正确

否则,如果用户名不是Admin,则提示用户名不存在,如果用户名是Admin则提示密码不正确.

 static void Main(string[] args)
{
Console.WriteLine("请输入用户名");
string username = Console.ReadLine(); Console.WriteLine("请输入密码");
string password = Console.ReadLine(); if (username == "admin" &&
password == "")
{
Console.WriteLine("密码正确");
}
else
{
if (username != "admin")
{
Console.WriteLine("用户名不正确");
}
else if (password != "")
{
Console.WriteLine("密码不正确");
}
} Console.ReadKey(); }

上面的写法,是Else里面嵌套了If Else。下面采用另外一种写法,是If Else If Else

 static void Main(string[] args)
{
Console.WriteLine("请输入你的用户名");
string username = Console.ReadLine(); Console.WriteLine("请输入你的密码");
string password = Console.ReadLine(); // 下面的If Else If Else 可以成对理解,比如else if else 还是可以作为一个来理解
if (username == "admin" && password == "")
{
Console.WriteLine("用户名和密码正确");
}
else if (username != "admin")
{
Console.WriteLine("用户名不正确");
}
else // 注意理解上面If Else If
{
Console.WriteLine("密码不正确");
} Console.ReadKey();
}
}

If Else 语句是否使用{}

通常if表达式后只有一个语句的话,不使用{}.同样的下面的形式却有不同的结果.

 if (true)
string test ="test"; // 这个会发生编译错误! if (true)
{
string test = "test"; // 这样子的写法正确
}

Else与靠近If结合

如果if 表达式后面只有一个语句,通常会不写{},但是这个习惯也可能导致程序出现错误;其实在实际情况下,通常以为自己会If Else,但是实际上If Else的组合起来可以构造非常复杂的业务逻辑.而且好的If Else组合一看就明白业务含义,但是差的If Else就容易误导或者非常难理解这段If Else的含义.最主要要理解if else的逻辑顺序。

if(){}else 语句的正确写法以及它的嵌套使用的更多相关文章

  1. 【记录】AutoMapper Project To OrderBy Skip Take 正确写法

    AutoMapper:Queryable Extensions 示例代码: using (var context = new orderEntities()) { return context.Ord ...

  2. 使用runloop阻塞线程的正确写法

    使用runloop阻塞线程的正确写法 runloop可以阻塞线程,等待其他线程执行后再执行. 比如: @implementation ViewController{    BOOL end;}…– ( ...

  3. oracle 数据库中,应用程序里的连接探測语句的正确使用

    oracle 数据库中,应用程序里的连接探測语句的正确使用 本文为原创文章.转载请注明出处:http://blog.csdn.net/msdnchina/article/details/3851376 ...

  4. obj.style.z-index的正确写法

    obj.style.z-index的正确写法 今天发现obj.style.z-index在js里面报错,后来才知道在js里应该把含"-"的字符写成驼峰式,例如obj.style.z ...

  5. C++中虚继承派生类构造函数的正确写法

    最近工作中某个软件功能出现了退化,追查下来发现是一个类的成员变量没有被正确的初始化.这个问题与C++存在虚继承的情况下派生类构造函数的写法有关.在此说明一下错误发生的原因,希望对更多的人有帮助. 我们 ...

  6. php中mysql语句的基本写法

    php中mysql语句的基本写法 php作为一门后台语言必须要与mysql数据库打交道,做到将内容存储到数据库以及数据库数据读写的操作,那么下面就来说下最近学习的一些东西: 在具体将之前先说一下编码的 ...

  7. ***PHP $_FILES函数详解 + PHP文件上传 move_uploaded_file() 参数的正确写法

    PHP $_FILES函数详解 在PHP中上传一个文件建一个表单要比ASP中灵活得多.具体的看代码. 如:  复制代码代码如下: <form enctype="multipart/fo ...

  8. jquery中获取radio选中值的正确写法

    错误写法: //只在IE下有作用,其他浏览器均获取的为第一个单选框的值 $('input[type=radio]').val(); 正确写法为: //兼容所有浏览器写法 $('input[type=r ...

  9. 判断下列语句是否正确,如果有错误,请指出错误所在?interface A{

    判断下列语句是否正确,如果有错误,请指出错误所在? interface A{ int add(final A a); } class B implements A{ long add(final A ...

随机推荐

  1. js原生设计模式——12装饰者模式

    1.面向对象模式装饰者 <!DOCTYPE html><html lang="en"><head>    <meta charset=&q ...

  2. js原生继承之——原型式继承实例

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  3. Java数据库连接--JDBC调用存储过程,事务管理和高级应用

    相关链接:Jdbc调用存储过程 一.JDBC常用的API深入详解及存储过程的调用 1.存储过程的介绍 我们常用的操作数据库语言SQL语句在执行的时候要先进行编译,然后执行,而存储过程是在大型数据库系统 ...

  4. AIX上面Oracle数据库相关启动

    1,启动停止Oracle实例 (1) su -oracle (2) echo $ORACLE_SID (3) sqlplus /nolog //以不登录到数据库的方式进入sqlplus环境 (4) c ...

  5. SQLServer2008开放windows防火墙配置

    为了可以通过TCP/IP协议远程访问SQLServer数据库,需要做以下几点: 在SQLServer所运行的服务器上,我们必须找到SQLServer所侦听的端口然后添加到WIndows防火墙的[允许入 ...

  6. C# 数组、ArrayList、List、Dictionary的用法与区别

    前言 在工作中经常遇到C#数组.ArrayList.List.Dictionary存取数据,但是该选择哪种类型进行存储数据,对于初学者的我一直不知道该怎么取舍.于是抽空好好看了下他们的用法和比较,在这 ...

  7. 设计模式 -- 迭代器模式(Iterator)

    --------------------------------------------------------------------- 1.场景问题 考虑这样一个问题: 9个学生对象分别通过数组存 ...

  8. Extjs学习笔记之九 数据模型(上)-extjs

    来源:niutuku.com | vincent上传于2012-07-20 | 1802次浏览 | 0条评论 本文开始进入Extjs最核心最优秀的部分. 标签:Extjs 数据模型   Extjs的数 ...

  9. java 文件操作 读取字节级数据(读取)

    package com.swust; import java.io.*; /* * 功能:按照双精度浮点型.整型.布尔型.字符型.和字符串型的顺序从名为sample.dat文件读取数据 * 分析:用F ...

  10. 使用JDBC连接数据库(一)

    JDBC是由java编程语言编写的类及接口组成,同时它为程序开发人员提供了一组用于实现对数据库访问的JDBC API,并支持SQL语言.利用JDBC可以将JAVA代码连接到oracle.DB2.SQL ...