Главная страница
Навигация по странице:

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

  • Оператор Описание Пример

  • Прочие операторы

  • Оператор instanceof. Оператор instanceof

  • Приоритет операторов в Java

  • Категория Оператор Ассоциативность

  • Java — Основные операторы языка. Java — Основные операторы языка арифметич логич и др. 9. Java Основные операторы языка


    Скачать 34.86 Kb.
    Название9. Java Основные операторы языка
    АнкорJava — Основные операторы языка
    Дата01.09.2022
    Размер34.86 Kb.
    Формат файлаdocx
    Имя файлаJava — Основные операторы языка арифметич логич и др.docx
    ТипДокументы
    #657924


    9. Java — Основные операторы языка

    Java предоставляет богатый набор операторов для управления переменными. Все операторы Java можно разделить на следующие группы:

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

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

    • побитовые операторы;

    • логические операторы;

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

    • прочие операторы.

    Содержание

     [скрыть]

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

      1. Пример

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

      1. Пример

    3. Побитовые операторы

      1. Пример

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

      1. Пример

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

      1. Пример

    6. Прочие операторы

      1. Тернарный оператор или условный оператор (?:)

        1. Пример

      2. Оператор instanceof

        1. Примеры

    7. Приоритет операторов в Java


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

    Арифметические операторы — используются в математических выражениях таким же образом, как они используются в алгебре. Предположим, целая переменная A равна 10, а переменная B равна 20. В следующей таблице перечислены арифметические операторы в Java:

    Оператор

    Описание

    Пример

    +

    Складывает значения по обе стороны от оператора

    A + B даст 30

    -

    Вычитает правый операнд из левого операнда

    A - B даст -10

    *

    Умножает значения по обе стороны от оператора

    A * B даст 200

    /

    Оператор деления делит левый операнд на правый операнд

    B / A даст 2

    %

    Делит левый операнд на правый операнд и возвращает остаток

    B % A даст 0

    ++

    Инкремент - увеличивает значение операнда на 1

    B++ даст 21

    --

    Декремент - уменьшает значение операнда на 1

    B-- даст 19

    Пример

    Следующий простой пример показывает программно арифметические операторы. Скопируйте и вставьте следующий java-код в файл test.java, скомпилируйте и запустить эту программу:

    public class Test {
    public static void main(String args[]) {

    int a = 10;

    int b = 20;

    int c = 25;

    int d = 25;

    System.out.println("a + b = " + (a + b));

    System.out.println("a - b = " + (a - b));

    System.out.println("a * b = " + (a * b));

    System.out.println("b / a = " + (b / a));

    System.out.println("b % a = " + (b % a));

    System.out.println("c % a = " + (c % a));

    System.out.println("a++ = " + (a++));

    System.out.println("b-- = " + (a--));

    // Проверьте разницу в d++ и ++d

    System.out.println("d++ = " + (d++));

    System.out.println("++d = " + (++d));

    }

    }

    Это произведет следующий результат:

    a + b = 30

    a - b = -10

    a * b = 200

    b / a = 2

    b % a = 0

    c % a = 5

    a++ = 10

    b-- = 11

    d++ = 25

    ++d = 27
    Операторы сравнения

    Есть следующие операторы сравнения, поддерживаемые на языке Java. Предположим, переменная A равна 10, а переменная B равна 20. В следующей таблице перечислены реляционные операторы или операторы сравнения в Java:

    Оператор

    Описание

    Пример

    ==

    Проверяет, равны или нет значения двух операндов, если да, то условие становится истинным

    (A == B) — не верны

    !=

    Проверяет, равны или нет значения двух операндов, если значения не равны, то условие становится истинным

    (A != B) — значение истинна

    >

    Проверяет, является ли значение левого операнда больше, чем значение правого операнда, если да, то условие становится истинным

    (A > B) — не верны

    <

    Проверяет, является ли значение левого операнда меньше, чем значение правого операнда, если да, то условие становится истинным

    (A < B) — значение истинна

    >=

    Проверяет, является ли значение левого операнда больше или равно значению правого операнда, если да, то условие становится истинным

    (A >= B) — значение не верны

    <=

    Проверяет, если значение левого операнда меньше или равно значению правого операнда, если да, то условие становится истинным

    (A <= B) — значение истинна

    Пример

    Следующий простой пример показывает, программно операторы сравнения в Java. Скопируйте и вставьте следующий java-код в файл test.java, скомпилируйте и запустить эту программу:

    public class Test {
    public static void main(String args[]) {

    int a = 10;

    int b = 20;

    System.out.println("a == b = " + (a == b) );

    System.out.println("a != b = " + (a != b) );

    System.out.println("a > b = " + (a > b) );

    System.out.println("a < b = " + (a < b) );

    System.out.println("b >= a = " + (b >= a) );

    System.out.println("b <= a = " + (b <= a) );

    }

    }

    Будет получен следующий результат:

    a == b = false

    a != b = true

    a > b = false

    a < b = true

    b >= a = true

    b <= a = false
    Побитовые операторы

    Java определяет несколько побитовых операторов, которые могут быть применены для целочисленных типов: int, long, short, char и byte. В Java побитовый оператор работает над битами и выполняет операцию бит за битом. Предположим, если a = 60; и b = 13; то в двоичном формате они будут следующие:

    a = 0011 1100 
    b = 0000 1101 
    ----------------- 
    a&b = 0000 1100 
    a|b = 0011 1101 
    a^b = 0011 0001 

    a = 1100 0011

    Предположим целочисленные переменная A равна 60, а переменная B равна 13. В следующей таблице перечислены побитовые операторы в Java:

    Оператор

    Описание

    Пример

    & (побитовое и)

    Бинарный оператор AND копирует бит в результат, если он существует в обоих операндах.

    (A & B) даст 12, который является 0000 1100

    | (побитовое или)

    Бинарный оператор OR копирует бит, если он существует в любом из операндов.

    (A | B) даст 61 который равен 0011 1101

    ^ (побитовое логическое или)

    Бинарный оператор XOR копирует бит, если он установлен в одном операнде, но не в обоих.

    (A ^ B) даст 49, которая является 0011 0001

    (побитовое дополнение)

    Бинарный оператор дополнения и имеет эффект «отражения» бит.

    ( A) даст -61, которая является формой дополнением 1100 0011 в двоичной записи

    << (сдвиг влево)

    Бинарный оператор сдвига влево. Значение левых операндов перемещается влево на количество бит, заданных правым операндом.

    A << 2 даст 240, который 1111 0000

    >> (сдвиг вправо)

    Бинарный оператор сдвига вправо. Значение правых операндов перемещается вправо на количество бит, заданных левых операндом.

    A >> 2 даст 15, который является 1111

    >>> (нулевой сдвиг вправо)

    Нулевой оператор сдвига вправо. Значение левых операндов перемещается вправо на количество бит, заданных правым операндом, а сдвинутые значения заполняются нулями.

    A >>> 2 даст 15, который является 0000 1111

    Пример

    Следующий простой пример показывает, программно побитовые операторы в Java. Скопируйте и вставьте следующий java-код в файл test.java, скомпилируйте и запустить эту программу:

    public class Test {
    public static void main(String args[]) {

    int a = 60; /* 60 = 0011 1100 */

    int b = 13; /* 13 = 0000 1101 */

    int c = 0;
    c = a & b; /* 12 = 0000 1100 */

    System.out.println("a & b = " + c );
    c = a | b; /* 61 = 0011 1101 */

    System.out.println("a | b = " + c );
    c = a ^ b; /* 49 = 0011 0001 */

    System.out.println("a ^ b = " + c );
    c = a; /*-61 = 1100 0011 */

    System.out.println("a = " + c );
    c = a << 2; /* 240 = 1111 0000 */

    System.out.println("a << 2 = " + c );
    c = a >> 2; /* 215 = 1111 */

    System.out.println("a >> 2 = " + c );
    c = a >>> 2; /* 215 = 0000 1111 */

    System.out.println("a >>> 2 = " + c );

    }

    }

    Будет получен следующий результат:

    a & b = 12

    a | b = 61

    a ^ b = 49

    a = -61

    a << 2 = 240

    a >> 15

    a >>> 15
    Логические операторы

    Предположим, логическая переменная A имеет значение true, а переменная B хранит false. В следующей таблице перечислены логические операторы в Java:

    Оператор

    Описание

    Пример

    &&

    Называется логический оператор «И». Если оба операнда являются не равны нулю, то условие становится истинным

    (A && B) — значение false

    ||

    Называется логический оператор «ИЛИ». Если любой из двух операндов не равен нулю, то условие становится истинным

    (A || B) — значение true

    !

    Называется логический оператор «НЕ». Использование меняет логическое состояние своего операнда. Если условие имеет значение true, то оператор логического «НЕ» будет делать false

    !(A && B) — значение true

    Пример

    Следующий простой пример показывает, программно логические операторы в Java. Скопируйте и вставьте следующий java-код в файл test.java, скомпилируйте и запустить эту программу:

    public class Test {
    public static void main(String args[]) {

    boolean a = true;

    boolean b = false;
    System.out.println("a && b = " + (a&&b));
    System.out.println("a || b = " + (a||b) );
    System.out.println("!(a && b) = " + !(a && b));

    }

    }

    Это произведет следующий результат:

    a && b = false

    a || b = true

    !(a && b) = true
    Операторы присваивания

    Существуют следующие операторы присваивания, поддерживаемые языком Java:

    Оператор

    Описание

    Пример

    =

    Простой оператор присваивания, присваивает значения из правой стороны операндов к левому операнду

    C = A + B, присвоит значение A + B в C

    +=

    Оператор присваивания «Добавления», он присваивает левому операнду значения правого

    C += A, эквивалентно C = C + A

    -=

    Оператор присваивания «Вычитания», он вычитает из правого операнда левый операнд 

    C -= A, эквивалентно C = C - A

    *=

    Оператор присваивания «Умножение», он умножает правый операнд на левый операнд

    C * = A эквивалентно C = C * A

    /=

    Оператор присваивания «Деление», он делит левый операнд на правый операнд 

    C /= A эквивалентно C = C / A

    %=

    Оператор присваивания «Модуль», он принимает модуль, с помощью двух операндов и присваивает его результат левому операнду

    C %= A, эквивалентно C = C % A

    <<=

    Оператор присваивания «Сдвиг влево»

    C << = 2, это как C = C << 2

    >>=

    Оператор присваивания «Сдвиг вправо»

    C >>= 2, это как C = C >> 2

    &=

    Оператор присваивания побитового «И» («AND»)

    C &= 2, это как C = C & 2

    ^=

    Оператор присваивания побитового исключающего «ИЛИ» («XOR»)

    C ^= 2, это как C = C ^ 2

    |=

    Оператор присваивания побитового «ИЛИ» («OR»)

    C |= 2, это как C = C | 2

    Пример

    Следующий простой пример показывает, программно логические операторы в Java. Скопируйте и вставьте следующий java-код в файл test.java, скомпилируйте и запустить эту программу:

    public class Test {
    public static void main(String args[]) {

    int a = 10;

    int b = 20;

    int c = 0;
    c = a + b;

    System.out.println("c = a + b = " + c );
    c += a ;

    System.out.println("c += a = " + c );
    c -= a ;

    System.out.println("c -= a = " + c );
    c *= a ;

    System.out.println("c *= a = " + c );
    a = 10;

    c = 15;

    c /= a ;

    System.out.println("c /= a = " + c );
    a = 10;

    c = 15;

    c %= a ;

    System.out.println("c %= a = " + c );
    c <<= 2 ;

    System.out.println("c <<= 2 = " + c );
    c >>= 2 ;

    System.out.println("c >>= 2 = " + c );
    c >>= 2 ;

    System.out.println("c >>= a = " + c );
    c &= a ;

    System.out.println("c &= 2 = " + c );



    c ^= a ;

    System.out.println("c ^= a = " + c );
    c |= a ;

    System.out.println("c |= a = " + c );

    }

    }

    Будет получен следующий результат:

    c = a + b = 30

    c += a = 40

    c -= a = 30

    c *= a = 300

    c /= a = 1

    c %= a = 5

    c <<= 2 = 20

    c >>= 2 = 5

    c >>= 2 = 1

    c &= a = 0

    c ^= a = 10

    c |= a = 10
    Прочие операторы

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

    Тернарный оператор или условный оператор (?:). Тернарный оператор — оператор, который состоит из трех операндов и используется для оценки выражений типа boolean. Тернарный оператор в Java также известен как условный оператор. Этот. Цель тернарного оператора или условного оператора заключается в том, чтобы решить, какое значение должно быть присвоено переменной. Оператор записывается в виде:

    переменная x = (выражение) ? значение if true : значение if false

    Пример

    Ниже приведен пример:

    public class Test {



    public static void main(String args[]){

    int a , b;

    a = 10;

    b = (a == 1) ? 20 : 30;

    System.out.println( "Значение b: " + b );



    b = (a == 10) ? 20 : 30;

    System.out.println( "Значение b: " + b );

    }

    }

    Будет получен следующий результат:

    Значение b: 30

    Значение b: 20

    Оператор instanceof. Оператор instanceof — проверяет, является ли объект определенного типа (типа класса или типа интерфейса) и используется только для переменных ссылочного объекта. Оператор instanceof записывается в виде:

    (Переменная ссылочного объекта) instanceof (класс/тип интерфейса)

    Примеры Если переменная ссылочного объекта в левой части оператора проходит проверку для класса/типа интерфейса на правой стороне, результатом будет значение true. Ниже приведен пример и описание оператора instanceof:

    public class Test {



    public static void main(String args[]){

    String name = "Олег";

    // Следующее вернётся верно, поскольку тип String

    boolean result = name instanceof String;

    System.out.println( result );

    }

    }

    Будет получен следующий результат:

    true

    Этот оператор по-прежнему будет возвращать значение true, если сравниваемый объект является совместимым с типом на право назначения. Ниже приводится еще один пример:

    class Vehicle {}



    public class Car extends Vehicle {

    public static void main(String args[]){

    Vehicle a = new Car();

    boolean result = a instanceof Car;

    System.out.println( result );

    }

    }

    Будет получен следующий результат:

    true
    Приоритет операторов в Java

    Приоритет операторов определяет группирование терминов в выражении. Это влияет как вычисляется выражение. Некоторые операторы имеют более высокий приоритет, чем другие; например оператор умножения имеет более высокий приоритет, чем оператор сложения:

    Например, x = 7 + 3 * 2. Здесь x присваивается значение 13, не 20, потому что оператор «*» имеет более высокий приоритет, чем «+», так что сначала перемножается «3 * 2», а затем добавляется «7».

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

    Категория

    Оператор

    Ассоциативность

    Постфикс

    () [] . (точка) 

    Слева направо

    Унарный

    ++ - - !

    Справа налево

    Мультипликативный

    * / % 

    Слева направо

    Аддитивный

    + - 

    Слева направо

    Сдвиг

    >> >>> << 

    Слева направо

    Реляционный

    > >= < <= 

    Слева направо

    Равенство

    == != 

    Слева направо

    Побитовое «И» («AND») 



    Слева направо

    Побитовое исключающее «ИЛИ» («XOR») 



    Слева направо

    Побитовое «ИЛИ» («OR») 



    Слева направо

    Логическое «И» («AND») 

    && 

    Слева направо

    Логическое «ИЛИ» («OR») 

    || 

    Слева направо

    Условный

    ?: 

    Справа налево

    Присваивание

    = += -= *= /= %= >>= <<= &= ^= |= 

    Справа налево

    Запятая



    Слева направо

    http://proglang.su/java/operators


    написать администратору сайта