Существует специальный тип данных в большинстве языков программирования, который используется для представления истинности значения, '''true''' и '''false'''. Простейшее логическое выражение, просто эти слова. Булевы значения могут быть сохранены в переменных, точно так же как любой другой тип данных:
myBooleanVariable = true
Более сложные булевы выражения использует один из булевых операторов:
* ==
* !=
* >
* >=
* <
* <=
Большинство из них, вероятно, очень интуитивны. Оператор равенства '''==''' отличить от оператора присваивания '''='''. Противоположность равенства оператор '''!=''', то есть "не равно"
Некоторые примеры:
titanicBoxOffice = 1234600000
titanicDirector = "James Cameron"
trueLiesBoxOffice = 219000000
trueLiesDirector = "James Cameron"
returnOfTheKingBoxOffice = 752200000
returnOfTheKingDirector = "Peter Jackson"
theTwoTowersBoxOffice = 581200000
theTwoTowersDirector = "PeterJackson"
titanicBoxOffice > returnOfTheKingBoxOffice // evaluates to true
titanicBoxOffice >= returnOfTheKingBoxOffice // evaluates to true
titanicBoxOffice >= titanicBoxOffice // evaulates to true
titanicBoxOffice > titanicBoxOffice // evaulates to false
titanicBoxOffice + trueLiesBoxOffice < returnOfTheKingBoxOffice + theTwoTowersBoxOffice // evaluates to false
titanicDirector > returnOfTheKingDirector // evaluates to false, because "J" is before "P"
titanicDirector < returnOfTheKingDirector // evaluates to true
titanicDirector >= "James Cameron" // evaluates to true
titanicDirector == "James Cameron" // evaluates to true
Булевы выражения особенно полезны когда используется вместе с '''if'''. Например:
if (titanicBoxOffice + trueLiesBoxOffice > returnOfTheKingBoxOffice + theTwoTowersBoxOffice)
{
println(titanicDirector + " is a better director than " + returnOfTheKingDirector)
}
Особенно полезны испытания заключается в проверке того, являются ли переменная или выражение пустым указателем (не имеет никакого значения). Например скажем, убедиться в том, находится ли данный ключ в карте:
suvMap = ["Acura MDX":"\$36,700", "Ford Explorer":"\$26,845"]
if (suvMap["Hummer H3"] != null)
{
println("A Hummer H3 will set you back "+suvMap["Hummer H3"]);
}
Вообще null используется для обозначения отсутствия значения в некоторых местах.