Revised: Apr./22nd/2004
$BM9JXG[C#IW$OFsEY%Y%k$rLD$i$7!"(BJava $B$OFsEY%3%s%Q%$%k$9$k$H$$$o$l$^$9!#(B
$B%P%$%H%3!<%I%l%Y%k$N%^%k%A%W%i%C%H%U%)!<%`$O!"(BJava $B$NFCD'$N0l$D$G$"$j!"(B"Write Once, Run Anywhere." $B$O(B Java $B$NI88l$G$9!#(B
$B$3$3$G4JC1$K%P%$%H%3!<%I$NFI$_J}$r>R2p$7$^$9!#4pK\E*$K$O%"%;%s%V%i$G$"$j!"(Bjavac $B$G%3%s%Q%$%k$9$k$3$H$G@8@.$7$?(B class $B%U%!%$%k$r!"(Bjavap $B$G%G%#%9%"%;%s%V%k$9$k$3$H$G!"%P%$%H%3!<%I$N%K!<%b%K%C%/$,F@$i$l$^$9!#(B
$B8=BeE*$J(B JVM $B$O!" $B8E<0$f$+$7$/(B "Hello, World!" $B$+$i;O$a$^$7$g$&!#K\9`$O(B$B%9%?%C%/$H%R!<%W(B$B$K$D$$$F>5CN$7$F$+$iFI$_?J$a$F$/$@$5$$!#(B $B%3%s%Q%$%k$H%G%#%9%"%;%s%V%k7k2L!'(B $B;0$D$N%Q!<%H$KJ,$+$l$F$$$^$9!#(B $B:G=i$NItJ,$O!"%X%C%@ItJ,$G$9!#(B $B%=!<%9%3!<%I$d%/%i%9$N>pJs$,:\$C$F$$$^$9!#@bL@$OITMW$G$7$g$&!#%/%i%9(B $BB3$$$F!"%G%#%9%"%;%s%V%k$7$?%/%i%9$N%3%s%9%H%i%/%?$,:\$C$F$$$^$9!#(B $B%/%i%9(B $B:G8e$K!"%a%=%C%I$K$J$j$^$9!#Hs>o$KC;$/!"$3$NDxEY$@$H!"2?$r$d$C$F$$$k$N$+$h$/J,$+$i$J$$$+$b$7$l$^$;$s!#(B $BA4$F$N%P%$%H%3!<%I$,I=<($5$l$k$o$1$G$O$"$j$^$;$s$,!"%$%s%9%H%i%/%7%g%s$N%K!<%b%K%C%/$H%3%a%s%H$K$h$j!"2?$r$7$F$$$k$N$+$,J,$+$j$^$9!#(B $B$h$jJ#;($JNc$H$7$F!">r7oJ,4t$H7+$jJV$7$r4^$`Nc$r5s$2$^$9!#(B $B7k9=D9$/$J$j$^$7$?!#0l9T$:$DDI$C$F$$$/$H!"7+$jJV$7!"F1$8%$%s%9%H%i%/%7%g%s$,EP>l$7$F$$$k$3$H$K5$$E$/$G$7$g$&!#(B $B$3$N$/$i$$D9$/$J$k$H!"%P%$%H%3!<%I$N0UL#$,J,$+$j$d$9$/$J$j$^$9!#(B $BK\9`$G$O!"%$%s%9%H%i%/%7%g%s$4$H$K!"2?$r$d$C$F$$$k$N$+$r>R2p$7$^$7$?!#0l9T$:$DDI$C$F$$$/$3$H$G!"46$8$,$D$+$a$?$N$G$O$J$$$+$H;W$$$^$9!#(B $B$3$3$G$O!"%P%$%H%3!<%I$NFI$_J}$K4X$9$k>\:Y$rBN7OE*$K@bL@$9$k$3$H$O$7$^$;$s!#>\:Y$O!"!V(BJava$B2>A[%^%7%s;EMM=q(B$B!W$r;2>H$7$F$/$@$5$$!#(BHello, World!
Hello.java
:
class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
C:\java>javac Hello.java
C:\java>javap -c Hello
Compiled from "Hello.java"
class Hello extends java.lang.Object{
Hello();
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
}
$B%X%C%@(B
Compiled from "Hello.java"
class Hello extends java.lang.Object{
...
}
Hello
$B$OL@<(E*$K7Q>5$7$F$$$J$$$N$G!"A4$F$N%/%i%9$,0EL[E*$K7Q>5$9$k(B java.lang.Object
$B$r7Q>5$9$k$b$N$H$7$F%3%s%Q%$%k$5$l$F$$$^$9!#(B$B%3%s%9%H%i%/%?(B
Hello();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
Hello
$B$N%3%s%9%H%i%/%?$,$I$N$h$&$K
aload_0
invokespecial #1; //Method java/lang/Object."<init>":()V
void
$B!#(Breturn
void
$B$r%j%?!<%s!#(B$B%a%=%C%I(B
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
getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
PrintStream
$B7?$N(B System.out
$B!#(Bldc #3; //String Hello, World!
invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
java/io/PrintStream.println
$B$K!"%*%Z%i%s%I%9%?%C%/>e$N(B String
$B7?%G!<%?$r0z?t$KM?$($F!"(Bvoid
$B$r
return
void
$B$r%j%?!<%s!#(B$B@)8f9=B$$N%P%$%H%3!<%I(B
class IfDemo {
public static void main(String[] args) {
for (int i = 9; i < 10; i++) {
if (i % 2 == 0) {
System.out.println("even: " + i);
} else {
System.out.println("odd: " + i);
}
}
}
}
C:\java>javac IfDemo.java
C:\java>javap -c IfDemo
Compiled from "IfDemo.java"
class IfDemo extends java.lang.Object{
IfDemo();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: bipush 9
2: istore_1
3: iload_1
4: bipush 10
6: if_icmpge 74
9: iload_1
10: iconst_2
11: irem
12: ifne 43
15: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
18: new #3; //class StringBuffer
21: dup
22: invokespecial #4; //Method java/lang/StringBuffer."<init>":()V
25: ldc #5; //String even:
27: invokevirtual #6; //Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
30: iload_1
31: invokevirtual #7; //Method java/lang/StringBuffer.append:(I)Ljava/lang/StringBuffer;
34: invokevirtual #8; //Method java/lang/StringBuffer.toString:()Ljava/lang/String;
37: invokevirtual #9; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
40: goto 68
43: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
46: new #3; //class StringBuffer
49: dup
50: invokespecial #4; //Method java/lang/StringBuffer."<init>":()V
53: ldc #10; //String odd:
55: invokevirtual #6; //Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
58: iload_1
59: invokevirtual #7; //Method java/lang/StringBuffer.append:(I)Ljava/lang/StringBuffer;
62: invokevirtual #8; //Method java/lang/StringBuffer.toString:()Ljava/lang/String;
65: invokevirtual #9; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
68: iinc 1, 1
71: goto 3
74: return
}
C:\java>
$B%X%C%@(B
Compiled from "IfDemo.java"
class IfDemo extends java.lang.Object{
...
}
$B%3%s%9%H%i%/%?(B
IfDemo();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
$B%a%=%C%I(B
$B%k!<%W$N=i4|2=(B
bipush 9
byte
$BCM(B 9 $B$,(B int
$B7?$KJQ49$5$l$F%*%Z%i%s%I%9%?%C%/$K%W%C%7%e$5$l$k!#(Bistore_1
int
$BCM$,!"%+%l%s%H%U%l!<%`$N%m!<%+%kJQ?t7?G[Ns$N%$%s%G%C%/%9(B 1 $B$K%;%C%H$5$l$k!#(B$B%k!<%W$N7+$jJV$7>r7o$NI>2A(B
iload_1
int
$B7?%G!<%?$,!"%*%Z%i%s%I!&%9%?%C%/$K%W%C%7%e$5$l$k!#(Bbipush 10
byte
$BCM(B 10 $B$,(B int
$B7?$KJQ49$5$l$F%*%Z%i%s%I%9%?%C%/$K%W%C%7%e$5$l$k!#(Bif_icmpge 74
if_icmp[cmd]
$B$O!"(B int
$BCM$,%*%Z%i%s%I%9%?%C%/$+$i%]%C%W$5$l$FHf3S$5$l$k!#:#$N>l9g$O!"%3%^%s%I$,(B gt
(greater than equal) $B$J$N$G!"%*%Z%i%s%I%9%?%C%/$N(B value1 ≥ value2 $B$G$"$l$P!"(B74 $B9TL\$K0\F0$7!"$5$b$J$/$P!"
if $B>r7o$NI>2A(B
iload_1
int
$B7?%G!<%?$,!"%*%Z%i%s%I!&%9%?%C%/$K%W%C%7%e$5$l$k!#(Biconst_2
int
$BDj?t(B 2 $B$,%*%Z%i%s%I%9%?%C%/$K%W%C%7%e$5$l$k!#(Birem
int
$BCM$r%]%C%W$7$F!"(Bvalue1 - (value1/value2)*value2
$B$N7k2L$r%*%Z%i%s%I%9%?%C%/$K%W%C%7%e$9$k!#Nc$($P!"(Bvalue1 = 4, value2 = 2 $B$N>l9g!"(B4 - (4/2)*2 = 4 - 2*2 = 0
$B$G$"$j!"(Bvalue1 = 5, value2 = 2 $B$N>l9g!"(B 5 - (5/2)*2 = 5 - (2.5)*2 → 5 - 2*2 = 1
$B$H$J$k!#MW$9$k$K(B value1 $B$H(B value2 $B$N>jM>$G$"$k(B value1 % value2
(value1 mod value2) $B$,7W;;$5$l$F$*$j!"$=$N7k2L$,%*%Z%i%s%I!&%9%?%C%/$K%W%C%7%e$5$l$k!#(Bifne 43
if[cmd]
$B$O!"%*%Z%i%s%I%9%?%C%/$N(B int
$BCM$r%]%C%W$7$F(B 0 $B$HHf3S$9$k!#:#$N>l9g$O!"%3%^%s%I$,(B ne
(not equal) $B$J$N$G!"%*%Z%i%s%I%9%?%C%/$N(B value1 ≠ 0 $B$G$"$l$P!"(B 43 $B9TL\$K0\F0$7!"$5$b$J$/$P!"iconst_<n> $B$G%*%Z%i%s%I!&%9%?%C%/$K(B int
$BCM(B n
$B$r%W%C%7%e$7$F!"(Bif_icmp[cmd] xx
$B$G%*%Z%i%s%I!&%9%?%C%/$+$iFs$D$N(B int
$BCM$r%]%C%W$7$FHf3S$9$k$3$H$,I,MW$K$J$k$N$G!"(B0 $B$H$NHf3S$O%9%F%C%W$,0l$D>J$+$l$F$$$k$3$H$,J,$+$k!#(Bif $B9=B$$N
1. even $B$N>l9g(B
getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
PrintStream
$B7?$N(B System.out
$B!#(Bnew #3; //class StringBuffer
StringBuffer
$B7?%*%V%8%'%/%H$,%$%s%9%?%s%92=$5$l$k!#(Bdup
invokespecial #4; //Method java/lang/StringBuffer."<init>":()V
StringBuffer
$B$N=i4|2=%a%=%C%I$,5/F0!#(Bldc #5; //String even:
invokevirtual #6; //Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
java/lang/StringBuffer#append
$B$K!"%*%Z%i%s%I%9%?%C%/>e$N(B String
$B7?%G!<%?$r0z?t$rM?$($F!"(BStringBuffer $B7?La$jCM$r
iload_1
invokevirtual #7; //Method java/lang/StringBuffer.append:(I)Ljava/lang/StringBuffer;
java/lang/StringBuffer#append
$B$K!"%*%Z%i%s%I%9%?%C%/>e$N(B int
$B7?%G!<%?$r0z?t$rM?$($F!"(BStringBuffer $B7?La$jCM$r
invokevirtual #8; //Method java/lang/StringBuffer.toString:()Ljava/lang/String;
java/lang/StringBuffer#toString
$B$K!"%*%Z%i%s%I%9%?%C%/>e$N(B int
$B7?%G!<%?$r0z?t$rM?$($F!"(BString $B7?La$jCM$r
invokevirtual #9; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
java/io/PrintStream#println
$B$K!"%*%Z%i%s%I%9%?%C%/>e$N(B String
$B7?%G!<%?$r0z?t$rM?$($F!"(Bvoid $B7?La$jCM$r
goto 68
2. odd $B$N>l9g(B
getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
static
$B%U%#!<%k%I$,PrintStream
$B7?$N(B System.out
$B!#(B
new #3; //class StringBuffer
StringBuffer
$B7?%*%V%8%'%/%H$,%$%s%9%?%s%92=$5$l$k!#(Bdup
invokespecial #4; //Method java/lang/StringBuffer."<init>":()V
StringBuffer
$B$N=i4|2=%a%=%C%I$,5/F0!#(Bldc #10; //String odd:
invokevirtual #6; //Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
java/lang/StringBuffer#append
$B$K!"%*%Z%i%s%I%9%?%C%/>e$N(B String
$B7?%G!<%?$r0z?t$rM?$($F!"(BStringBuffer $B7?La$jCM$r
iload_1
invokevirtual #7; //Method java/lang/StringBuffer.append:(I)Ljava/lang/StringBuffer;
java/lang/StringBuffer#append
$B$K!"%*%Z%i%s%I%9%?%C%/>e$N(B int
$B7?%G!<%?$r0z?t$rM?$($F!"(BStringBuffer $B7?La$jCM$r
invokevirtual #8; //Method java/lang/StringBuffer.toString:()Ljava/lang/String;
java/lang/StringBuffer#toString
$B$K!"%*%Z%i%s%I%9%?%C%/>e$N(B int
$B7?%G!<%?$r0z?t$rM?$($F!"(BString $B7?La$jCM$r
invokevirtual #9; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
java/io/PrintStream#println
$B$K!"%*%Z%i%s%I%9%?%C%/>e$N(B String
$B7?%G!<%?$r0z?t$rM?$($F!"(Bvoid $B7?La$jCM$r
$B7+$jJV$7$N8e=hM}(B
iinc 1, 1
int
$BCM$K!"(Bint
$B7?Dj?t(B 1
$B$,2C;;$5$l$k!#(Bgoto 3
$B%a%=%C%I$N=*N;(B
return
void
$B$r%j%?!<%s!#(B$B>\:Y(B
Copyright © 2003-2004 SUGAI, Manabu. All Rights Reserved.
SEO
[PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送