‫欢迎回来｡
‫在这段视频中, 我们将创建一个小的登录系统, 不是真正的登录系统,
‫但我们将使用if语句和否定语句｡
‫我将向您展示一个与您的登录系统类似的小示例｡
‫好吧, 我会的
‫所以我们有一个布尔值是admin, 一个布尔值是registered, 然后我们有一个字符串, 这是用户名,
‫我将把它留空.
‫与管理员相同｡
‫我需要在这里设置一个值｡
‫我将用false初始化它然后用true初始化它.
‫好吧, 我会的
‫我们在这里创建一个小程序, 检查用户是否注册？
‫因此, 如果用户已注册, 那么我想在控制台上写入一些内容｡
‫在控制台右边一行, 我将在那里写上hi, 注册用户｡
‫如果用户甚至有用户名, 我想写一些东西｡
‫我想写他的用户名｡
‫所以如果username不等于空, 我想继续写类似这样的内容｡
‫所以我将在这里复制控制台右侧的语句｡
‫你好啊｡
‫然后输入用户名｡
‫你好, 逗号加用户名｡
‫如果用户是管理员并且已注册, 或者实际上是具有特定用户名的用户｡
‫所以如果username等于两个等号或者这里等于｡
‫艾德蒙
‫然后我们要写这样的东西, 你好, 管理员｡
‫好吧, 我会的
‫这是一个嵌套的if语句｡
‫我们有一个if语句在一个if语句中在一个if语句中｡
‫所以这个在那个里面那个在这个里面｡
‫因此, 我们有一个否定语句, 并检查多个条件｡
‫首先, 我们检查用户是否锁定, 然后检查他的用户名｡
‫如果不是空的, 我们就写他的用户名, 如果是空的, 我们就不写｡
‫因此, 让我们更改用户名, 不要将其保留为空｡
‫所以我会说username等于控制台点读行｡
‫我将读取用户的条目, 并将其存储在username中,
‫然后用户可能会输入admin之类的内容, 我将使其不大写, 让我们快速检查一下｡
‫我们就这样了｡
‫首先, 它还不知道我不知道我应该做什么｡
‫因此, 让我们快速地向用户写入一些内容, 以便他知道要做什么｡
‫我将用控制台右边线路来做这个
‫请输入您的用户名
‫好吧, 我们来看看｡
‫请输入您的用户名, 我只是要使用空引号和我们的程序关闭.
‫实际上, 我们需要在这里添加控制台, 因为我们进行了所有这些编写, 但我们从未真正进行过一些读取, 所以让我们再看一遍｡
‫请输入您的用户名, 我将使用空白屏幕｡
‫他说, 嗨, 注册用户, 我们的用户｡
‫你好, 双引号｡
‫即使我输入了这两个字符串, 它也会说用户名不是空字符串, 因为我在这里输入的不是空字符串,
‫它实际上是这样的字符串｡
‫让我给你看看｡
‫实际上是这样的｡
‫所以我们有字符串或者引号等等｡
‫我们再试一次, 我不输入任何内容｡
‫然后它会说“嗨, 这里是注册用户”, 但它不会说“嗨, 这里是用户名”, 因为现在用户名实际上是空的｡
‫好吧, 现在我们再试一次｡
‫在本例中, 我将输入我的姓名和用户名｡
‫好吧, 我是丹尼斯｡
‫你好, 我是
‫他们是注册用户｡
‫嗨, 丹尼斯·奥尔｡
‫你好丹尼斯｡
‫现在我输入admin｡
‫Admin实际上是非大写的｡
‫你好, 有注册用户隐藏管理员和隐藏他们的管理员｡
‫第一个管理员是我输入的那个, 第二个是这里的这个｡
‫好吧, 我会的
‫你可以看到, 你有一个嵌套的if语句, 基于这个条件, 我们运行那个代码,
‫然后检查另一个条件｡
‫然后我们检查另一个条件｡
‫你可以在一个if语句中运行它们｡
‫所以我们可以去掉所有额外的if语句, 只要我们简单地检查一下里面的｡
‫所以我会的｡
‫在这里突破, 我要过牌｡
‫用户名不等于空, 用户名等于admin｡
‫现在您可能想知道这等于是什么意思, 因为我们还没有讨论它｡
‫Equals确定实例和另一个指定的字符串对象是否具有相同的值｡
‫这意味着它会检查username中的内容并将其与该字符串进行比较｡
‫这就是比较字符串的方法.
‫整数的比较方式不同｡
‫所以你用整数来比较｡
‫如果｡
‫这就是比较整数的方法, 但对于字符串, 要用等号.
‫所以现在我正在检查用户是否有兴趣注册｡
‫我检查他的用户名, 并检查他是否是管理员, 如果是,
‫则运行此处的代码, 这样我就不再需要这些if语句｡
‫我会把它们处理掉｡
‫事实上, 我需要那个｡
‫就这样
‫所以现在如果我运行它｡
‫请输入您的用户名, 我将输入admin, 它说你好｡
‫注册用户您好!
‫管理员
‫你好, 管理员｡
‫这是一种不同的方法, 它们做的事情几乎是一样的,
‫即使你有一个嵌套的if语句, 如果你在一个F语句中有一个if语句, 你可以在运行下一个语句之前运行一些额外的代码｡
‫即使这确实有效, 你也不应该走得太深｡
‫所以你不应该在if语句中有if语句在F语句中, 等等.
‫它确实在某一点上变得混乱｡
‫因此, 当你做嵌套if语句时, 试着想一个最好的概念, 并试着找到一种方法, 使它更容易阅读,
‫甚至更容易构建｡
‫好吧, 我会的
‫还有一件事
‫现在我们可以比较double和, 但也可以比较或｡
‫假设我想检查这个人是admin还是registered, 因为在这两种情况下, 我只想写一些类似console right line and
‫you are logged in的内容｡
‫好吧, 我会的
‫所以即使只有一个是真的, 这里的这个陈述, 这里的整个比较都是为真的,
‫因为要么是管理必须为真, 要么是注册必须为真｡
‫如果两者都是真的, 那么整个陈述也是真的｡
‫如果没有一个是真的, 那么这个陈述就是假的｡
‫我们再来一遍｡
‫我只需要添加或输入Dennis, 它只会说你已经登录, 为什么它不告诉你其他的东西呢？
‫为什么不检查这里的那些呢？
‫这是因为我没有以管理员身份登录, 也没有被锁定, 或者我的用户名没有为空｡
‫所以这个说法不再正确了｡
‫但是这里的语句或者这个if语句｡
‫这是真的, 因为它会检查我是否在管理员中, 让我们看看｡
‫我不是管理员｡
‫我注册了吗？
‫是的, 我是｡
‫它告诉我, 好的, 你已经注册并且登录了｡
‫好吧, 我会的
‫现在, 您已经了解了如何创建嵌套if语句, 在下一个视频中, 我们将了解一个小挑战｡
‫所以, 请继续前进, 并尝试解决这个挑战｡
‫到时候见｡