CodeGym大学课程体系中包括讲师在线讲座的部分视频。赶快报名吧


“嗨,阿米戈。我来给你介绍一种新的数据类型:boolean。此类型变量只能取两个值:truefalse

“如何使用它?”

“此类型在很多地方被隐式地使用。就像任何加法运算都会生成数字一样,任何比较的结果都是一个 boolean。下面是一些示例:”

代码 说明
1
boolean m;
这两个表达式是等效的。boolean 变量的默认值为 false
2
boolean m = false;
3
if (a > b)
    System.out.println(a);
比较的结果(truefalse)将赋给变量 m。如果表达式的计算结果为 true,则满足条件。
4
boolean m = (a > b);
if (m)
    System.out.println(a);
5
boolean m = (a > b);
if (m == true)
    System.out.println(a);
无需将逻辑 (boolean) 变量和 truefalse 进行比较。比较的结果将是与另一个变量匹配的 boolean 值。例如,true == true 的计算结果为 true; true == false 的计算结果为 false
6
boolean m = (a > b);
if (m)
    System.out.println(a);

“更多示例:”

代码 说明
1
public boolean isALessThenB (int a, int b)
{
    if (a < b)
        return true;
    else
        return false;
}
此方法验证数字 a 小于数字 b。

这是四个等效比较。最后一个比较最紧凑、最正确。请始终尝试使用紧凑表示法。

2
public boolean isALessThenB (int a, int b)
{
   boolean m = (a < b);
    if (m)
        return true;
    else
        return false;
}
3
public boolean isALessThenB (int a, int b)
{
    boolean m = (a < b);
    return m;
}
4
public boolean isALessThenB (int a, int b)
{
    return a < b;
}

“如果我想写 0<a<b,该怎么做?”

“Java 没有带三个操作数的比较运算符。因此,你需要这样做:(0<a) AND (a<b)。”

“我要写单词 AND 吗?”

“别急。我会解释的。Java 有三个逻辑运算符:ANDORNOT。可以使用它们来构造复杂程度不同的条件。只能将这些运算符与 boolean 表达式一起使用。因此,不能写成 (a+1) AND (3),但可以写成 (a>1) AND (a<3)。”

NOT 运算符是一元的:它只影响右边的表达式。它更像是负数前面的负号,而不是两个数字之间的乘号。”

“你可以对 boolean(逻辑)变量执行各种操作。”

“比如?”

“我们来看一下:”

逻辑运算符 Java 表示法 表达式 结果
AND && true && true true
true && false false
false && true false
false && false false
OR || true || true true
true || false true
false || true true
false || false false
NOT ! !true false
!false true
常用组合和表达式 m && !m false
m || !m true
! (a && b) !a || !b
! (a || b) !a && !b

“可以再举几个例子吗?”

“当然可以:”

Java 表示法 逻辑表示法
(a<3) && (a>0) (a < 3) AND (a>0)
(a>10) || (a<100) (a>10) OR (a<100)
(a<b) && (!(c<=d)) (a<b) AND (NOT (c<=d))

“现在来完成几个任务。”