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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Маленький тест, :) 
:(
    Опции темы
Domestic Cat
Дата 24.8.2004, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



У меня аналогичный вариант smile.gif

Ну а такая : Написать код в одну строчку (определение строчки такое же как и выше),
который будет отлавливать все AWTEvent'ы и печатать их в консоль.


--------------------

PM   Вверх
Domestic Cat
Дата 25.8.2004, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Код

Toolkit.getDefaultToolkit().addAWTEventListener(
  new AWTEventListener() {
      public void eventDispatched(AWTEvent e)
      {
            System.out.println(e);
      }
  }
, -1);


Это сообщение отредактировал(а) Domestic Cat - 25.8.2004, 21:13


--------------------

PM   Вверх
Domestic Cat
Дата 25.8.2004, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Если к числу прибавить 256, то получится 123.
Если его умножить на 2, то получим -10.

Что это за число? Решать в уме. smile.gif


--------------------

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


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

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



А какого типа число? smile.gif
PM MAIL   Вверх
DarkDS
Дата 25.8.2004, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

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



Хотя я понял smile.gif Нужно и тип определить smile.gif
Это будет байт = 123

Это сообщение отредактировал(а) DarkDS - 25.8.2004, 23:04
PM MAIL   Вверх
Domestic Cat
Дата 26.8.2004, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



smile.gif

Код

int y = 0;
if (x&y == 0) System.out.println("...");


что нужно дописать, чтобы код скомпилился? Сам код не менять.


--------------------

PM   Вверх
DarkDS
Дата 26.8.2004, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

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



Код
if ((x&y) == 0) System.out.println("...");

PM MAIL   Вверх
Domestic Cat
Дата 26.8.2004, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Цитата(Domestic @ 26.8.2004, 06:42)
Сам код не менять.



exclamation.gif exclamation.gif exclamation.gif


--------------------

PM   Вверх
AntonSaburov
Дата 26.8.2004, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



boolean x = false;
PM MAIL WWW ICQ   Вверх
Domestic Cat
Дата 26.8.2004, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Слишом простые вопросы smile.gif smile.gif smile.gif


--------------------

PM   Вверх
AntonSaburov
Дата 27.8.2004, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Цитата(Domestic @ 26.8.2004, 18:10)
Слишом простые вопросы

Ну это же не только для хорошо знающих - пусть и начинающие подключаются. Я собирался недели через две уже начать делать выжимку из этого топика. А этот пусть остается smile.gif
PM MAIL WWW ICQ   Вверх
Domestic Cat
Дата 27.8.2004, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



[/code]
Цитата(AntonSaburov @ 27.8.2004, 02:17)
Я собирался недели через две уже начать делать выжимку из этого топика.


В смысле? adv/eek.gif

-----

Продолжу простые вопросы:
Что напечатает код и почему:

Код

public class Test
{
   public static void main(String [] rr)
   {
       if("String".toString() == "String")
           System.out.println("Equal");
       else
           System.out.println("Not Equal");
   }
}


Это сообщение отредактировал(а) Domestic Cat - 27.8.2004, 15:24


--------------------

PM   Вверх
AntonSaburov
Дата 27.8.2004, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Цитата(Domestic @ 27.8.2004, 16:24)
В смысле?

Я поначалу хотел просто убрать водичку, но с другой стороны тут общение живое - мне нравиться, не хотелось, чтобы исчез некий дух smile.gif
Вот и подумал - может делать это в отдельном топике. А здесь все как раньше.

Очень хороший топик получается biggrin.gif
Добавлено @ 17:00
А я не угадал - но почему они Equal ?

Похоже, тут оптимизация работает, но у меня нет уверенности. А хотелось бы точно знать
PM MAIL WWW ICQ   Вверх
Domestic Cat
Дата 27.8.2004, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Цитата(AntonSaburov @ 27.8.2004, 07:54)
А я не угадал - но почему они Equal ?

Подсказка: smile.gif smile.gif
Код

String a = "java";      
String b = "java";
System.out.println(a == b);


Код

String a = new String("java");      
String b = new String("java");
System.out.println(a == b);





--------------------

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


Опытный
**


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

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



когда константой инициализируется, то один и тот же объект подставляется (соответственно и хеши одинаковые) - это и правда оптимизация (вдруг они только для чтения будут использоваться). А если придет запрос на запись в a или b то создастся новый объект с таким же содержимым.

для полноты картины отискал вот :


Java Language Specification
Second Edition

Цитата

3.10.5 String Literals
A string literal consists of zero or more characters enclosed in double quotes. Each character may be represented by an escape sequence.
A string literal is always of type String (§4.3.3. A string literal always refers to the same instance (§4.3.1) of class String.


StringLiteral:
" StringCharactersopt "

StringCharacters:
StringCharacter
StringCharacters StringCharacter

StringCharacter:
InputCharacter but not " or \
EscapeSequence

The escape sequences are described in §3.10.6.
As specified in §3.4, neither of the characters CR and LF is ever considered to be an InputCharacter; each is recognized as constituting a LineTerminator.

It is a compile-time error for a line terminator to appear after the opening " and before the closing matching ". A long string literal can always be broken up into shorter pieces and written as a (possibly parenthesized) expression using the string concatenation operator + (§15.18.1).

The following are examples of string literals:

""    // the empty string
"\""    // a string containing " alone
"This is a string"  // a string containing 16 characters
"This is a " +  // actually a string-valued constant expression,
"two-line string" //  formed from two string literals

Because Unicode escapes are processed very early, it is not correct to write "\u000a" for a string literal containing a single linefeed (LF); the Unicode escape \u000a is transformed into an actual linefeed in translation step 1 (§3.3) and the linefeed becomes a LineTerminator in step 2 (§3.4), and so the string literal is not valid in step 3. Instead, one should write "\n" (§3.10.6). Similarly, it is not correct to write "\u000d" for a string literal containing a single carriage return (CR). Instead use "\r".

Each string literal is a reference (§4.3) to an instance (§4.3.1, §12.5) of class String (§4.3.3). String objects have a constant value. String literals-or, more generally, strings that are the values of constant expressions (§15.28)-are "interned" so as to share unique instances, using the method String.intern.
Thus, the test program consisting of the compilation unit (§7.3):

package testPackage;
class Test {
public static void main(String[] args) {
  String hello = "Hello", lo = "lo";
  System.out.print((hello == "Hello") + " ");
  System.out.print((Other.hello == hello) + " ");
  System.out.print((other.Other.hello == hello) + " ");
  System.out.print((hello == ("Hel"+"lo")) + " ");
  System.out.print((hello == ("Hel"+lo)) + " ");
  System.out.println(hello == ("Hel"+lo).intern());
}
}
class Other { static String hello = "Hello"; }

and the compilation unit:

package other;
public class Other { static String hello = "Hello"; }

produces the output:

true true true true false true

This example illustrates six points:

Literal strings within the same class (§8) in the same package (§7) represent references to the same String object (§4.3.1).
Literal strings within different classes in the same package represent references to the same String object.
Literal strings within different classes in different packages likewise represent references to the same String object.
Strings computed by constant expressions (§15.28) are computed at compile time and then treated as if they were literals.
Strings computed at run time are newly created and therefore distinct.
The result of explicitly interning a computed string is the same string as any pre-existing literal string with the same contents.



Это сообщение отредактировал(а) redrick - 28.8.2004, 02:42


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

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

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


 




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


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

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