Философия Java


Руководство по операторам


Следующий пример показывает какие примитивные типы данных могут быть использованы с определенными операторами. В основном это пример, который повторяется снова и снова, но использует различные примитивные типы данных. Файл будет компилироваться без ошибок, потому что строки, которые могут стать причиной ошибки, закоментированы с помощью //!.

//: c03:AllOps.java

// Проверка всех операторов для всех

// примитивных типов данных, чтобы показать,

// какие принимаются компилятором Java.

class AllOps { // Для получения результата булевой проверки:

void f(boolean b) {} void boolTest(boolean x, boolean y) { // Арифметические операторы:

//! x = x * y;

//! x = x / y;

//! x = x % y;

//! x = x + y;

//! x = x - y;

//! x++;

//! x--;

//! x = +y;

//! x = -y;

// Сравнение и логика:

//! f(x > y);

//! f(x >= y);

//! f(x < y);

//! f(x <= y);

f(x == y); f(x != y); f(!y); x = x && y; x = x || y; // Битовые операторы:

//! x = ~y;

x = x & y; x = x | y; x = x ^ y; //! x = x << 1;

//! x = x >> 1;

//! x = x >>> 1;

// Совмещение присваения:

//! x += y;

//! x -= y;

//! x *= y;

//! x /= y;

//! x %= y;

//! x <<= 1;

//! x >>= 1;

//! x >>>= 1;

x &= y; x ^= y; x |= y; // Приведение:

//! char c = (char)x;

//! byte B = (byte)x;

//! short s = (short)x;

//! int i = (int)x;

//! long l = (long)x;

//! float f = (float)x;

//! double d = (double)x;

} void charTest(char x, char y) { // Арифметические операторы:

x = (char)(x * y); x = (char)(x / y); x = (char)(x % y); x = (char)(x + y); x = (char)(x - y); x++; x--; x = (char)+y; x = (char)-y; // Сравнение и логика:

f(x > y); f(x >= y); f(x < y); f(x <= y); f(x == y); f(x != y); //! f(!x);

//! f(x && y);

//! f(x || y);

// Битовые операторы:

x= (char)~y; x = (char)(x & y); x = (char)(x | y); x = (char)(x ^ y); x = (char)(x << 1); x = (char)(x >> 1); x = (char)(x >>> 1); // Совмещение присвоения:

x += y; x -= y; x *= y; x /= y; x %= y; x <<= 1; x >>= 1; x >>>= 1; x &= y; x ^= y; x |= y; // Приведение:




Начало  Назад  Вперед