Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Логический тип. Переменные логического типа могут принимать значение или true (истина), или false (ложь)



Переменные логического типа могут принимать значение или true (истина), или false (ложь). Сразу обратите внимание, что нельзя вместо true и false писать нулевое и ненулевое значения (как, например, это можно делать в C/C++). Такое замены в Java нет.

Для переменных логического типа существуют операции & (и), && (и), | (или), || (или),! (не), ^ (исключающее или). Обратите внимание, что для "и" и "или" существует два варианта. Об их различии чуть ниже. Пока же приведем таблицы истинности:

Оператор Описание Результат
&& или & и Результат true только тогда, когда оба операнда равны true
|| или | или Результат false только тогда, когда оба операнда равны false
^ исключающее или Результат true только тогда, когда ровно один из операндов равен true
! не Изменяет значение на противоположное (true на false, false на true)
== логическое равно Применяется к переменым любого типа. Результат true, если оба операнда равны true, false - в противном случае.

Теперь о различии между && и & (|| и |). Операторы & и | - это обычные логические операторы, && и || - сокращенные. Вот конкретный пример для && и &:

...

k=20;

if (k<0 & k/0>1) //деление на 0 и возникнет ошибка

{

System.out.println(k);

}

if (k<0 && k/0>1) //деление на 0, но ошибки нет

{

System.out.println(k);

}

...

Т. е. в первом случае (с одним &) проверяются все части логического выражения, а во втором (с двумя &&) правая часть не проверяется (так как левая равна false).

Вот пример и для "или":

...

k=20;

if (k>0 | k/0>1) //деление на 0 и возникнет ошибка

{

System.out.println(k);

}

if (k>0 || k/0>1) //деление на 0, но ошибки нет

{

System.out.println(k);

}

...

Здесь во втором случае так как левая часть равна true, то правая часть вообще проверяться не будет (и ошибка, соответственно не возникнет).

Также обратите внимание, что в качестве логического равно (т. е. когда мы отвечаем на вопрос, верно ли что что-то равно чему-то) используется двойное равно (==). Одинарное же равно используется для присваивания:

if(a==b){ //Если a равно b

{

a=c; //В a записываем c

}





Дата публикования: 2014-11-04; Прочитано: 309 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...