Операторите за сравнение и логически стойности

В този раздел ще разгледаме оператори за сравнение и логически стойности, че тези оператори се върнат.

Много оператори за сравнение са ни познати от математиката:







Подобно на други оператори, сравнение връща стойност. Тази стойност е булева.

Има само две логически стойности:

  • вярно - че има смисъл да е "да", "дясно", "истина".
  • фалшиво - означава "не", "не е вярно", "фалшива".

За правилна съпоставка на героите трябва да е в същия регистър.

Ако първата буква от първата линия повече - толкова първия низ е по-голяма, независимо от останалите знаци:

Ако една и съща - сравнението отива по-далеч. Тук става въпрос за третата буква:

В този случай всяко писмо повече от липсата на писмото:

Такова сравнение е наречен лексикографски.







Обикновено получаваме стойностите от посетителите във формата на линии. Например, бързо възстановяване на линия. която въвежда посетителя.

Получените по този начин под формата на линии номера не могат да бъдат сравнявани, резултатът може да е неправилно. Например:

В горния пример 2 е повече от 14, защото конците се сравняват, знак по знак, а първият символ на "2" е по-голяма от "1".

Правилно би било да ги конвертирате в редица изрично. Така например, поставяне на + пред тях:

Стриктното сравнение е изгодно, ако искаме да сме сигурни, че "изненади" няма.

Проблеми с специалните стойности са възможни, когато се прилагат към променлива операция сравнение> <<=>=. и тя може да бъде числова стойност, и нула / неопределено.

Интуитивно, изглежда, че нулевата / неопределен еквивалент на нула, но това не е така.

Те се държат по различен начин.

  1. Нулеви и неопределени == равни помежду си и не са равни на каквото и да било друго. Това строго правило е буквално написано в спецификацията на език.
  2. При преобразуване на броя става нула и неопределен става 0. NaN.

Виж смешни последици.

Сравними нула с нула: