Boolean type

"Hi, Amigo. Let me tell you about a new data type. The boolean. Variables of this type can take only two values: true and false."

"How do we use it?"

"This type is implicitly used in many places. Just as any addition operation produces a number, the result of any comparison is a boolean. Here are some examples:"

Code Explanation
1
boolean m;
These two expressions are equivalent. The default value of a boolean variable is false.
2
boolean m = false;
3
if (a > b)
    System.out.println(a);
The result of the comparison (either true or false) will be assigned to the variable m. The condition is satisfied if the expression evaluates to true.
4
boolean m = (a > b);
if (m)
    System.out.println(a);
5
boolean m = (a > b);
if (m == true)
    System.out.println(a);
There is no need to compare a logical (boolean) variable with true or false. The result of the comparison will be a boolean that matches the other variable. For example, true == true evaluates to true; true == false evaluates to false.
6
boolean m = (a > b);
if (m)
    System.out.println(a);

"More examples:"

Code Explanation
1
public boolean isALessThenB (int a, int b)
{
    if (a < b)
        return true;
    else
        return false;
}
This method verifies that number a is less than number b.

Here are four equivalent comparisons. The last one is the most compact and correct. Always try to use compact notation.

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;
}
2
Task
Java Syntax,  level 4lesson 7
Code entry
Sometimes you don't need to think, you just need to hammer it out! As paradoxical as it may seem, sometimes your fingers will "remember" better than your conscious mind. That's why while training at the secret CodeGym center you will sometimes encounter tasks that require you to enter code. By entering code, you get used to the syntax and earn a little dark matter. What's more, you combat laziness.

"What if I want to write 0<a<b?"

"Java doesn't have a comparison operator that takes three operands. So, you would need to do it like this: (0<a) AND (a<b)."

"Do I write the word AND?"

"Wait. I'll explain that. Java has three logical operators: AND, OR and NOT. You can use them to construct conditions of varying complexity. You can use these operators only with boolean expressions. So, you can't write (a+1) AND (3), but (a>1)AND (a<3) is OK."

"The NOT operator is unary: it affects only the expression to the right. It's more like a minus sign before a negative number rather than a multiplication sign between two numbers."

"You can perform various operations on boolean (logical) variables."

"Like what?"

"Let's take a look:"

Logical operator Java notation Expression Result
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
Common combinations and expressions m && !m false
m || !m true
! (a && b) !a || !b
! (a || b) !a && !b

"Could you give me more examples?"

"Sure:"

Java notation Logical notation
(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))

"Now, do some tasks."

4
Task
Java Syntax,  level 4lesson 7
Labels and numbers
Not all labels are equally useful, but sometimes a lack of labels results in chaos. Let's do a task that dishes out labels: use the keyboard to enter an integer, and make the program indicate whether the number is negative or positive (or zero), and even or odd. Why do we need this? Just because, for practice. After all, we're here to learn!
8
Task
Java Syntax,  level 4lesson 7
Describing numbers
Suppose we need to separate numbers according to some criteria. For example, based on whether they are even or odd, or based on the number of digits. Have you got a picture of that in your mind? And now for the work: we'll write a program that describes the number entered by the user (it must be in the range from 1 to 999). The description will indicate whether the number is even or odd, and how many digits it has.
4
Task
Java Syntax,  level 4lesson 7
Positive number
At the "Optimist" school, the scale used to assess knowledge has neither an upper nor lower bound. This pleases young gifted people (wouldn't you be happy to receive a score of a bazillion for a presentation?). All scores above zero are considered good. Scores below zero are bad. Students must pass final exams in three subjects. We need to enter three scores from the keyboard, and display the number of positive scores.
4
Task
Java Syntax,  level 4lesson 7
Positive and negative numbers
Data analysis starts with a simple concept: we need to understand what data matters and should be used, and what data should be discarded. Let's solve a simple data analysis problem. We enter three integers from the keyboard, then we'll analyze them and display the number of positive and negative numbers in the source set.
Comments(38)
  • Popular
  • New
  • Old
You must be signed in to leave a comment
Michael BreyLevel 6 , Dresden
27 October 2019, 10:41
Did anyone find a solution without using arrays and loops? I wonder, whether it is possible to navigate this task with the instruments codegym has given us so far. :-(
Linnert LoobuyckLevel 5 , Gent
11 December 2019, 13:23
I tried to create some classes. I created 2 extra classes. First class named counter, second class named checker. in the counter class i created a variable "count" , which i used in my main class to count the number of positive numbers. in the checker class i created the if statement that adds 1 to the count variable, if the entered number is a positive one. in your main class you call the checker method on your 3 entered integers. Then, to have output, you print your variable count. This worked fine for me, and the exercise accepted my solution. Hint: to call the right variable in the checker method, i revised Lesson 4.1 (especially the exercise "price of apples" This is my first time to write a hint, i hope it's helpful. Goodluck!
ChristopherLevel 8
14 December 2019, 15:40
clunky, but yes. define a count variable and then check each number with an if statement. those that are positive add one to your count variable.
VishalLevel 11 , Hyderabad
26 December 2019, 10:41
i did by using only if n else like a stupid!
Vicky MillinshipLevel 4 , Walton le Dale
11 January, 16:17
I'm kind of having an easier/harder time in that my boyfriend is a software developer so I have him to ask. I kept on saying I thought this could be done with an array and he just kept on trying to show me really difficult, fancy ways of doing stuff...kind of wish I could reverify with something else using if statements only.
Vladan LukovicLevel 5 , Bor
17 October 2019, 16:12
I lot of cool things you can do with only two states "true" and "false".
CristianLevel 8 , Bucharest
20 September 2019, 19:23
Fun!
BharatLevel 6
6 September 2019, 15:55
lot of tasks but it's fun i like it
Randall JohnLevel 7 , East Cleveland
11 August 2019, 17:43
These were so long lol
Gabriella LaPlaceLevel 8 , Basseterre
23 July 2019, 13:46
Cool.
JayLevel 17 , Washington
6 July 2019, 23:27
What's meant by the requirement: Note that 0 is not a positive or negative number?
8 July 2019, 15:06
use if(number > 0) { .... }
Isaiah BurkesLevel 16 , Tampa
18 July 2019, 01:24
It means that if the number is 0 do not increment the amount of positive or negative numbers, because 0 is neither.
JayLevel 17 , Washington
19 July 2019, 13:25
Thanks.
Hoang KhaiLevel 8 , Chantilly
1 July 2019, 15:17
There are several assignments in this section you can solve using array. I applied array to tasks that can possibly work well with this basic data structure. I aced tasks easily.
8 July 2019, 15:05
me too. but I didn't know how to use the array, but Google helped me =)
CheikhLevel 7 , Dakar
26 August 2019, 12:02
Great. But thing is, they are asking people to do these tasks to better understand and use the lessons they're giving us.
Alan LyneLevel 6 , Maynooth
11 June 2019, 14:23
Anyone else notice the massive increase in the number of challenges xD
IevaLevel 7 , Paris
27 June 2019, 15:09
For Sure!!!!!
TangerinLevel 27 , Chongqing
8 June 2019, 16:04
Is there anyway to quickly type BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); in IDEA just like sout and psvm? I'm tired to type these codes:(
AlexLevel 41
10 June 2019, 09:08
Yes, there's a way to add your own shortcuts in IntellijIDEA. Go to File -> Settings -> Live Templates. To the right of this menu window you will see the + and - buttons. Go ahead and press the + button, then choose Live Template, which will create a new temp shortcut template under the "user" section. Add the abbreviation and a short description you wish to use for this code, then in the "Template text" window type/paste your code. Then next to the "No applicable context" text click on the Define link and choose Java. Click Apply and you're done. You should now be able to use your shortcut in any IntellijIDEA code window.