Резюме главы 2 об операторах:
- Унарные операторы: ++ -- + - ! ~
- Оператор приведения типа: ()
- Бинарные арифметические операторы: * / % + -
- Операторы сдвига: << >> >>>
- Операторы сравнения: < <= > >= == != instanceof
- Поразрядные операторы: & ^
- Укороченные логические операторы: &&
- Условный оператор: ?:
- Операторы присваивания: = op=
Вы должны знать тип результата унарных и бинарных арифметичских операций, применямых над операндами различных типов.
Различие между равенством объектов и равенством ссылок. Функциональность метода equal() в классах Object, String, Boolean (они сравнивают инкапсулированные данные).
Тест
- После выполнения кода ниже каковы будут значения переменных x, a, и b?
1. int x, a = 6, b = 7;
2. x = a++ + b++;- x = 15, a = 7, b = 8
- x = 15, a = 6, b = 7
- x = 13, a = 7, b = 8
- x = 13, a = 6, b = 7
- Какие из нижеследующих выражений допустимы? (Выберите все допустимые)
- int x = 6; x = !x;
- int x = 6; if (!(x > 3)) {}
- int x = 6; x = ~x;
- Какие выражения возвратят положительное значение переменной x?
- int x = -1; x = x >>> 5;
- int x = -1; x = x >>> 32;
- byte x = -1; x = x >>> 5;
- int x = -1; x = x >> 5;
- Какие из нижеследующих выражений допустимы? (Выберите все допустимые)
- String x = “Hello”; int y = 9; x += y;
- String x = “Hello”; int y = 9; if (x == y) {}
- String x = “Hello”; int y = 9; x = x + y;
- String x = “Hello”; int y = 9; y = y + x;
- String x = null;int y = (x != null) && (x.length() > 0) ? x.length() : 0;
- Какие из нижеследующих выражений откомпилируются и напечатают “Equal” во время выполнения? (Выберите все допустимые)
- int x = 100; float y = 100.0F;
if (x == y)
System.out.println("Equal"); - int x = 100; Integer y = new Integer(100);
if (x == y)
System.out.println("Equal"); - Integer x = new Integer(100);
Integer y = new Integer(100);
if (x == y)
System.out.println("Equal"); - String x = new String("100");
String y = new String("100");
if (x == y)
System.out.println("Equal"); - String x = "100"; String y = "100";
if (x == y)
System.out.println("Equal"); - Каков результат выполнения кода ниже?
1. public class Short {
2. public static void main(String args[]) {
3. StringBuffer s = new StringBuffer(“Hello”);
4. if ((s.length() > 5) &&
5. (s.append(“ there”).equals(“False”)))
6. ; // do nothing
7. System.out.println(“value is “ + s);
8. }
9. } - Hello
- Hello there
- Ошибка компиляции в 4-й или 5-й строке
- Ничего не выводится
- Исключение NullPointerException
- Каков результат выполнения кода ниже?
1. public class Xor {
2. public static void main(String args[]) {
3. byte b = 10; // 00001010 binary
4. byte c = 15; // 00001111 binary
5. b = (byte)(b ^ c);
6. System.out.println(“b contains ” + b);
7. }
8. } - b contains 10
- b contains 5
- b contains 250
- b contains 245
- Каков результат компиляции и выполнения кода ниже?
1. public class Conditional {
2. public static void main(String args[]) {
3. int x = 4;
4. System.out.println(“value is “ +
5. ((x > 4) ? 99.99 : 9);
6. }
7. } - value is 99.99
- value is 9
- value is 9.0
- Ошибка компиляции в пятой строке
- Каков результат выполнения кода ниже?
1. int x = 3; int y = 10;
2. System.out.println(y % x); - 0
- 1
- 2
- 3
- Каков результат выполнения кода ниже?
1. int x = 1;
2. String [] names = { “Fred”, “Jim”, “Sheila” };
3. names[--x] += “.”;
4. for (int i = 0; i < names.length; i++) {
5. System.out.println(names[i]);
6. } - Fred.\nJim\nSheila
- Fred\nJim.\nSheila
- Fred\nJim\nSheila.
- Fred\nJim\nSheila
- Исключение ArrayIndexOutOfBoundsException
Читать далее!