Фрагмент от лекция с ментор като част от курса на Codegym University. Запишете се за пълния курс.


„Бих искал да ви разкажа малко за сравняването на променливи в Java.

„Вече знаете най-простите оператори за сравнение – по-малко от (<) и по-голямо от (>).“

— Да.

„Има и оператори като равно на (==) и неравно на (!=). Както и по-малко or равно на (<=) и по-голямо or равно на (>=).“

"Сега това става интересно."

„Имайте предвид, че в Java няма оператори =< or =>!“

" Знакът = се използва за операции за присвояване. Ето защо два знака за equalsство (==) се използват за тестване на equalsството. За да проверите дали променливите не са равни , използвайте оператора != ."

"Виждам."

„Когато сравняваме две променливи в Java с помощта на оператора ==, ние сравняваме съдържанието на променливите.“

"По този начин, за примитивни променливи , техните стойности се сравняват ."

"За референтни променливи референциите се сравняват . Да предположим, че имаме идентични, но различни обекти. Тъй като референциите към тях са различни , сравнението ще покаже, че те не са равни, т.е. резултатът от сравнението ще бъде неверен . Сравнението на референциите ще бъде истина само ако и двете препратки сочат към един и същ обект. "

"За да сравним вътрешното съдържание на обекти, ние използваме специалния метод equals . Този метод (и всички методи на класа Object) се добавят към вашия клас от компилатора, дори ако не ги декларирате. Нека ви покажа някои примери: "

Код Обяснение
1
int a = 5;
int b = 5;
System.out.println(a == b);
Сравнете примитивните типове.
true ще се покаже на екрана.
2
Cat cat1 = new Cat("Oscar");
Cat cat2 = cat1;
System.out.println(cat1 == cat2);
Сравнете препратките .
true ще се покаже на екрана.
И двете променливи съхраняват препратки към един и същ обект .
3
String s = new String("Mom");
String s2 = s;
System.out.println(s == s2);
Сравнете препратките .
true ще се покаже на екрана.
И двете променливи съхраняват препратки към един и същ обект .
4
Cat cat1 = new Cat("Oscar");
Cat cat2 = new Cat("Oscar");
System.out.println(cat1 == cat2);
Сравнете препратките .
false ще се покаже на екрана.
Двете променливи препращат към идентични Cat обекти, но не към един и същи.
5
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s == s2);
Сравнете препратките .
false ще се покаже на екрана.
Двете променливи препращат към идентични String обекти, но не към един и същи.
6
Cat cat1 = new Cat("Oscar");
Cat cat2 = new Cat("Oscar");
System.out.println(cat1.equals(cat2));
Сравнете обекти .
true ще се покаже на екрана.
Двете променливи препращат към идентични Cat обекти
7
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s.equals(s2));
Сравнете обекти .
true ще се покаже на екрана.
Двете променливи препращат към идентични String обекти

„О, почти забравих! Ето някои упражнения за вас:“

4
Задача
Java Syntax,  нивоурок
Заключено
Minimum of two numbers
All search and sort algorithms are based on comparisons. You'll be able to handle these very soon, if you so desire. In the meantime, we suggest starting with something small: write a program to find the minimum of two numbers. Find it and then display it. And if the numbers are the same, display either of them.
4
Задача
Java Syntax,  нивоурок
Заключено
Maximum of four numbers
Finding the maximum is an n-ary operation (an operation on n numbers) that returns the largest of several numbers. Never mind. We have no need for such definitions at the secret CodeGym center. We're here to learn how to write code. In this task, you need to use the keyboard to enter four numbers. Then determine the largest of them and display it on the screen.
8
Задача
Java Syntax,  нивоурок
Заключено
Sorting three numbers
Planet Linear Chaos is populated by isomorphs. They are believed to have invented sorting algorithms. Everything in their heads is extremely well-ordered. They only issue planetary visas to people who know at least 7 sorting algorithms. Let's take our first step toward Linear Chaos: Read three numbers from the keyboard, put them in descending order, and then display them on the screen.
4
Задача
Java Syntax,  нивоурок
Заключено
Jen or Jen?
Jen, Company X's admin, learned how to pilot a space ship and flew away to another planet. People in Company X are good and sincere. It's just that they're scatterbrained and they mix up names. So they decided that the new administrator would also be called Jen. Let's help Company X find their Jen: write a program that checks the identity of two entered names.