2 p.1 2 Java Java JDK Sun Microsystems JDK javac Java java JVM appletviewer IDESun Microsystems NetBeans, IBM 1 Eclipse 2 IDE GUI JDK Java 2.1 Hello World! 2.1.1 Java 2.1.1 Hello World Emacs Hello0.java public class Hello0 { public static void main(string args[]) { System.out.printf("Hello World!%n"); } } Hello0.java Java JVM javac > javac Hello0.java 1 IBM Eclipse Foundation 2 http://www.eclipse.org/
2 p.2 2 Java Hello0.class JVM Hello0 java > java Hello0.class Hello World! javac Java JVM java JVM : Java > javac 2> Q 2.1.2 Foo.java Java : Q 2.1.3 Bar.class main Java : Hello0.java public class Hello0 Hello0 2.1.1 Java Java public Hello0 Hello0.java.java 2.1.2 3 Hello0 {} : Java 3 public
2.1. 2 p.3 _, $, A Z, a z, 0 9, Unicode 0xc0 Java C public void, for, if Java 2.1.4 2.1.3 C C++ Q 2.1.4 Java 123Daaah Kagawa-U Drag n Drop 2_1 Foo777 Bar HelloWorld! AreYouHappy? Java C main main C main int main(int argc, char** argv) void main(string args[]) public static public static void main(string args[]) String Java String char C " " System.out.printf C printf Hello World! %d, %c, %x, %s C printf %n Java Unix Y=x0A, Windows Y=x0DY=x0A Q 2.1.5 Java main : 2.1.2 Java 2.1.6 WWW Java 2 Emacs Hello.java Java
2 p.4 2 Java Hello.java import javax.swing.*; import java.awt.*; // <applet code="hello.class" width="150" height="25"></applet> public class Hello extends JApplet { @Override public void paint(graphics g) { super.paint(g); g.drawstring("hello WORLD!", 50, 25); } } HelloTest.html HTML HTML HTML Java HTML HelloTest.html <html> <head> <title> A simple program </title> </head> <body> <applet code="hello.class" width="150" height="25"> </applet> </body> </html> Hello.java JVM javac 2.1.5 > javac Hello.java Hello.class JVM HelloTest.html appletviewer appletviewer HTML > appletviewer HelloTest.html Firefox Internet Explorer WWW HelloTest.html
2.2. Hello 2 p.5 : Web ServletWeb HTML Java Q 2.1.7 Baz.html Java JDK : 2.1.3 HTML HelloTest.html <applet code="hello.class" width="150" height="50"> </applet> code=.class width height <applet > </applet> HTML HTML applet deprecated object <object codetype="application/java" classid="java:hello" width="150" height="50"> </object> applet : HTML Hello.java Java applet import > appletviewer Hello.java Java Java C 2.1.6 2.1.7 2.1.8 C++ C C99 // 2.2 Hello Java Hello.java
2 p.6 2 Java 2 import javax.swing java.awt, package * 2 import 2 : OS JApplet javax.swing.japplet JApplet import javax.swing.japplet; import javax.swing import javax.swing.*; import package package Java import java.lang import String java.lang public class Hello extends JApplet JApplet Hello Hello JApplet JApplet Hello JApplet public public Hello JApplet paint 2.2.1
2.3. JApplet Graphics 2 p.7 paint @Override JDK5.0 2.2.2 main? main Web main Web main Q 2.2.1 Qux JApplet import public class 3 : public class 2.3 JApplet Graphics paint 2.3.1 init 2.3.2 4 start 2.3.3 5 stop 2.3.4 6 paint public void paint(graphics g) Graphics public class C paint super.paint(g) super. super.paint(g) 5 1 6 init 7
2 p.8 2 Java Graphics Hello Graphics drawstring HELLO WORLD! 50 25 void drawstring(string str, int x, int y) (x,y) str 2.4 Java. ( 1,..., n ).. 2.4.1 g.drawstring(... ) g Graphics drawstring Java Java :.,.. Q 2.4.1 g Graphics (12, 34) Thank You! :
2.5. Java AWT 2 p.9 2.4.2 1. Hello.java "HELLO WORLD!" 2. Hello.java 50, 25 2.5 Java AWT Hello.java Graphics drawstring Graphics void setcolor(color c) void setfont(font f) 2.5.1 ColorTest.java import javax.swing.*; import java.awt.*; 2.5.1 2.5.2 public class ColorTest extends JApplet { @Override public void paint(graphics g) { String msg = "Hello, World!"; super.paint(g); g.setcolor(color.blue); g.setfont(new Font("Serif", Font.PLAIN, 14)); g.drawstring(msg, 20, 25); g.setcolor(color.orange); g.setfont(new Font("Serif", Font.BOLD, 14)); g.drawstring(msg, 20, 50); g.setcolor(color.red); g.setfont(new Font("Serif", Font.ITALIC, 14)); g.drawstring(msg, 20, 75); } }
2 p.10 2 Java HTML height="100" C 2.5.3 2.5.4 int, double C C 2.5.5 Color Color.BLUE, Color.RED 8 RGB Color Tips: Java ((Graphics2D)g).setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); setrenderinghint Graphics Graphics2D JApplet paint Graphics2D Graphics Graphics2D 2.6 2.6.1 2.6.2. System.out System java.lang.system out 8 BLUE, RED, ORANGE BLACK, CYAN, DARKGRAY, GRAY, GREEN, LIGHTGRAY, MAGENTA, PINK, WHITE, YELLOW
2.7. 2 p.11 2.6.3 API static Color static Color BLACK Math static double cos(double a) Color.BLACK, Math.cos(0.1). Java main : Java 5.0 static import import static java.lang.math.cos; // cos // import static java.lang.math.*; // Math cos(0.1) Q 2.6.1 g Graphics : Q 2.6.2 π Math public static final double PI = 3.141592653589793; final static import Java : 2.7 2.7.1 new 2.7.2 constructor
2 p.12 2 Java API Color 3 int 0 255 R G B new Color(255,0,0) Color g.setcolor(color.red); g.setcolor( 2.7.3 ); Font Serif Monospaced, SansSerif, Dialog, DialogInput Font.BOLD, Font.ITALIC, Font.PLAIN 3 3 new Font("Serif", Font.BOLD, 16) 16 Q 2.7.1 g Graphics 12 Monospaced : 2.7.2 2.8 Graphics void drawline(int x1, int y1, int x2, int y2) (x1, y1) (x2, y2) void drawrect(int x, int y, int w, int h) (x, y) w, h void clearrect(int x, int y, int w, int h) (x, y) w, h void drawoval(int x, int y, int w, int h) (x, y) w, h void drawpolygon(int[] xs, int[] ys, int n) (x[0], y[0]) (x[n-1], y[n-1]) void fillrect(int x, int, y, int w, int h) (x, y) w, h draw fill
2.8. 2 p.13 2.8.1 : Java x y : Java Java API Java 6 http://java.sun.com/javase/ ja/6/docs/ja/api/index.html Graphics ShapeTest.java import javax.swing.*; import java.awt.*; import static java.awt.color.*; public class ShapeTest extends JApplet { } } @Override public void paint(graphics g) { int[] xs = { 100, 137, 175, 175, 137, 100}; int[] ys = { 0, 0, 25, 50, 50, 25}; super.paint(g); g.setcolor(red); g.drawline(0, 0, 75, 50); g.setcolor(green); g.drawrect(0, 0, 75, 50); g.setcolor(blue); g.drawoval(0, 75, 75, 50); g.setcolor(orange); g.drawpolygon(xs, ys, 6); g.setcolor(cyan); g.fillrect(90, 65, 75, 50); g.setcolor(magenta); g.fillrect(100, 75, 75, 50); g.setcolor(yellow); g.fillrect(110, 85, 75, 50);
2 p.14 2 Java drawline, drawrect Graphics Graphics g 2.8.1 2 xs, ys paint drawpolygon int[] xs = {100, 137, 175, 175, 137, 100}; C int xs[] = {100, 137, 175, 175, 137, 100}; Java [] [] Java 2.8.2 ShapeTest.java 2.8.3 Graphics : void draw3drect(int x, int y, int w, int h, boolean raised) void drawarc(int x, int y, int w, int h, int angle1, int angle2) void drawroundrect(int x, int y, int w, int h, int rx, int ry) void filloval(int x, int y, int w, int h) void fillpolygon(int[] xs, int[] ys, int n) void fill3drect(int x, int y, int w, int h, boolean raised) void fillarc(int x, int y, int w, int h, int angle1, int angle2) void fillroundrect(int x, int y, int w, int h, int rx, int ry) boolean 2.8.2 2.8.3 2.8.4 2 2.8.4 String java.lang.string
2.8. 2 p.15 1. 2. 3. m n-1 0 1 1. "The quick brown fox jumps over the lazy dog." a 2. "The quick brown." e 3. "The quick brown." 11 20 C a JDK, class javac, java main import appletviewer JApplet extendspaint init start stop Graphics drawstring applet param new Java API boolean,