Java 1
1 Java 1.1 Java 1.2 Java JavaScript 2 2.1 2.2 2.3 Java VM 3 3.1 3.2 3.3 3.4 4 Java 4.1 Java 4.2 if else 4.3 switch case 4.4 for 4.5 while 4.6 do-while 4.7 break, continue, return 4.8 try-catch-finally 4.9 5 5.1 Version.1 5.2 Version.2 5.3 Version.3
1 Java Java 1995 Sun Microsystems 1 Java Java Java Java 1.1 Java Java OS 2 OS Java "WriteOnce,RunAnywhere. Web Web C/C++ C C++ C/C++ 3 4 OS Web Windows2000&InternetExplorer Windows2000&NetscapeNavigatorr
MacOS9&InternetExplorer UNIX(X-Window)&NetscapeNavigator OS OS OS OS Java Java Java 1 100 Java C Java C Class Sum{ #include<stdio.h> public static void main(string args[]){ void main(){ int n=0; int i,n=0; for( int i=1 ; i<=100 ; i++ ){ for( i=1 ; i<=100 ; i++ ){ n += i; n += i; } } System.out.println( "Answer:" + n ); printf( "Answer:%d n", n ); } } } 2 Java C C Java Java Java C 2
Java 2 Java Web Web Internet Explorer Netscape Navigator Java GUI 5 CUI 6 2 Java 1.2 Java JavaScript Java Web Web JavaScript Java JavaScript JavaScript Java 2 JavaScript Netscape Communications Web LiveScript Sun Microsystems JavaScript JavaScript Web Web HTML 7 JavaScript Web 3
2 Java Java c: user> c: user 8 Z > a: [Enter] z: [Enter] 2.1 Java source file 8 4
Java, C, FORTRAN EmEditor > C: user> notepad Sample.java [Enter] [ ][ ] [BackSpace] [Delete] Sample.java ".java" 9 Java Smaple.java [ Y ] Sample.java 1 class Sample{ 2 public static void main( String args[] ){ 3 System.out.println("This is a sample program."); 4 } 5 } 9 5
"This is a sample program."" " "Sample.java" 2.2 Java javac C: user> javac Sample.java class [ ].class dir Sample.class [ ][ ] 2.3 Java VM Java VM Virtual Machine Java OS Java VM OS Java VM C: user> java Sample ".class" ".class" C: user> java Sample This is a sample program. 6
"This is a sample program." Java 7
3 3.1 Sample.java 1 class Sample{ 2 public static void main( String args[] ){ 3 System.out.println("This is a sample program."); 4 } 5 } class Sample{ "Sample" Java 1 { public static void main( String args[] ){ Sample main C public, static, void System.out.println("This is a sample program."); main ; } 2 "{" "}" } 1 "{" "}" 8
1 Java 1 Java 10 Java class { : : ( ){ : } : : } Sample main,,,,,,,,,,,,, Java Java 11 3 10 11 9
3.2 Java CApp.java 1 class CApp{ 2 public static void main( String args[] ){ 3 System.out.println("This is a sample console application."); 4 } 5 } 2 3.3 Internet Explorer Netscape Navigator Web Java Java Web HTML Aplt.java 1 import java.applet.applet; 2 import java.awt.graphics; 3 4 public class Aplt extends Applet{ 5 public void paint( Graphics g ){ 10
6 g.drawstring("this is a sample applet.",20,20); 7 } 8 } HTML Aplt.html 1 <APPLET CODE="Aplt.class" WIDTH="320" HEIGHT="60"> 2 </APPLET> HTML C: user> appletviewer Aplt.html Internet Explorer Netscape Navigator Web Aplt.html 3.4 Windows 11
WApp.java 1 import java.awt.*; 2 3 class WApp extends Frame{ 4 public WApp(){ 5 setsize(320,60); 6 } 7 8 public void paint( Graphics g ){ 9 g.drawstring("this is a sample window application",20,40); 10 } 11 12 public static void main( String args[] ){ 13 WApp wa = new WApp(); 14 wa.show(); 15 } 16 } [CTRL][C] Java 12
4 Java 4.1 Java Java 2 Calc.java 1 class Calc{ 2 public static void main( String args[] ){ 3 // 4 int i,j,s,d,p,q,r; 5 // 6 i=7; 7 j=5; 8 // 9 s = i + j; 10 d = i - j; 11 p = i * j; 12 q = i / j; 13 r = i % j; 14 // 15 System.out.println( i + " + " + j + " = " + s); 16 System.out.println( i + " - " + j + " = " + d); 17 System.out.println( i + " * " + j + " = " + p); 18 System.out.println( i + " / " + j + " = " + q + "... " + r ); 19 } 20 } C: user>javac Calc.java C: user>java Calc 7 + 5 = 12 7-5 = 2 7 * 5 = 35 7 / 5 = 1... 2 13
y=f(x) x y 4 i,j,s,d,p,q,r int Java 4 i,j,s,d,p,q,r int Java byte 123 byte -128 127 123 short -32768 32767 123 int -21 X 10 8 21 X 10 8 123l long -922 X 10 16 922 X 10 16 3.14159f float 1.4 X 10-45 3.4 X 10 38 3.14159d double 4.9 X 10-324 1.7 X 10 308 boolean true,false boolean true,false 12 'a' char l L: f 7 5 q 1 ; ; 1 9~13 1 12 String 14
s = i + j; d = i - j; p = i * j; q = i / j; r = i % j; { } ;,,, etc. Calc i,j,s,d,p,q,r 1 A Z,a z "_" "$" 2 0 9 abstract boolean break byte case catch char class const continue default do double else extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static super switch synchronized this throw throws transient try void volatile white =, +, -, *, / 6,7 9~13 Java 15
= a = 22; a 22 + a = 22 + 8 ; a 30 - a = 22 8 ; a 14 * a = 22 * 8 ; a 176 / a = 22 / 8 ; a 2 % a = 22 % 8 ; a 6 += a += 22 ; a=a+22 -= a -= 22 ; a=a-22 *= a *= 22 ; a=a*22 /= a /= 22 ; a=a/22 ++ a++ ; a 1 ++a ; 1 a -- a-- ; a 1 --a ; 1 a * / a = 8; b = a++ ; a = 8; b = ++a ; a b a 1 a 9 b 8 a 1 b a b 9 3,5,8,14 "//" Java C /* */ if else switch case 16
for while do while break continue return 4.2 if else if ( ) { // } if ( ) { 1 // 1 } else { 2 // 2 } if ( 1 ) { 1 // 1 1 } else if ( 2 ){ 2 // 1 2 // 2 } else { 3 // 1 2 // 3 } if, else { } 1 boolean true,false true false 13 17
== a==4 a 4 true!= a!=4 a 4 true > a>24 a 24 true < a<24 a 24 true >= a>=24 a 24 true <= a<=24 a 24 true && a==4 && b==24 a==4 b==24 true a==4 b==24 a==4 b==24 true if else TestIf.java 1 class TestIf{ 2 public static void main( String args[] ){ 3 int i, j; 4 i = j = 0; 5 try { 6 i = Integer.parseInt( args[0] ); 7 } catch( Exception e ) { 8 System.err.println( " " ); 9 System.exit(1); 10 } 11 j = i % 2; 12 if ( j == 0 ) { 13 System.out.println( " " ); 14 } else { 15 System.out.println( " " ); 16 } 17 } 18 } 18
C: user>javac TestIf.java C: user>java TestIf 11 11 5 10 try catch(-finally) 4.3 switch case byte, short, int, char switch( ) { case 1: 1 // 1 1 break; case 2: 2 // 2 2 break; () case n: n // n n break; default: x // // x } case break case break TestSwitch.java 1 class TestSwitch{ 2 public static void main( String args[] ){ 3 int i = 0; 4 try { 19
5 i = Integer.parseInt( args[0] ); 6 } catch(exception e ) { 7 System.out.println( " " ); 8 System.exit(1); 9 } 10 switch ( i ) { 11 case 1: 12 System.out.println( " 1 " ); 13 break; 14 case 2: 15 System.out.println( " 2 " ); 16 break; 17 case 3: 18 System.out.println( " 3 " ); 19 break; 20 default: 21 System.out.println( "1 3 " ); 22 } 23 } 24 } C: user>javac TestSwitch.java C: user>java TestSwitch 2 2 C: user>java TestSwitch 5 1 3 4.4 for for for for ( 1 ; 2 ; 3 ){ // // for } 20
1 2 true 3 2 true 2 false 2 boolean TestFor.java 1 class TestFor{ 2 public static void main( String args[] ){ 3 int n, sum; 4 n = sum = 0; 5 try { 6 n = Integer.parseInt( args[0] ); 7 } catch(exception e ) { 8 System.out.println( " " ); 9 System.exit(1); 10 } 11 for ( int i=1 ; i<=n ; i++ ) { 12 sum += i; 13 } 14 System.out.println( "1 " +n+ " " + sum +" "); 15 } 16 } C: user>javac TestFor.java C: user>java TestFor 100 1 100 5050 for int i=1 C FORTRAN Java for i for 21
4.5 while while ( ) { // // while } for while while TestWhile.java 1 class TestWhile{ 2 public static void main( String args[] ){ 3 int n, sum; 4 n = sum = 0; 5 try { 6 n = Integer.parseInt( args[0] ); 7 } catch( Exception e ) { 8 System.out.println( " " ); 9 System.exit(1); 10 } 11 int i = 1; 12 while ( i<=n ) { 13 sum += i; 14 i++; 15 } 16 System.out.println( "1 " + n + " " + sum +" "); 17 } 18 } C: user>javac TestWhile.java C: user>java TestWhile 10 1 10 55 22
4.6 do-while while 1 do-while ; do { // } while ( ) ; // TestDo.java 1 class TestDo{ 2 public static void main( String args[] ){ 3 int n, sum; 4 n = sum = 0; 5 try { 6 n = Integer.parseInt( args[0] ); 7 } catch( Exception e ) { 8 System.out.println( " " ); 9 System.exit(1); 10 } 11 int i = 1; 12 do { 13 sum += i; 14 i++; 15 } while ( i<=n ) ; 16 System.out.println( "1 " + n + " " + sum +" "); 17 } 18 } C: user>javac TestDo.java C: user>java TestDo 50 1 50 1275 while do-while 0 23
while 0 do-while 0 1 C: user>java TestWhile 0 1 0 0 C: user>java TestDo 0 1 0 1 4.7 break, continue, return break if-else,switch-case,for,while,do-while...{ 1 break; 2 } 3 // 2 3 TestBreak.java 1 class TestBreak{ 2 public static void main( String args[] ){ 3 int n, sum; 4 n = sum = 0; 5 try { 6 n = Integer.parseInt( args[0] ); 7 } catch( Exception e ) { 8 System.out.println( " " ); 9 System.exit(1); 10 } 11 for ( int i=1 ; i<=n ; i++ ) { 12 if ( i>50 ) { // 50 break 24
13 n = 50; 14 break; 15 } 16 sum += i; 17 } 18 System.out.println( "1 "+ n +" "+ sum +" "); 19 } 20 } continue for,while,do-while...{ 1 continue; // 2 1 2 } 3 : TestContinue.java 1 class TestContinue{ 2 public static void main( String args[] ){ 3 int n=0; 4 try { 5 n = Integer.parseInt( args[0] ); 6 } catch( Exception e ) { 7 System.out.println( " " ); 8 System.exit(1); 9 } 10 for ( int i=1 ; i<=n ; i++ ) { 11 if ( i%2 == 0 ) continue; // continue 12 System.out.println( i + " " ); 13 } 14 } 15 } 25
return 1 return C main void return ( ) { return ; // void } TestReturn.java 1 class TestReturn{ 2 public static void main( String args[] ){ 3 int n = 0; 4 try { 5 n = Integer.parseInt( args[0] ); 6 } catch( Exception e ) { 7 System.out.println( " " ); 8 System.exit(1); 9 } 10 System.out.println("1 "+n+" "+calc(n)+" "); 11 } 12 static int calc( int n ){ 13 int sum = 0; 14 for( int i=0 ; i<=n ; i++ ){ 15 sum += i; 16 } 17 return sum; 18 } 19 } 4.8 try-catch-finally Java try catch - finally 26
try { 1 // } catch( ) { 2 // } finally { 3 // 1 } TestTry.java 1 class TestTry{ 2 public static void main( String args[] ){ 3 int n, sum; 4 n = sum = 0; 5 try { 6 n = Integer.parseInt( args[0] ); 7 } catch( ArrayIndexOutOfBoundsException e ) { 8 System.out.println( " 1 " ); 9 System.exit(1); 10 } catch( NumberFormatException e ) { 11 System.out.println( "" ); 12 System.exit(1); 13 } catch( Exception e ) { 14 System.out.println( " " ); 15 System.exit(1); 16 } 17 for ( int i=1 ; i<=n ; i++ ) { 18 sum += i; 19 } 20 System.out.println( "1 " + n + " " + sum +" "); 21 } 22 } 27
C: user>javac TestTry.java C: user>java TestTry 1 C: user>java TestTry abc C: user>java TestTry 10 1 10 55 ArrayIndexOutOfBoundsException NumberFormatException 3 Exception 2 4.9 28
Java LeapYear.java 1 class LeapYear{ 2 // 3 // (1)4 4 // (2)100 5 // (3)400 6 public static void main( String args[] ){ 7 // 8 int i=0,x,y,z; 9 try { 10 // 11 i = Integer.parseInt( args[0] ); 12 } catch( ArrayIndexOutOfBoundsException e ) { 13 // 1 14 System.out.println( " 1 " ); 15 System.exit(1); 16 } catch( NumberFormatException e ) { 17 // 2 18 System.out.println( "" ); 19 System.exit(1); 20 } 21 x = i % 4; // 4 22 y = i % 100; // 100 23 z = i % 400; // 400 24 // 25 if ( x==0 && y!=0 z==0 ) { 29
26 // 27 System.out.println( i + "" ); 28 } else { 29 // 30 System.out.println( i + " " ); 31 } 32 } 33 } C: user>javac LeapYear.java C: user>java LeapYear 2001 2001 C: user>java LeapYear 2000 2000 30
5 Web main() 1 14 5.1 Version.1 WhatTime.java 1 import java.applet.*; 2 import java.awt.*; 3 import java.util.*; 4 5 public class WhatTime extends Applet{ 6 public void paint( Graphics g ){ 31
7 String s; 8 Date d = new Date(); 9 s = d.tostring(); 10 g.drawstring( s, 10, 30 ); 11 } 12 } import java.applet.*; import java.awt.*; import java.util.*; Java import java.util java.applet java.awt java.applet Applet java.awt Graphics java.util Date public class WhatTime extends Applet{ "WhatTime" "extends Applet" Applet java.applet.applet Applet public void paint( Graphics g ){ paint() String s; Date d = new Date(); Date Date Date 32
Date s = d.tostring(); Date tostring() tostring()date Date d 15 g.drawstring( s, 10, 30 ); Graphics drawstring(, x, y ) } paint() } WhatTime 3 Java Applet Date Graphics WhatTime Java2 SDK Java2 API Sun Microsystems Web 16 Java 17 Q A Java2 SDK Standard Edition "javac" "WhatTime.java" 33
C: user>javac WhatTime.java Web Web Web HTML Hyper Text Markup Language HTML HTML HTML "WhatTime.html" HTML WhatTime.html 1 <APPLET CODE="WhatTime.class" WIDTH="320" HEIGHT="40"> 2 </APPLET> Web Web HTML <APPLET CODE="WhatTime.class" WIDTH="320" HEIGHT="40"> HTML "<" ">" Web APPLET APPLET CODE WIDTH HEIGHT </APPLET> APPLET WhatTime.html Web JDK appletviewer 18 34
C: user>appletviewer WhatTime.html appletviewer APPLET appletviewer 5.2 Version.2 Web WhatTime2.java 1 import java.applet.*; 2 import java.awt.*; 3 import java.util.*; 4 5 public class WhatTime2 extends Applet{ 6 public void init(){ 7 setbackground( Color.blue ); 8 Font f = new Font( "Serif", Font.BOLD, 14 ); 9 setfont( f ); 10 } 11 12 public void paint( Graphics g ){ 13 String s; 14 Date d = new Date(); 15 s = d.tostring(); 16 g.setcolor( Color.cyan ); 17 g.drawstring( s, 10, 30 ); 18 } 19 } 35
public void init(){ init() setbackground( Color.blue ); "Color.blue"Color Color.white Color.lightGray Color.gray Color.darkGray Color.black Color.red Color.pink Color.orange Color.yellow Color.green Color.magenta Color.cyan Color.blue Color mycolor = new Color( int r, int g, int b ); r, g, b 0 255 mycolor Color.blue Font f = new Font( "Serif", Font.BOLD, 14 ); Font Serif 36
setfont( f ); g.setcolor( Color.cyan ); HTML HTML WhatTime2.html 1 <APPLET CODE="WhatTime2.class" WIDTH="320" HEIGHT="40"> 2 </APPLET> InternetExplorer NetscapeNavigator 37
InternetExplorer NetscapeNavigator CTRL SHIFT 5.3 Version.3 1 2 38
WhatTime3.java 1 import java.applet.*; 2 import java.awt.*; 3 import java.util.*; 4 5 public class WhatTime3 extends Applet implements Runnable{ 6 Thread trd; 7 8 public void init(){ 9 setbackground( Color.white ); 10 Font f = new Font( "Dialog", Font.BOLD, 12 ); 11 setfont( f ); 12 } 13 14 public void paint( Graphics g ){ 15 String s; 16 Date d = new Date(); 17 s = d.tostring(); 18 g.setcolor( Color.black ); 19 g.drawstring( s, 10, 30 ); 20 } 21 22 public void run(){ 23 while( trd!= null ){ 24 try { 25 Thread.sleep( 1000 ); 26 } catch ( Exception e ) { 27 System.out.println( e ); 28 } 29 repaint(); 30 } 31 } 32 33 public void start(){ 34 trd = new Thread( this ); 35 trd.start(); 36 } 37 38 public void stop(){ 39
39 trd = null; 40 } 41 } public class WhatTime3 extends Applet implements Runnable{ "implements Runnable" "Runnable" Java "extends" 1 19 Java "Runnable" "MouseListener" "MouseMotionListener" "Runnable""void run()" Thread trd; Thread public void run(){ Runnable run while( trd!= null ){ trd null while trd 6 Thread null trd while try { 25 Thread.sleep() try-catch try{ } 20 catch{ }26 40
Thread.sleep( 1000 ); 1 1000 } catch ( Exception e ) { 24 try catch try{ } 1 21 catch Exception e Exception Exception System.out.println( e ); 26 26 e repaint(); paint() public void start(){ init() trd = new Thread( this ); 6 Thread trd trd 6 trd.start(); run() public void stop(){ trd = null; run() while trd null while 41
repaint() HTML HTML WhatTime3.html 1 <APPLET CODE="WhatTime3.class" WIDTH="320" HEIGHT="40"> 2 </APPLET> 42
A C: user> jabac Sample.java 'jabac' "javac" jabac javac Sample.java C: user> javac Sanple.java : Sanple.java 1 C: user> javac Sample.jaba javac: Sample.jaba : javac <options> <source files> -g -g:none -g:{lines,vars,source} -O -nowarn -verbose -deprecation API -classpath <path> -sourcepath <path> -bootclasspath <path> -extdirs <dirs> -d <directory> -encoding <encoding> -target <release> VM 43
"Sample.java" javac Sample.java C: user> javac Sample.java Sample.java:3: : prjntln (java.lang.string) : java.io.printstream System.out.prjntln("This is a sample program."); ^ 1 Sample.java 3 prjntln println API 22 C: user> javac Sample2.java : Sample2.java API : -deprecation Java API Java Java "-deprecation" C: user>javac -deprecation Sample2.java Sample2.java:16: : java.awt.component resize(int,int) resize( 320, 60 ); ^ 1 22 44
API 16 "resize(320,60)" API API API API Java2 SDK 23 Java2 API "resize( int, int )" resize public void resize(int width, int height) JDK 1.1 setsize(int,int) "resize(320,60)" "setsize(320,60)" Java2 SDK B C: user> jaba Sample 'jaba' "java" java Sample C: user> java Sumple Exception in thread "main" java.lang.noclassdeffounderror: Sumple C: user> java Sample.class Exception in thread "main" java.lang.noclassdeffounderror: Sample/class C: user> java Sample.java Exception in thread "main" java.lang.noclassdeffounderror: Sample/java 23 45
"Sample.class"java ".class" java Sample C: user> java Sample Exception in thread "main" java.lang.nosuchmethoderror: main 2 "public static void main( String args[] )" "String args[]""public static void main( )" "public static""void main( String args[] )" 46