tutimura@mist.i.u-tokyo.ac.jp kaneko@ipl.t.u-tokyo.ac.jp http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/sem3/ 2002 12 11 p.1/33
10/16 1. 10/23 2. 10/30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAVA 12/18 10. ( ) JAVA 11. 12. ( ) p.2/33
(Object Oriented) p.3/33
Smalltalk C++, Objective-C, Object Pascal, Java, C# Perl, Ruby, Python, JavaScript Object Oriented Fortran, Object Oriented COBOL, Common Lisp Object System = p.4/33
100 int year[100], month[100], day[100];... date_print(year[6], month[6], day[6]); struct date_st { int year, month, day; }; struct date_st data[100];... date_print(data[6]); p.5/33
p.6/33
p.7/33
(inheritance) super sub extends extends new new new p.8/33
= p.9/33
Java Sun Microsystems (SDK) Java1.4 Java1.2 Java2 Solaris, MS-Windows, Linux, Macintosh, Java Virtual Machine (VM) (garbage collection) (Unicode) p.10/33
Hello World! // HelloWorld.java public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); } } HelloWorld.java javac HelloWorld.java HelloWorld.class java HelloWorld p.11/33
C (.java) javac public static void main() java p.12/33
C boolean char * String int a[] = new int[10]; int[] a = new int[10]; *, & byte 8 short 16 int 32 long 64 p.13/33
C /* */, // if, for, while, do.. while, switch.. case p.14/33
int i = 1211; Date date = new Date(2002, 12, 11); date.print(); public private p.15/33
(new) return p.16/33
(1/2) new 0 ( ).length (ArrayIndexOutOfBoundsException) int a[] = new int[10]; int[] b = new int[10]; int c[]; c = new int[10]; int[] d; d = new int[10]; // a[0] = b.length; // b (=10) b[10] = 0; // p.17/33
(2/2) {,,...} new int[] a = { 1, 2, 3 }; // OK int[] b; b = { 1, 2, 3 }; // Date dates[] = new Date[100]; // dates[5] null dates[5] = new Date(2002, 12, 11); dates[5].print(); p.18/33
int[][] a, b; a = new int[3][7]; b = new int[3][]; b[0] = new int[8]; b[1] = new int[9]; // // // System.out.println(a.length); // 3 System.out.println(a[0].length); // 7 System.out.println(b.length); // 3 System.out.println(b[0].length); // 8 System.out.println(b[1].length); // 9 p.19/33
new new boolean Boolean char Char (Unicode) byte Byte short Short int Integer long Long float Float double Double p.20/33
String equals() tostring() String s = "this" + "is" + "a" + "pen"; System.out.println(s); // thisisapen int i = 5; String t = "i = "; System.out.println(t + i); // i = 5 if (s.equals(t)) { /* */ } if (s == t) { /* */ } p.21/33
static ( ).( ) ( ).( ) (final static) p.22/33
static ( ).( ) ( ).( ) main() Math.sin(x) p.23/33
extends class SubClass extends SuperClass {... } Object extends p.24/33
public interface Comparable { public int compareto(object o); } Comparable Object Comparable SubClass1 SubClass2 SubClass3 SubClass12 SubClass22 SubClass31 SubClass32 p.25/33
implements class OrderedClass implements Comparable {... public int compareto(object o) {... } }, p.26/33
ex. ClassName ex. methodname(), variablename final static _ ex. CONSTANT_VALUE to+ ex. getelementat(), removeall(), isempty(), tostring() p.27/33
API, import import java.lang.*; import java.util.arraylist; // import java.util.*;... java.util.arraylist a; ArrayList b; // import p.28/33
JavaDoc HTML Java API /**... @param */ p.29/33
p.30/33
(abstract) p.31/33
2 ISBN:4795297088 (1997/12/01) Java http://www.y-adagio.com/public/standards/tr_javalang/ Java API http://java.sun.com/j2se/1.4/ja/docs/ja/api/ p.32/33
Java House http://java-house.etl.go.jp/ml/ I http://lecture.ecc.u-tokyo.ac.jp/ ktanaka/programming02/ Java http://www.nime.ac.jp/ osawa/ougi/java_java3d/ p.33/33