Czerwiec
23
2010Ile wynosi $100?
Przeczytałem dzisiaj ciekawy wpis dotyczący egzaminu na technika informatyka. Zawarte w nim informacje zainspirowały mnie do napisania takiego oto fragmentu kodu:
public class Dollars {
public static void main(String... args) {
int $100 = 50;
System.out.println($100);
}
}
Pytanie brzmi: „Co się stanie?”
- Wystąpi błąd kompilacji?
- Program skompiluje się, ale wystąpi błąd podczas uruchamiania?
- Program wyświetli
$100? - Program wyświetli
50?
Każdy kto przeczyta wspomniany artykuł z pewnością od razu będzie znał odpowiedź. Jednak wszystkim polecam empiryczne przetestowanie powyższego kodu – to naprawdę ciekawe doświadczenie.
PS. Próbowałem też z $, $$ i $_$.




To raczej oczywiste że zostanie wypisana wartość(=50) zmiennej, która akurat nazywa się $100… bo czemu nie?. Znam wg mnie ciekawsze Java Killery;) Dla przykładu: napisz program wypisujący zawartość zmiennej $100 bez użycia metody main.
Te „java killery” nie są takie straszne jak się dobrze zna język… Mój to chyba ten: http://paulszulc.wordpress.com/2010/01/13/java-killers-003-is-the-question/ @Darek: Mowa zapewne o bloku statycznym – no shock there…
@Ktoso – dokladnie, mowa o bloku statycznym i oczywiście killery nie są takie straszne po lekturze np książki do scjp czyli de facto poznaniu języka.
No coż, ja wolę pracować z dobrym programistą niż z nawet wybitnym specjalistą od języka :] ale co kto lubi