Avatar billede darkfear_dk Nybegynder
09. marts 2006 - 10:53 Der er 3 kommentarer og
1 løsning

Hjælp til at forstå

Hej,

Jeg er forholdsvis ny til programmering i Java. Jeg er ved at lave afgangseksamens projekt og jeg skal bruge ARP. Til dette formål har jeg installeret JPCAP. Det virker fint - nu har jeg så hentet nogle eksempler, men her er jeg løbet ind i et problem. Måden de laver for-løkker har jeg aldrig set før.

Eksempel:

byte[] mac=ARP.arp(InetAddress.getByName(args[0]));
  for (byte b : mac)
    System.out.print(Integer.toHexString(b&0xff) + ":");

Ovenstående kode laver et ARP opslag på en IP. Resultatet (MAC adressen i integer-form) bliver lagt ind i et byte-array. Herefter konverteres integer-værdierne tilbage til HEX-værdi.

Jeg har fundet ud af at følgende kode giver samme resultat:

for (i = 0; i < mac.length; i++)
  System.out.print(Integer.toHexString(mac[i]&0xff) + ":");

Ovenstående eksempel er den måde jeg altid har lært at lave for-løkker på.

Mit spørgsmål: Er der en der kan sætte mig lidt grundigere ind i den anden for form for-løkker?

På forhånd tak.
Avatar billede jakoba Nybegynder
09. marts 2006 - 12:19 #1
Det er den "Forbedrede for statement" der blev introduceret i version 1.5

14.14.2 The enhanced for statement
The enhanced for statement has the form:

EnhancedForStatement:
        for ( VariableModifiersopt Type Identifier: Expression) Statement

The Expression must either have type Iterable or else it must be of an array type (§10.1), or a compile-time error occurs.

funktionen ARP.arp(...) returnerer et array, og i forløkken får b så værdierne i det array efter tur.

læs om det her:
http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.14
Avatar billede darkfear_dk Nybegynder
09. marts 2006 - 13:35 #2
Ahh cool, tak. Det var det jeg havde brug for. Hvis du laver et svar, så giver jeg den gas mht. acceptering!
Avatar billede jakoba Nybegynder
10. marts 2006 - 09:51 #3
selv tak :-)
Avatar billede darkfear_dk Nybegynder
10. marts 2006 - 13:05 #4
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester