Что в java значит
Перейти к содержимому

Что в java значит

  • автор:

Какие бывают операторы в языке Java

В Java поддерживаются следующие арифметические операторы (табл. 2.4).

Таблица 2.4. Арифметические операторы
+ Сложение
Вычитание
* Умножение
/ Деление
% Вычисление остатка
++ Инкремент
Декремент
+= Присваивание со сложением
-= Присваивание с вычитанием
*= Присваивание с умножением
/= Присваивание с делением
%= Присваивание с вычислением остатка
Первые пять операторов всем знакомы по школьному курсу математики, причем два так называемых унарных оператора, и можно использовать для указания знака данною числа. Далее следуют операторы под названием инкремент (++) и декремент (- -).
Один из них (инкремент) прибавляет к значению переменной единицу, другой (декремент), наоборот, убавляет единицу.

Данные операторы указываются без пробела рядом со значением переменной. Если они стоят слева от переменной, то это называется префиксной формой инкремента или декремента, и это означает, что вначале к переменной прибавляется (или от нее отнимается) единица, а потом она используется в выражении. Если же инкремент (или декремент) ставится после имени переменной, то это называется постфиксной формой, и это означает, что переменная вначале используется в выражении, а затем к ней прибавляется (или от нее отнимается) единица.

Остальные пять операторов используются следующим образом:
а += b
аналогично записи:
а = а + b

Пример использования всех этих операторов приведен в листинге 2.9.

Листинг 2.9.
Пример использования арифметических операторов

class Example < public static void main (String args[]) < int a,b,c,d,e; a=10 b= 11; c= 12; a+ = b; // a=21 a *= c; // a = 252 a = a - c; // a = 240 a -= c; // a = 228 d = 5; e = 10; System.out.println (++d); Выведется 6 System.out.println (d++); Выведется 6 System.out.println (e--) ; Выведется 10 System.out.println (--e) ; Выведется 8 >>

Теперь рассмотрим битовые (поразрядные) операторы (табл. 2.5).

Таблица 2.5. Битовые (поразрядные) операторы

– Унарное отрицание
& Поразрядное И
| Поразрядное ИЛИ
^ Поразрядное исключающее ИЛИ
>> Сдвиг битов вправо
>>> Сдвиг битов вправо с заполнением старшего бита нулем
&=, | =, ^=, >=, >>>= Присвоение с аналогичной операцией

С помощью данных операторов мы работаем над числами в их двоичном представлении. Рассмотрим, например, запись числа 15 в двоичной форме. 00001111

Первый оператор, называемый унарным отрицанием, превращает 0 в 1, а 1 в 0. Оператор поразрядного “и” создает в итоге единицу, если у обоих аналогичных битов сравниваемых чисел тоже 1. Если у них другое сочетание чисел, то итог будет 0. Например:
С = А & В

Предположим, А = 15 (00001111), а В равно 10 (00001010). Число С в таком случае будет равно 10 (00001010). Поразрядное “ИЛИ” означает следующее: если хотя бы один из битов равен 1, то итог тоже 1. Поразрядное исключающее “ИЛИ” возвращает 1, если только один из битов сравниваемых чисел равно 1. Следующие три оператора сдвигают биты влево на указанное число разрядов, причем сдвиг битов влево заполняет пустые позиции нулями. Пример использования этих операторов приведен в табл. 2.6 и листинге 2.10.

Таблица 2.6. Операторы сдвигов битов

Операторы в Java — шпаргалка с примерами

В этой статье вы узнаете о различных типах операторов Java и их синтаксисе.

Операторы это специальные символы, которые осуществляют операции над операндами ( переменными и значениями ). Например, « + » это оператор, который производит сложение.

Сейчас вы узнаете, как использовать операторы, чтобы манипулировать переменными.

Обновлено: 2022-05-31 17:27:10 КК Константин Кондрусин автор материала

Операторы присваивания

Используются в Java , чтобы присвоить значения переменным. Например,

int age;//возраст age = 5;

Оператор « = » присваивает значение справа от себя переменной, находящейся слева. В примере переменной age присвоено значение 5 .

Пример 1: оператор присваивания

class AssignmentOperator < public static void main(String[] args) < int number1, number2; // Присвоение переменной number1 значения 5 number1 = 5; System.out.println(number1); // Присвоение переменной number2 значения number1 number2 = number1; System.out.println(number2); >>

Когда вы запустите программу, на экран выведется:

Арифметические операторы

Арифметические операторы Java используются, чтобы производить математические операции сложения, вычитания умножения и так далее.

Арифметические операторы Java

Оператор Значение
+ Сложение (также используется для конкатенации строк)
Вычитание
* Умножение
/ Деление
% Остаток от деления

Пример 2: Арифметические операторы

class ArithmeticOperator < public static void main(String[] args) < double number1 = 12.5, number2 = 3.5, result; // Используется оператор сложения result = number1 + number2; System.out.println("number1 + number2 = " + result); // Используется оператор вычитания result = number1 - number2; System.out.println("number1 - number2 = " + result); // Используется оператор умножения result = number1 * number2; System.out.println("number1 * number2 = " + result); // Используется оператор деления result = number1 / number2; System.out.println("number1 / number2 = " + result); // Используется оператор остатка result = number1 % number2; System.out.println("number1 % number2 1" data-ab-test="post_related" data-ab-key="yarpp">
Многопоточность в Java – руководство с примерами

Когда вы запустите программу, на экран выведется:

number1 + number2 = 16.0 number1 - number2 = 9.0 number1 * number2 = 43.75 number1 / number2 = 3.5714285714285716 number1 % number2 = 2.0

В примере с оператором деления Java , приведенном выше, использованные операнды – переменные. Кроме этого могут использоваться символьные значения. Например:

result = number1 + 5.2; result = 2.3 + 4.5; number2 = number1 -2.9;

Оператор « + » также может быть использован, чтобы соединить ( конкатенировать ) две строки или больше.

Пример 3: Арифметический оператор

class ArithmeticOperator < public static void main(String[] args) < String start, middle, end, result; start = "Разговоры ничего не стоят. "; middle = "Покажите мне код. "; end = "- Линус Торвальдс"; result = start + middle + end; System.out.println(result); >>

Когда вы запустите программу, на экран выведется:

Разговоры ничего не стоят. Покажите мне код. - Линус Торвальдс

Унарные операторы

Унарный оператор Java производит операцию только над одним операндом.

Оператор Значение
+ Унарный плюс (не нужен, так как числа положительные и без него).
- Унарный минус; инвертирует знак выражения.
++ Оператор инкремента; увеличивает значение на 1.
-- Оператор декремента; уменьшает значение на 1.
! Оператор логического отрицания; инвертирует значение булевой переменной.

Пример 4: Унарный оператор

class UnaryOperator < public static void main(String[] args) < double number = 5.2, resultNumber; boolean flag = false; System.out.println("+number = " + +number); // number равен здесь 5.2. System.out.println("-number = " + -number); // number равен здесь 5.2 // ++number is Эквивалент number = number + 1 System.out.println("number = " + ++number); // number равен здесь 6.2 // -- number is Эквивалент number = number - 1 System.out.println("number = " + --number); // number равен здесь 5.2 System.out.println("!flag highlight" data-hscroll>
+number = 5.2 -number = -5.2 number = 6.2 number = 5.2 !flag = true

В Java можно использовать операторы « ++ » и « -- » в качестве префикса и постфикса. Оператор « ++ » увеличивает значение на 1 , а « -- » уменьшает значение на 1 .

int myInt = 5; ++myInt // myInt принимает значение 6 myInt++ // myInt принимает значение 7 --myInt // myInt принимает значение 6 myInt-- // myInt принимает значение 5

Есть большая разница в использовании операторов Java инкремента и декремента в префиксе и в постфиксе. Рассмотрим следующий пример.

Пример 5: Унарный оператор

class UnaryOperator < public static void main(String[] args) < double number = 5.2; System.out.println(number++); System.out.println(number); System.out.println(++number); System.out.println(number); >>

Когда вы запустите программу, на экран выведется:

5.2 6.2 7.2 7.2

Когда выполняется выражение System.out.println(number++) , первым вычисляется изначальное значение. Переменная number увеличивается только после этого. Поэтому вы получите на выходе 5.2 . Далее, когда выполняется System.out.println(number) , показывается значение 6.2 .

Тем не менее, когда выполняется System.out.println(++number) , number увеличивается на 1 перед тем, как будет выведено на экран. Так же обстоят дела и с оператором Java декремента.

Операторы равенства и отношений

Операторы равенства и отношений проверяют, является ли операнд больше, меньше, равен, неравен второму и так далее. Получаемый результат равен true или false .

Операторы равенства и отношений в Java

Оператор Описание Пример
== равен 5 == 3 результат false
!= неравен 5 != 3 результат true
> Больше 5 > 3 результат true
меньше 5 < 3 результат false
>= Больше или равен 5 >= 5 результат true
Меньше или равен 5

Рассмотрим следующий простой пример.

Пример 6: Операторы равенства и отношений

class RelationalOperator < public static void main(String[] args) < int number1 = 5, number2 = 6; if (number1 >number2) < System.out.println("number1 больше, чем number2."); >else < System.out.println("number2 больше, чем number1."); >> >

Когда вы запустите программу, в которой используются операторы сравнения Java , на экран выведется:

number2 больше, чем number1.

Здесь мы использовали оператор « > », чтобы проверить, больше ли number1 , чем number2 .

Так как number2 больше, чем number1 , результатом выражения number1 > number2 будет false .

Кроме операторов отношений, есть оператор сравнения типов instanceof , который сравнивает объект и определенный тип.

Оператор instanceof

Пример оператора instanceof .

class instanceofOperator < public static void main(String[] args) < String test = "asdf"; boolean result; result = test instanceof String; System.out.println(result); >>

Когда вы запустите программу, на экран выведется true . Это происходит от того, что test — экземпляр класса String .

Логические операторы Java

Логические операторы Java || ( условное-ИЛИ (OR) ) и && ( условное-И (AND) ) совершают операции над булевыми выражениями. Вот как они работают.

Логические операторы Java

Оператор Описание Пример
|| условное-ИЛИ; true если хотя бы одно из булевых выражений истинно (true) false || true результат - true
&& условное-И; истинно если все булевы выражения истинны (true). false && true результат - false

Пример 8: Логические операторы Java

class LogicOperator < public static void main(String[] args) < int number1 = 1, number2 = 2, number3 = 9; boolean result; // Хотя бы одно из выражений должно быть истинным, чтобы результат был истиной result = (number1 >number2) || (number3 > number1); // результат — истина, так как (number1 > number2) истинно System.out.println(result); // Все выражения должны быть истинными, чтобы результат был true result = (number1 > number2) && (number3 > number1); // Результат будет ложным(false), так как (number3 > number1) ложно System.out.println(result); > >

Когда вы запустите программу, на экран выведется:

true false

Тернарный оператор

Условный оператор или тернарный оператор Java « ? :» - это сокращение выражения if-then-else . Синтаксис условного оператора:

переменная = выражение ? выражение1 : выражение2

Вот как это работает.

  • Если значение выражения - true , expression1 присваивается переменной ;
  • Если значение выражения - false , expression2 присваивается переменной .

Пример 9: Тернарный оператор

class ConditionalOperator < public static void main(String[] args) < int februaryDays = 29;//дней в феврале String result; result = (februaryDays == 28) ? "Не високосный год" : "Високосный год"; System.out.println(result); >>

Когда вы запустите этот тернарный оператор Java пример, на экран выведется:

Високосный год

Побитовые операторы Java и смещение битов

Чтобы осуществлять побитовые операции Java предоставляет следующие операторы.

Побитовые операторы Java и смещение битов в Java

Оператор Описание
~ Побитовое дополнение.
Левый сдвиг.
>> Правый сдвиг.
>>> Беззнаковый правый сдвиг.
& Побитовое И.
^ Побитовое исключающее ИЛИ.
| Побитовое включающее ИЛИ.

Эти операторы применяются нечасто.

Другие операторы присваивания

В начале статьи мы рассмотрели только один оператор присваивания = . Существует еще несколько операторов Java присваивания.

Операторы присваивания в Java

Оператор Пример Эквивалент
+= x += 5 x = x + 5
-= x -= 5 x = x – 5
*= x *= 5 x = x * 5
/= x /= 5 x = x / 5
%= x %= 5 x = x / 5
x

x = x
>>= x >>= 5 x = x >> 5
&= x &= 5 x = x & 5
^= x ^= 5 x = x ^ 5
|= x |= 5 x = x | 5

Оператор двоеточия (::) java, какой принцип работы?

Отсюда вопросы:
как :: определяет, как именно необходимо вызывать метод(System.out.println(n) или n.getKey() )?
как :: может работать с несколькими аргументами?
какой у него вообще принцип работы?

  • Вопрос задан более трёх лет назад
  • 13516 просмотров

Комментировать
Решения вопроса 1
Сергей Горностаев @sergey-gornostaev Куратор тега Java
Седой и строгий

Прежде всего, квадраточие - это оператор, а не функция. Поэтому никаких аргументов он не принимает. У него есть левая часть выражения и правая часть выражения, как у оператора точка, например. Оператор точка позволяет получить значение поля, указанного в правой части выражения, класса, указанного в левой - SomeClass.someField Так же и квадроточие позволяет получить ссылку на метод, указанный в правой части, класса, указанного в левой.

На уровне виртуальной машины, как ссылки на методы, так и лямбды - это создаваемые в рантайме прокси-классы. Пример их генерации и композиции вы можете увидеть здесь.

Ответ написан более трёх лет назад
Комментировать
Нравится 7 Комментировать
Ответы на вопрос 2

Это ссылка на метод. Ссылку можно получить на метод с любым количеством параметров.

Но подставить ее можно только туда, где она подойдёт по типу.

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать

DanielDemidko

Даниил Демидко @DanielDemidko
Программист

:: Никуда ничего не подставляет. Это значит что вы берете и отправляете САМ метод println вместо лямбды

Что значит "->" в Java?

Не сталкивался раньше с таким. Подскажите, пожалуйста, что это такое и где можно об этом почитать хорошие материалы.

Отслеживать
1,552 2 2 золотых знака 10 10 серебряных знаков 17 17 бронзовых знаков
задан 24 мар 2016 в 12:12
1,891 4 4 золотых знака 24 24 серебряных знака 39 39 бронзовых знаков
24 мар 2016 в 12:14
только в Java 8 и выше
24 мар 2016 в 12:20

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Это лямбда выражение - анонимная функция. Проще говоря, это метод без объявления (без модификаторов доступа, возвращающие значение и имя).

Появились в 8 версии Java.

Пример использования

Напишем простой пример функционального интерфейса :

public interface Lambda < //Метод интерфейса с отсутсвующей реализацией int getDoubleValue(int val); //Метод интерфейса с реализацией по-умолчанию default void printVal(int val) < System.out.println(val); >> 

Функциональный интерфейс должен иметь только один абстрактный метод. Прочитать о причинах такого ограничения можно здесь.

Теперь создадим класс для использования

public class ClassForLambda < public static void main(String[] args) < //Объявляем ссылку на функциональный интерфейс Lambda lam; //Параметр для нашего абстрактногго метода int num =9; //Прописываем первый вариант реализации lam = (val) ->val * 2; System.out.println(lam.getDoubleValue(num)); //Прописываем второй вариант реализации lam = (val) -> < System.out.println("Your number is "+val); return val * 2; >; System.out.println(lam.getDoubleValue(num)); > > 

Как можно заметить, обращение к методу не изменилось. Изменению подверглась только реализация.

Ссылки:

  • Хабр
  • JavaRush
  • Еще один ответ на StackOverflow

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *