[JAVA] Waarom is deze code juist?

Pagina: 1
Acties:

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Topicstarter
Ik heb volgende klasse

code:
1
2
3
4
5
6
7
8
9
public class TestClass
{
    public static void main (String[]args)
    {
        System.out.println ("initializing main method...");
        http://gathering.tweakers.net/
        System.out.println ("Why is this code running?");
    }
}


Is er misschien iemand die deze code kan verklaren?
Waarom wordt dit gecompileerd? En krijg ik geen fouten tijdens het uitvoeren??

Verwijderd

public class TestClass
{
public static void main (String[]args)
{
System.out.println ("initializing main method...");
//http://gathering.tweakers.net/
System.out.println ("Why is this code running?");
}
}


Ik denk doordat er het webadres in staat. dat dat de fout is.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verwijderd schreef op 09 juni 2004 @ 15:30:
Ik denk doordat er het webadres in staat. dat dat de fout is.
Lees zijn topic nou even goed.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 09 juni 2004 @ 15:30:
public class TestClass
{
public static void main (String[]args)
{
System.out.println ("initializing main method...");
//http://gathering.tweakers.net/
System.out.println ("Why is this code running?");
}
}


Ik denk doordat er het webadres in staat. dat dat de fout is.
Het gaat juist wel goed, en dat is inderdaad nogal vreemd. Ik heb geen idee waarom dat lukt. :?

[ Voor 6% gewijzigd door NMe op 09-06-2004 15:35 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Lone Gunman
  • Registratie: Juni 1999
  • Niet online
ik weet het niet zeker, maar waarschijnlijk wordt http: als label gezien, en de tekst achter // wordt opgevat als commentaar. Het label kan bv gebruikt worden in break of continue statements (break http; of continue http; )

Experience has taught me that interest begets expectation, and expectation begets disappointment, so the key to avoiding disappointment is to avoid interest.


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 20:56
Ik wil wel een gooei doen. De compiler ziet http: als een label (wist niet dat je die ook buiten loops mocht gebruiken in java), gevolgd door het begin van een regel commentaar // en de rest van de regel (gathering.tweakers.net/) wordt dan natuurlijk genegeerd.

edit:
Lone Gunman was me net een minuut voor. :Y)

[ Voor 10% gewijzigd door Soultaker op 09-06-2004 15:39 ]


  • 12_0_13
  • Registratie: April 2004
  • Laatst online: 12-02 13:19
Juillie hebben allebei gelijk, en ik weet het zeker :+

Verwijderd

Omdat dit een standaard Java variabele is,

Kijk maar eens op:

http://java.sun.com/j2se/...chemesSupported.html#HTTP

Daarom wordt hij erkend en levert dit geen compileerfout op.

De groeten !

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 20:56
Nou Mr Java, je maakt je naam niet echt waar. ;)
Je verhaal raakt namelijk kant noch wal.

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 16:59

Robtimus

me Robtimus no like you

Idd. Die HTTP is a) uppercase, en niet lowercase zoals ons labeltje, b) kan zonder static import (Java 1.5) niet gebruikt worden zonder zijn class ervoor (ReferenceUriSchemesSupported.HTTP), en c) is uberhaupt niet te gebruiken zonder import

Vraagje aan TS: hoe kom je aan die code??

[ Voor 11% gewijzigd door Robtimus op 09-06-2004 16:06 ]

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Topicstarter
Ik kreeg die code doorgestuurd van een andere java-developper.
Daarom wou ik deze even delen. En misschien dat iemand hier een nuttige verklaring voor heeft, want ik kom er ff niet aan uit :)

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Als je een fatsoenlijke IDE had gebruikt had je het natuurlijk al meteen gezien ;)
Soultaker schreef op 09 juni 2004 @ 15:39:
(wist niet dat je die ook buiten loops mocht gebruiken in java)
Waarom niet? Uiteraard kent java ook goto :)

[ Voor 57% gewijzigd door .oisyn op 09-06-2004 21:37 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 16:59

Robtimus

me Robtimus no like you

Het is idd een label voor break.

Stukje testcode:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class TestClass
{
    public static void main (String[]args)
    {
        System.out.println ("initializing main method...");
        http://gathering.tweakers.net/
        for (int i = 0; i < 5; ++i)
        {
            for (int j = 0; j < 5; ++j)
            {
                if (i == 2 && j == 3)
                    break http;
                System.out.println(i + " " + j);
            }
        }
        System.out.println ("Why is this code running?");
    }
}
Na het outputten van 2 2 print ie je laatste vraag.

edit:
GoT's syntax highlighting maakt het trouwens ook snel duidelijk.... ;)

[ Voor 11% gewijzigd door Robtimus op 09-06-2004 21:45 ]

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Topicstarter
IceManX schreef op 09 juni 2004 @ 21:44:
Het is idd een label voor break.

Stukje testcode:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class TestClass
{
    public static void main (String[]args)
    {
        System.out.println ("initializing main method...");
        http://gathering.tweakers.net/
        for (int i = 0; i < 5; ++i)
        {
            for (int j = 0; j < 5; ++j)
            {
                if (i == 2 && j == 3)
                    break http;
                System.out.println(i + " " + j);
            }
        }
        System.out.println ("Why is this code running?");
    }
}
Na het outputten van 2 2 print ie je laatste vraag.

edit:
GoT's syntax highlighting maakt het trouwens ook snel duidelijk.... ;)
Idd, dacht wel dat het zoiets ging zijn

offtopic:
syntax highlighting is mooi.. maar dat zou het natuurlijk te gemakkelijk hebben gemaakt hé!!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 20:56
.oisyn schreef op 09 juni 2004 @ 21:36:
Waarom niet? Uiteraard kent java ook goto :)
Het keyword bestaat wel, maar het goto statement zelf niet. Je kunt uitsluitend met break en continue gebruiken. Je kunt dan ook niet zomaar naar elk punt breaken; je moet een label aanwijzen dat naar een statement wijst waar je op dit moment mee bezig bent; dit pikt de compiler bijvoorbeeld niet:
Java:
1
2
3
4
5
6
        for(int a = 0; a < 10; ++a)
            break skip;

        skip:
        for(int a = 0; a < 10; ++a)
            ;

Je kunt niet in de eerste lus uit de tweede springen (of vice versa).

Maar goed, deze checks vinden allemaal plaats aan de hand van de break en continue constructies en het is blijkbaar niet verboden om een label op een plek te zetten waar je er niets mee kunt. :)

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Damn, ik dacht dat goto gewoon werkte :X Maar het is dus alleen een reserved word (dat van die break en continue wist ik).
Dat zuigt dan weer mooi, goto is erg handig voor code generators. Oh well, heb java altijd al bagger gevonden ;)

[ Voor 24% gewijzigd door .oisyn op 09-06-2004 22:08 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 22-05 14:17
.oisyn schreef op 09 juni 2004 @ 22:07:
Damn, ik dacht dat goto gewoon werkte :X Maar het is dus alleen een reserved word (dat van die break en continue wist ik).
Dat zuigt dan weer mooi, goto is erg handig voor code generators. Oh well, heb java altijd al bagger gevonden ;)
Je parser lost het antwoord wel goed op ;).

zeroxcool.net - curity.eu


  • jAnO!
  • Registratie: Januari 2002
  • Laatst online: 01-05 18:22

jAnO!

lalalavanillevla

.oisyn schreef op 09 juni 2004 @ 22:07:
Damn, ik dacht dat goto gewoon werkte :X Maar het is dus alleen een reserved word (dat van die break en continue wist ik).
Dat zuigt dan weer mooi, goto is erg handig voor code generators. Oh well, heb java altijd al bagger gevonden ;)
KeywordTest.java:4: 'goto' not supported.
goto MyLabel;
1 error

The engineers’ first-draft of the preceding compiler warning resembled the
following:

KeywordTest.java:4: ‘goto’ not supported. Duh.
You have no business programming in Java. Begin erasing Java
Software Development Kit? (Yes/OK)
1 life-altering error

When some people work at a place for ten years they get ten years of experience, other people work at a place for ten years and get one year of experience ten times.

Pagina: 1