| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Пара вопросов уровня Java 2 Fundamentals |
| Автор: Shklyar 28.7.2008, 10:49 |
| 1. Что делают унарные операторы +expr и -expr? 2. Что возвращает return x > 0;? Можно-ли вернуть х, если он > 0, в противном случае false? 3. Может-ли метод run() (при реализации интерфейса Runnable), быть с параметрами? |
| Автор: dive 28.7.2008, 10:56 |
| 1. Что делают унарные операторы +expr и -expr? увеличивают \ уменьшают значение переменной, к примеру, вместо x = x + 5, можно записывать x += 5, что равнозначно. 2. Что возвращает return x > 0;? Можно-ли вернуть х, если он > 0, в противном случае false? вернет boolean, true если больше и false если нет. так возвращать значение нельзя, потому что тип возвращаемого значения задан в определении метода (public static boolean getX() {return boolean}). в таких случаях в качестве false обычно возвращают -1. 3. Может-ли метод run() (при реализации интерфейса Runnable), быть с параметрами? нельзя, это реализация определенных методов интерфейса. можно перегрузить конечно метод, но по умолчанию все равно будет вызываться run(). |
| Автор: Shklyar 28.7.2008, 11:06 |
| А такое есть?: x =+ 5 |
| Автор: dive 28.7.2008, 11:58 | ||||||
я видимо не правильно понял вас, в данном случае + \ - будут менять знак числа, к примеру так:
состояние исходной переменной не изменяется. так же есть операции инкремента и декремента, который схожы по функциональности, к примеру:
соответственно, можно и -- так же использовать. |
| Автор: w1nd 28.7.2008, 12:07 |
Выражения -expr/+expr возвращают результат умножения expr на единицу с указанным знаком. |
| Автор: Shklyar 28.7.2008, 13:42 | ||
| Еще парочка: 1. можно-ли писать так:
2. "Когда объект подкласса создан, вызываются все конструкторы суперкласса, начиная с верхнего в иерархии." Помогите понять. |
| Автор: Shklyar 28.7.2008, 15:14 |
| А что про: try {} finally {} ? |
| Автор: Filin88 28.7.2008, 15:25 |
| try-catch используются для обработки исключений. В вашем случае try-finally. Так вот блок finally{} будет выполнен в любом случае, даже если не будет выброшено исключение |
| Автор: Shklyar 28.7.2008, 15:52 |
| Вопрос: можно-ли пропускать catch и throws? Встретил это в тесте, ответил - нельзя. |
| Автор: v2v 28.7.2008, 16:19 |
можно. |
| Автор: vinter 28.7.2008, 22:04 |
| del |
| Автор: chief39 29.7.2008, 17:06 | ||
try ограничивает "опасный участок дороги". После него должен идти catch на случай происшествия. Можно опасный участок этими штуками не огораживать - тогда нужен throws в сигнатуре метода - это означает что разбираться с происшествием ты не будешь - отдашь его "наверх", пусть вызывающий метод мучается. К try-catch можно присовокупить finally - он будет делать нечто в любом случае. Если он есть - то можно обойтись и без catch. при наличии catch все равно может существовать throws. Например отлавливаешь эксепшн, создаёшь новый эксепшн(другой) и "выбрасываешь" его с помощью throw. Он уходит через throws из метода. Вобщем, если в коде возникает checked exception(если есть вызовы методов с throws в сигнатурах) - то ты должен их огородить try(которые заканчиваются catch, finally или catch+finally). Всё "неогороженное" должно быть вписано в throws метода. |
| Автор: Kangaroo 31.7.2008, 00:41 | ||
chief39 и тут про машины |