Używam Java Syntax, więc to pytanie powstaje wyłącznie z ciekawości. Ten fragment kodu:Java: Dozwolone instrukcje po etykietach
http://www.google.com
Object val = 5 <- 4;
robi nie kompilacji, ponieważ etykieta (http
) „muszą być przestrzegane przez oświadczenia”. Poniższe dwa warianty należy skompilować:
http://www.google.com
{ Object val = 5 <- 4; }
i
Object val;
http://www.google.com
val = 5 <- 4;
W obu przypadkach, przeszedłem od deklaracji do wyrażenia. To sprawia, że zastanawiam się, co dokładnie jest „oświadczenie” w Javie, ale doc stany:
Oprócz sprawozdania ekspresyjnych, istnieją dwa inne rodzaje sprawozdań: sprawozdania deklaracji oraz rachunku przepływów sterowania. Deklaracja deklarująca deklaruje zmienną.
JLS prostu mówi (na etykietach), które
identyfikator jest uznany za etykieta natychmiast zawartych Statement.
Nie mówi nic o "wyrażeniach wyrażeń".
Czy coś mi umknęło, czy jest to tylko niejasna/niepoprawna specyfikacja?
Co to jest wyrażenie "" http://www.google.com "'? –
@MykhayloKopytonenko To nie jest wyrażenie, to tylko jakiś tekst w komentarzu. Etykieta to 'http: ', a następnie' // 'rozpoczyna komentarz linii. Trudne trudne! :) – yshavit
Kod to orzechy! –