JS++ 条件语句

JS++ 条件语句

各种类型的条件语句在JS++中起着核心作用。在本教程中,我们将了解此类语句的基本语法和一些常见的用法,我们还将介绍两种经常用于条件语句的表达式:比较运算符和逻辑运算符。

注意:JS++条件语句、比较运算符和逻辑运算符的工作方式与JavaScriptJava、C++和C#等语言中的同类语句类似。

让我们开始建立一个新的文件夹–命名为 “条件”。然后建立一个新文件,命名为 “Conditionals.jspp”。写入以下代码。

external ;

string colorString;
bool likesRed = true;
if (likesRed) {
    colorString = "red";
}("#content").text(colorString);
$("#content").css("color", colorString);

将Conditionals.jspp保存到你的Conditionals文件夹。然后创建第二个名为 “Conditionals.html “的文件,并写入以下内容。

<!DOCTYPE html>
<title>Conditionals program</title>
<body>

<p id="content"></p>

<script src="http://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="Conditionals.jspp.js"></script>

</body>
</html>

保存Conditionals.html到你的Conditionals文件夹。编译Conditionals.jspp,然后在浏览器中打开Conditionals.html。如果一切顺利,你的文档应该用红色字体显示 “red”。

“if”、”else “和 “else if”

Conditionals.jspp显示了一个简单的if语句的语法:关键字if本身,后面是一对小括号,用来表示要检查的条件,然后是一个大括号中的代码块,当且仅当条件为真时执行。

JS++  条件语句

注意:如果代码块只包含一条语句,那么代码块周围的大括号是可选的。然而,为了一致性和可读性,建议总是使用大括号。

虽然if语句经常被单独使用,但它们也经常与else语句一起使用。让我们在Conditionals.jspp中添加一个else语句。

external ;

string colorString;
bool likesRed = true;

if (likesRed) {
    colorString = "red";
}
else {
    colorString = "blue";
}("#content").text(colorString);    
$("#content").css("color", colorString);

编译这段代码,然后在浏览器中打开Conditionals.html。结果是一样的:该文件仍然以红色字体显示 “red”。原因是,else块中的代码只有在相关的if语句中的条件为false时才会执行。要让else块中的代码执行,把likesRed的值改为false:Conditionals.html就会以蓝色字体显示 “blue”。

注意,else语句并没有指定它自己的条件;Conditionals.jspp中唯一被检查的条件是likesRed。我们只是有一个代码块在该条件为真时执行,另一个代码块在该条件为假时执行。

JS++  条件语句

然而,在某些情况下,我们希望代码的执行取决于不止一个条件。这就是else if语句的用处。一个else if语句提供了一个自己的条件和一个相关的代码块。如果该条件为真,并且所有先前的条件(即与先前的if和else if语句相关的条件)为假,则该代码块将执行。让我们再次修改Conditionals.jspp以展示else if语句的使用。

external ;

string colorString;
bool likesRed = false;
bool likesBlue = true;

if (likesRed) {
    colorString = "red";
}
else if (likesBlue) {
    colorString = "blue";
}
else {
    colorString = "green";
}("#content").text(colorString);
$("#content").css("color", colorString);

在这里,else if块中的代码将被执行,因为它的likesBlue条件为真,而前面的if语句所指定的likesRed条件为假。然而,如果我们将likesBlue的值改为false,else if块中的代码就不会执行,但else块中的代码会执行。你可以自己玩玩likesRed和likesBlue的值,看看它们对条件的执行有什么影响。

比较运算符

当我们使用条件语句时,通常是因为我们希望代码的执行取决于某种比较的结果。例如,假设我们想检查一个tempInCelsius变量的值是否等于0,如果是的话,就执行一些代码。我们可以这样写。

if (tempInCelsius == 0) {
    // Code to be executed goes here
}

这个条件使用平等运算符”==”。如果比较的值相等,则平等比较返回真,否则返回假。

注意:平等运算符”==”与赋值运算符”=”不一样。请注意这个区别!如果你不小心用”=”代替了”==”,你会在你的代码中引入可能难以发现的错误。

除了”==”之外,JS++还包含各种比较运算符。为了扩展温度检查的例子,假设我们想检查的不是tempInCelsius的准确值,而是它的范围。我们的代码可能看起来像这样。

if (tempInCelsius > 30) {
    // Code to execute if temperature is over 30
}
else if (tempInCelsius >= 15) {
    // Code to execute if temperature is between 15 and 30
}
else {
    // Code to execute if temperature is 14 or below
}

这个例子使用了大于运算符”>”,如果左边的操作数大于右边的操作数,则返回真;大于或等于运算符”>=”,如果左边的操作数大于或等于右边的操作数,则返回真。你可以在这里看到全部的比较运算符。

JS++中的比较运算符

逻辑运算符

有时我们希望代码只在多个条件为真时执行。为了实现这一点,一个选择是使用嵌套条件,例如下面的例子。

external ;

string colorString;
bool likesRed = true;
bool likesBlue = true;

if (likesRed) {
    if (likesBlue) {
        colorString = "I have a wide taste in colors";("#content").text(colorString);
    }
}

通过这样将likesBlue条件放在likesRed条件中,我们确保likesBlue块中的代码将在且仅在两个条件都为真时执行。

尽管嵌套条件可以用于这种目的,但是它们往往会使代码难以阅读,特别是当涉及的条件很复杂时。一个替代方法是使用逻辑和运算符”&&”。让我们把我们的嵌套条件换成。

if (likesRed && likesBlue) {
    colorString = "I have a wide taste in colors";
    $("#content").text(colorString);
}

一个”&&”语句需要两个操作数,通常都是布尔表达式。假设它们是布尔表达式,如果两个操作数都是真,该语句返回真,否则返回假。因此,上面的代码与先前的嵌套条件具有相同的效果:当且仅当likesRed和likesBlue都为真时,代码块才会执行。然而,”&&”条件比嵌套条件更容易阅读,因此它更适合于此。

JS++除了”&&”之外,还包含两个逻辑运算符:OR运算符”||”和NOT运算符”!”。”||”是一个类似于”&&”的二进制运算符:它需要两个操作数。假设两个操作数都是布尔表达式,如果至少有一个操作数为真,则语句返回真,否则返回假。”||”在以下情况下很有用:如果一个条件为真或另一个条件为真,你想执行一些代码。

if (likesRed || likesBlue) {
    colorString = "I like at least one color";
    $("#content").text(colorString);
}

“!”与”&&”和”||”不同的是,它是一个单数运算符:它只接受一个操作数。如果操作数为假,则返回真,如果操作数为真,则返回假。例如。

if (!likesRed) {
    colorString = "I do not like red";
    $("#content").text(colorString);
}

注意:尽管”&&”和”||”所管辖的操作数通常是布尔表达式,但它们不一定是布尔表达式。为了涵盖操作数为非布尔表达式的情况,”&&”和”||”被更精确地定义为:如果左边的操作数为假,”&&”语句返回假;否则它返回右边操作数的值。||”语句如果左边的操作数为真,则返回真,否则返回右边操作数的值。

开关语句

有时你需要你的程序处理各种不同的可能性,并在每种可能性中执行不同的代码。尽管你可以通过使用带有多个else if语句的条件来实现这一目的,但通常更简单的方法是使用switch语句。switch语句评估一个表达式,并将其值与一个或多个case表达式进行比较;如果这些case表达式中的一个提供了匹配,就会执行一些相关代码。

JS++  条件语句

让我们举一个例子。

external ;

string favoriteColor;
string colorComment;
favoriteColor = "green";

switch (favoriteColor) {
    case "red":
        colorComment = "red is fantastic";
        break;
    case "blue":
        colorComment = "blue is wonderful";
        break;
    case "green":
        colorComment = "green is magical";
        break;
    case "yellow":
        colorComment = "yellow is brilliant";
        break;
    default:
        colorComment = "I have no favorite color";
        break;
}("#content").text(colorComment);

在这个例子中,switch语句将字符串favoriteColor的值与列出的各种情况表达式进行比较。当它找到一个匹配项时,它就执行相关的代码。由于favoriteColor的值是 “绿色”,switch语句执行了与该情况相关的代码:字符串colorComment被设置为 “绿色是神奇的”。

break和default关键词的作用是什么?break关键字非常重要,因为如果你想防止所谓的 “突破”,就需要它。当switch语句在匹配的case之后执行与一个或多个case相关的代码时,就会发生fallthrough。例如,如果你删除了绿色案例末尾的断句,switch语句将继续设置colorComment为 “黄色很美”。在一些罕见的情况下,你可能需要这种突破;如果是这样,你会有意省略break。(我们也会建议你添加一个注释,明确指出这种突破是有意的)。然而,通常情况下,你会希望在每个案例的结尾处包含break。

如果没有一个case表达式与原始表达式相匹配,则执行default子句中的代码。默认子句是可选的:如果你不提供,那么程序会在switch语句后的第一个语句处恢复执行。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程