Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пара вопросов уровня Java 2 Fundamentals 
V
    Опции темы
Shklyar
Дата 28.7.2008, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 28.11.2007
Где: Kyiv

Репутация: 2
Всего: 3



1. Что делают унарные операторы +expr и -expr?
2. Что возвращает return x > 0;? Можно-ли вернуть х, если он > 0, в противном случае false?
3. Может-ли метод run() (при реализации интерфейса Runnable), быть с параметрами?

--------------------
https://www.youtube.com/watch?v=JZN8Xaebs_U
PM WWW   Вверх
dive
Дата 28.7.2008, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 25.10.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 5



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().
PM MAIL WWW Skype GTalk Jabber MSN   Вверх
Shklyar
Дата 28.7.2008, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 28.11.2007
Где: Kyiv

Репутация: 2
Всего: 3



А такое есть?: x =+ 5
--------------------
https://www.youtube.com/watch?v=JZN8Xaebs_U
PM WWW   Вверх
dive
Дата 28.7.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 25.10.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 5



Цитата(Shklyar @ 28.7.2008,  11:06)
А такое есть?: x =+ 5

я видимо не правильно понял вас, в данном случае + \ - будут менять знак числа, к примеру так:

Код

int x = 5, y, z;
y = -x;
// y будет равен -5
z = +y;
// z будет равна 5


состояние исходной переменной не изменяется.

так же есть операции инкремента и декремента, который схожы по функциональности, к примеру:

Код

int x = 5, y;
y = ++x;
// вначале увеличится значение х на единицу, а потом это значение будет присвоено y, т.е. y и х будут равны 6. это префиксная форма записи, т.е. вначале выполняется вычисление значения операнда и потом оно уже возвращается, в данном случае операции присваивания.
y = x++;
// в данном случае, вначале выполнится операция присваивания и у станет равным 6 и лишь потом значение х увеличится на единицу, т.е. после выполнения этой операции у будет равным 6, а х - 7. это постфиксная форма записи.


соответственно, можно и -- так же использовать.
PM MAIL WWW Skype GTalk Jabber MSN   Вверх
w1nd
Дата 28.7.2008, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 20
Всего: 54



Цитата(Shklyar @  28.7.2008,  10:49 Найти цитируемый пост)
Что делают унарные операторы +expr и -expr?

Выражения -expr/+expr возвращают результат умножения expr на единицу с указанным знаком.

Это сообщение отредактировал(а) w1nd - 28.7.2008, 12:08


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
Shklyar
Дата 28.7.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 28.11.2007
Где: Kyiv

Репутация: 2
Всего: 3



Еще парочка:
1. можно-ли писать так:
Код

class name {
   public static void main(String args[]) {
      try {
         code;
      }
      finally {
         code;
      }
   }
}

2. "Когда объект подкласса создан, вызываются все конструкторы суперкласса, начиная с верхнего в иерархии." Помогите понять.

--------------------
https://www.youtube.com/watch?v=JZN8Xaebs_U
PM WWW   Вверх
v2v
Дата 28.7.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 8
Всего: 56



Цитата(Shklyar @  28.7.2008,  10:49 Найти цитируемый пост)
Можно-ли вернуть х, если он > 0, в противном случае false?

Код

    public static Object t(boolean b){
                int x = 5;
        if (b){
            return new Integer(x);
        }else{
            return new Boolean(false);
        }
    }
    
    public static void main(String[] args) {
        System.out.println(t(true).getClass().getSimpleName());
        System.out.println(t(false).getClass().getSimpleName());
    }


Добавлено через 5 минут и 38 секунд
Цитата(Shklyar @  28.7.2008,  13:42 Найти цитируемый пост)

2. "Когда объект подкласса создан, вызываются все конструкторы суперкласса, начиная с верхнего в иерархии." Помогите понять.

Код


class A{
    public A(){
        System.out.println("Конструктор A");
    }
}
class A1 extends A{
    public A1(){
        System.out.println("Конструктор A1");
    }
}
class A2 extends A1{
    public A2(){
        System.out.println("Конструктор A2");
    }
}
public class TestExpr {
    public static void main(String[] args) {        
        A2 a2 ;
        System.out.println("Создаём объект");
        a2 = new A2();
        System.out.println("Объект создан");
    }
}



--------------------
PM   Вверх
Shklyar
Дата 28.7.2008, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 28.11.2007
Где: Kyiv

Репутация: 2
Всего: 3



А что про: try {} finally {} ?
--------------------
https://www.youtube.com/watch?v=JZN8Xaebs_U
PM WWW   Вверх
Filin88
Дата 28.7.2008, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



try-catch используются для обработки исключений. В вашем случае try-finally. Так вот блок finally{} будет выполнен в любом случае, даже если не будет выброшено исключение

Это сообщение отредактировал(а) Filin88 - 28.7.2008, 15:27
PM MAIL   Вверх
Shklyar
Дата 28.7.2008, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 28.11.2007
Где: Kyiv

Репутация: 2
Всего: 3



Вопрос: можно-ли пропускать catch и throws?
Встретил это в тесте, ответил - нельзя.

Это сообщение отредактировал(а) Shklyar - 28.7.2008, 15:56
--------------------
https://www.youtube.com/watch?v=JZN8Xaebs_U
PM WWW   Вверх
v2v
Дата 28.7.2008, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 8
Всего: 56



Цитата(Shklyar @  28.7.2008,  15:52 Найти цитируемый пост)
ожно-ли пропускать catch 

можно.




--------------------
PM   Вверх
vinter
Дата 28.7.2008, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: нет
Всего: 56



del

Это сообщение отредактировал(а) vinter - 28.7.2008, 22:05


--------------------
Мой блог
PM MAIL WWW   Вверх
chief39
Дата 29.7.2008, 17:06 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 15
Всего: 77



Цитата(Shklyar @  28.7.2008,  15:52 Найти цитируемый пост)
Вопрос: можно-ли пропускать catch и throws?
Встретил это в тесте, ответил - нельзя.


try ограничивает "опасный участок дороги".
После него должен идти catch на случай происшествия.

Можно опасный участок этими штуками не огораживать - тогда нужен throws в сигнатуре метода - это означает что разбираться с происшествием ты не будешь - отдашь его "наверх", пусть вызывающий метод мучается.

К try-catch можно присовокупить finally - он будет делать нечто в любом случае.
Если он есть - то можно обойтись и без catch.

при наличии catch все равно может существовать throws. Например отлавливаешь эксепшн, создаёшь новый эксепшн(другой) и "выбрасываешь" его с помощью throw. Он уходит через throws из метода.

Вобщем, если в коде возникает checked exception(если есть вызовы методов с throws в сигнатурах) - то ты должен их огородить try(которые заканчиваются catch, finally или catch+finally). Всё "неогороженное" должно быть вписано в throws метода.




--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
Kangaroo
Дата 31.7.2008, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 21
Всего: 104



Цитата(chief39 @  29.7.2008,  17:06 Найти цитируемый пост)
try ограничивает "опасный участок дороги".
После него должен идти catch на случай происшествия.

chief39 и тут про машины  smile




--------------------
Lost....
PM MAIL MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0809 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.