Java boolean wrapper if

Урок 7. Булевы и условные операторы Java

На седьмом уроке из серии уроков по основам Java мы будем обсуждать булевы и условные операторы в Java.

Логическое значение – это примитивный тип данных, который хранит одно из двух значений, true или false. Название происходит от изобретателя, Джорджа Буля, который очень подробно обсуждал идею булева уравнения. В Java мы можем использовать булевы выражения для создания условий и выполнения блоков кода, основанных на этих условиях. Чтобы проиллюстрировать эту идею, представьте себе ситуацию, которую большинство из нас испытывает каждый день. Когда ваш будильник зазвенит утром, то, легли ли вы спать рано или поздно, вы можете решить, вставать или нажимать кнопку повтора. Если вы рано легли спать, это можно считать логическим значением, но для того, чтобы код решил, какое из этих двух действий вы должны выполнить, вам нужны условные операторы.

Условные операторы определяют условия, которые являются истинными или ложными, а затем выполняются в зависимости от того, является ли условие истинным. В основном, условия говорят:”Если x истинно, то выполните y». Эта логика называется «если-утверждение».

Во всех языках программирования это if-оператор является самым мощным и важным оператором, поскольку он позволяет программе каждый раз выполняться по-разному. Для демонстрации, если мы создадим логический isMonday и логический isRaining и установим их оба в true, у нас может быть оператор if, который проверяет это, а затем вызывает drinkBeer(), если оба они истинны. В конце концов, что еще можно сделать в дождливый понедельник?

@Test public void demonstrateBoolean() < boolean isMonday = true; boolean isRaining = true; if(isMonday && isRaining) < drinkBeer(); >>

Проверка истинности обоих условий выполняется с помощью символа “&&». Если оба условия верны, то метод drinkBeer() будет выполняться. Мы также можем проверить, верно ли только одно из условий:

@Test public void demonstrateBoolean() < boolean isMonday = false; boolean isRaining = true; if(isMonday || isRaining) < drinkBeer(); >>

Оператор if в примере выше говорит: “Если сегодня понедельник или идет дождь, то пейте пиво». Оператор || — это оператор OR. Теперь, если идет дождь или это понедельник, метод drinkBeer() будет выполнен.

Одним из интересных аспектов сложных if-утверждений является идея короткого замыкания. Как мы уже обсуждали ранее, в операторе AND, если оба условия верны, будет выполняться метод drinkBeer(). Однако, если первое условие ложно, оператор if будет «замыкать цепь» и не будет выполнять код без проверки второго логического значения. Если бы логическое число isMonday было истинным, а логическое число isRaining — ложным, вы бы с волнением отметили, что сегодня понедельник, но поскольку дождя не было, вы все равно не могли бы пить пиво.

То же самое справедливо и для оператора OR. Если первое условие истинно, то проверка второго условия не требуется, так как код внутри условного условия будет выполняться независимо от того, истинно ли второе условие.

Наши «если-утверждения» также могут быть значительно усложнены путем усложнения различных условий. Логика работает, оценивая условия в нескольких уровнях скобок, а затем оценивая условия только в одном наборе скобок. Логика также проверяет условия слева направо. Прежде чем продолжить чтение, посмотрите, сможете ли вы выяснить, будет ли метод drinkBeer() выполняться в примере ниже.

@Test public void demonstrateBoolean() < boolean isMonday = false; boolean isRaining = true; boolean isTuesday = true; boolean isSunny = false; if((isMonday && isRaining) || (isTuesday && isSunny)) < drinkBeer(); >>

Хорошо, давайте посмотрим на первое условие, «isMonday & & isRaining» – это false. После этого вы можете видеть, что у нас есть оператор OR между двумя наборами условий, поэтому оператор if должен проверить второе условие. Итак, давайте сделаем так: «isTuesday & & isSunny». Это тоже ложь, потому что сегодня вторник, но не солнечно. Поскольку ни одно из условий не истинно, все утверждение ложно, и мы не можем пить пиво.

Читайте также:  Php create files array

Теперь я познакомлю вас с аналогом “if-утверждения”: “else statement”. Скажем, сегодня не понедельник, так что мы не можем пить пиво, но нам все равно нужно пить жидкость. Мы могли бы сказать: «если сегодня понедельник, пейте пиво; в противном случае пейте молоко.”

@Test public void demonstrateBoolean() < boolean isMonday= false; if(isMonday) < drinkBeer(); >else < drinkMilk(); >>

Вы можете заметить, что оператор else не имеет условия. Это происходит потому, что else выполняется во всех случаях, когда случай if не применяется.

На твоем месте мне бы надоело пить молоко шесть дней в неделю. Но в то же время я не хочу пить пиво чаще одного раза в неделю. Именно здесь вступает в действие последнее условное утверждение: утверждение else-if. Еще если проверяет условие, если если-утверждение ложно. Вы также можете иметь несколько «else if», которые выполняются, если все предыдущие операторы ложны. В конце всех этих утверждений вы можете получить ваше утверждение “else», которое все еще выполняется во всех других случаях, что означает, что все остальные утверждения были ложными. Давайте рассмотрим пример, где по пятницам мы пьем воду:

@Test public void demonstrateBoolean() < boolean isMonday= false; boolean isFriday= true; if(isMonday) < drinkBeer(); >else if(isFriday) < drinkWater(); >else < drinkMilk(); >>

Использование условных выражений с другими примитивными типами данных

Мы не только можем использовать условные операторы, чтобы проверить, является ли булева переменная истинной или ложной, но мы также можем создать булеву с помощью условия и оценить ее. Например, мы могли бы иметь два int, i и j со значениями 4 и 3 соответственно. Мы можем сравнить их, используя следующие символы:

Вы можете заметить, что оператор для сравнения — это оператор двойное равно, а не одинарное. Это происходит потому, что ‘=’ уже имеет применение: он используется для присвоения значений примитивным типам данных и для присвоения объектов ссылочным переменным. Поэтому, чтобы избежать путаницы как для программиста, так и для компилятора, = = используется для сравнения равенства.

‘!=’ означает «не равный». Вообще «!» перед любым булевым значением будет отрицаться его значение. Из этого следует, что мы будем читать: «!true» как «не true» , что эквивалентно false. Мы читаем !false как «не false», следовательно, она будет эквивалентна true.

Если вы посмотрите на приведенный ниже пример, то увидите, что условные обозначения можно использовать для сравнения значений по-разному. Очевидно, поскольку мы знаем значения, присвоенные i и j, это не очень полезно, но если бы эти значения были динамически заданы в качестве параметра метода, то эти условные обозначения были бы полезны.

@Test public void demonstrateBoolean() < int i = 4; int j = 3; boolean areEqual = (i == j); if(i >j) < // i больше чем j >else if( !(i >= j)) < // i не больше или равно j >else < // i равно j >if(areEqual) < // i равно j >else < // i не равно j >>

Применение условных операторов

Читайте также:  Php mbstring extension установка

Возможно, у вас еще нет навыков создания более сложных условных операторов, но вы все еще можете применять условные выражения к некоторым полезным примерам. Допустим, у нас есть наши значения i и j, но теперь мы хотим увеличить значение j, Если это понедельник. Мы не будем увеличиваться в каждом случае; мы делаем это только в том случае, если наше условие выполнено. Мы можем делать и другие вещи, которые могут быть полезны при определенных условиях.

@Test public void demonstrateBoolean() < int i = 4; int j = 3; boolean isMonday = true; boolean areEqual = (i == j); if(areEqual)< i = 8 >else if(j > i) < j = i - 3; >if(isMonday) < j++; >>

Условные выражения предоставляют Java-коду средства, позволяющие реагировать по-разному в зависимости от различных внешних условий. Это чрезвычайно гибкие и мощные инструменты, которые вы будете продолжать использовать по мере того, как будете изучать все больше и больше Java.

Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

статьи IT, уроки по java, java, условные операторы

Источник

Boolean in java

Java boolean
A boolean in java is a primitive data type with only two possible values: true or false . This article will explain what is a boolean, how to use boolean in java, its default value and boolean array with example programs. Boolean values are most commonly used in
1. if statements where the condition should result in true or false .
2. Java ternary operator where the first operand or the expression should return a boolean.
3. Comparison of values with each other using logical( && or || ) or equality( == ) operators always results in a boolean value.
A variable of type boolean is declared with boolean keyword.

boolean example
Below is an example program which declares and prints the values of boolean variables.

public class BooleanDeclaration < public static void main(String[] a) < // declare variables boolean start = true; boolean stop = false; // print variables System.out.println("Start value is: " + start); System.out.println("Stop value is: " + stop); >>

Boolean expression
An expression which returns a boolean value is a boolean expression in java. As stated earlier, comparisons performed with logical or equality operator always return a boolean value.
Below is an example program which shows the usage of a boolean expression to compare two integers with if statement

public class BooleanDeclaration < public static void main(String[] a) < // declare variables int numOne = 10; int numTwo = 20; // compare variables if(numOne == numTwo) < System.out.println("Values are equal"); >else < System.out.println("Values are not equal"); >> >

Java boolean method
A method in java may also return a boolean value. Return type of such method must be boolean . Example program is

public class BooleanDeclaration < public static void main(String[] a) < // declare variables int numOne = 10; int numTwo = 20; if(compareNumbers(numOne, numTwo))< System.out.println("Values are equal"); >else < System.out.println("Values are not equal"); >> // boolean method static boolean compareNumbers(int numOne, int numTwo) < // compare variables if(numOne == numTwo) < return true; >else < return false; >> >

A boolean method should return either true or false value.
As already stated, comparison expression results in a boolean value. Thus, the method in above example can be shortened by directly returning result of boolean expression as shown below.

static boolean compareNumbers(int numOne, int numTwo) < // compare variables return numOne == numTwo; >
  • To create a wrapper object from primitive value, use its valueOf() method which accepts a primitive value as argument. valueOf() is a static method, so you don’t need an object to invoke it.
  • To get primitive value from a wrapper object, use its booleanValue() method.
  • To convert a boolean primitive to String, call toString() method on wrapper object.
  • To compare two boolean wrappers, use its equals() method. It compares the value of the underlying primitives and returns true if they are same.
public class BooleanToString < public static void main(String[] args) < // declare a boolean primitive boolean primitive = true; // convert to wrapper object Boolean wrapper = Boolean.valueOf(primitive); // get its boolean value System.out.println(wrapper.booleanValue()); // convert boolean to string String boolString = wrapper.toString(); System.out.println("Boolean to string is: " + boolString); // create another wrapper Boolean wrapperTwo = Boolean.valueOf(false); // compare wrapper objects if (wrapper.equals(wrapperTwo)) < System.out.println("Primitive values are same"); >else < System.out.println("Primitive values are not same"); >> >

true
Boolean to string is: true
Primitive values are not same

Читайте также:  Php form image value

Null handling
You can not initialize a boolean primitive to null, but a boolean wrapper can be initialized to null , which means that you can compare it to null as shown below.

Boolean b = null; if(b == null)

Further, if a null is supplied to valueOf() method while creating a wrapper object, then the underlying primitive value is false . Example,

Boolean wrapper = Boolean.valueOf(null); if(wrapper.booleanValue()) < System.out.println("boolean is true"); >else

Boolean arrays
An array in java is a collection of values of same data type. You can create an array of boolean values. Syntax is

boolean[] var = new boolean[size];

Providing a size is mandatory.
Elements of the array are indexed starting from 0, which means that first element is at index 0, second is at index 1 and so on.
Default values of elements of a boolean array are false .

There is another way of initializing a boolean array where you can provide initial values as shown below

This method is suitable when the size of array is small. Example program is given below

public class DatamigrationApplication < public static void main(String[] args) throws IOException < boolean[] arr = new boolean[5]; for (boolean bool : arr) < System.out.println("Default value is: "+bool); >> >

Default value is: false
Default value is: false
Default value is: false
Default value is: false
Default value is: false

All the elements are initialized to false by default. If the array is of Boolean wrapper objects, then the elements are initialized to null by default.
This is because the elements of wrapper array are objects and objects in java are initialized to null by default.

We can assign value to an array element using its index and assignment operator as shown below.
// assign element at third place

That is all on boolean values in java. Hope the article was helpful.

Источник

Оцените статью