Download LoopCompare.java source file
C:\Temp>type Greet1.java
// Traditional first program, display a friendly greeting!
// Written by Wayne Pollock, Tampa, FL USA, 1999
class Greet1
{
public static void main ( String [] args )
{
System.out.println( "Hello, World!" );
}
}
C:\Temp>javac Greet1.java
C:\Temp>javap -c Greet1
Compiled from "Greet1.java"
class Greet1 extends java.lang.Object{
Greet1();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
3: ldc #3; //String Hello, World!
5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
8: return
}
C:\Temp>type LoopCompare.java
// Loop comparison - Use to show bytecode for bycode demo with javap.
// Written by Wayne Pollock, Tampa, FL USA, 2005
class LoopCompare
{
public static void main ( String [] args )
{
for ( int i = 0; i < 5; ++i )
System.out.println( "for loop" );
int i = 0;
while ( i < 5 )
{
System.out.println( "while loop" );
++i;
}
}
}
C:\Temp>javac LoopCompare.java
C:\Temp>javap -c LoopCompare
Compiled from "LoopCompare.java"
class LoopCompare extends java.lang.Object{
LoopCompare();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: iconst_0
1: istore_1
2: iload_1
3: iconst_5
4: if_icmpge 21
7: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
10: ldc #3; //String for loop
12: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
15: iinc 1, 1
18: goto 2
21: iconst_0
22: istore_1
23: iload_1
24: iconst_5
25: if_icmpge 42
28: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
31: ldc #5; //String while loop
33: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
36: iinc 1, 1
39: goto 23
42: return
}