Professional Documents
Culture Documents
Java
Java
Java4
JavaGUI
I/O
Java
The Java Programming Language Basics
Identifiers,
Identifiers,
Keywords,
Keywords,and
and Types
Types
Getting
Getting Started
Started
Expressions
Expressions and
and
Flow
Flow Control
Control
Arrays
Arrays
Object-Oriented Programming
Objects
Objects
and
and Classes
Classes
Advanced
Advanced
Language
Language Features
Features
Exception Handling
Exceptions
Exceptions
The
The AWT
AWT
Event
Event Model
Model
lnterfaces
The
The AWT
AWT
Component
Component Library
Library
Applets
Introduction
Introduction
to
to Java
Java Applets
Applets
Multithreading
Threads
Threads
Communications
Stream
Stream I/O
I/O
and
and Files
Files
Networking
Networking
Java
Java Foundation
Foundation
Classes
Classes
java
Day01-Day03
Day01
java
java
javajvm
java
javaappletsapplications
java
java
java
java
JVM
CLASSPATH
java
Java
Java
SunGreen
c++Oak
MosaicNetscapeJavaHot
Internetjava(Applet)
Java()
Java
Java
Internet
Java
ITjava
java
Intranetjava
Java
95.5.23 Oakjava
98.12. java1.2java2
java1.3,java1.4
2004.12 java1.5 java5.0
java6.0,java7.0
Java
Java
java,,3
(SDK:SoftWare
Development Kits)
java SE --
java EE--
java ME,
Java
java?
Java
JavaJVM
Garbage Collection
Code Security
Verifying
Java
JVM:
,,
Java
Java
Java
Java
Javabytecode
OS
JVM
JVMsunsun,
JVM
JVM
javaJVMjavajvm
JVM
JVM
Bytecode
JVM
CPU
Java
Java
Java
Java
java.lang.System.gc()/java.lang.Runtime.gc()
Java
Java
JVM
java
JDK
http://java.sun.com
JDKJDK
JDK
Windowsjdkexe
LinuxJDKopt
WindowsJDK2
JDKjavajava
JREjava
JDK,JREJVM
,java
JDKJREJVM
jrejdkjdkjre
jrejavabytecode
jdk
jrejvmjava
JDK
binjava, exe,
javajavacjava
jrejdkjre
srcjdk
demo:java
include
docshtml
lib
Java
windowsautoexec.bat(
)
Unixshellcsh $HOME/.cshrc bsh/ksh $HOME/.profile
JAVA_HOMEjdk
windows : set
JAVA_HOME=c:\programfiles\java\jdk1.5.0_09
Java
java
System.out.println(The String is:+str);
System.out.println("MyAge is: "+age);
}
}
javapublic
publicjava
java
HelloWorld.java
\\cmddos,d:\javacode\day01
javac HelloWorld.java
day012.class
StringS string str=HelloWorld!";
outoutSystem.otu.println(The String is: "+str);
HelloWorld
,
\\cmddos;cd d:\javacode\day01
java HelloWorld()
java Student
HelloWorld
java
package day01
package day01
,com.shunshi.abs.model
.
com.shunshiurl
com.sun/com.ibm
absmodel/
MySecondJava.java
package com.shunshi.corejava.day01
MySecondJava.java package corejava.day01;
javac d . MySecondJava.java
JVM
-d
JVM
javajava corejava.day01.MySecondJava
java MySecondJava
jvm
cd corejava\day01,java
MySecondJava
Java
CLASSPATH
java
java
javac java
-d
javacjavac/javac -help
java [] java
jdb [] debug
javadoc jdkapi
java
//
/**/ ,
/***/
javadocMySecondJava.java
MySecondJava.java
javadocMySecondJava.java
javadoc d .\doc MySecondJava.java
Java
jdkAPI
jar {ctxu}[vfm0Mi] [jar-file] [manifest-file] [-C directory] files //
jar
jarsunzip
jarjava,
.class
jar: d:\corejava\day011.classjar
jar
day01.jarcorejava\day01.class
MyThirdJava
MyThirdJava.java
Jarimport
day01.jarCLASSPATH
day01MySecondJava.class
javacode\day01MySecondJava.java
MyThirdJavajar
MySecondJava
corejava.day01.MySecondJava msj=new
corejava.day01.MySecondJava();
Stringrt.jarCLASSPATH
+
lang
MyThirdJava.javaString class String{}
JVMString
+
import .
import .*;
JDK
java.langJAVA
StringMathIntegerThread
java.awt/javax.swing/java.awt.eventjava
java.appletjava
applet
java.iojava
I/O
java.net
java.utiljavajava
javajava
Day02
java
java
java
java
Java
//
/*..*/
2:1
/***/
java
javadoc/**..*/
javadoc d . Hello.java,
doc
;
{ }
tab,,
Java
_ ,$,
_,$,;
java
Java
Java
abstract do implements private throw boolean double import protected
throws
break else instanceof public transient byte extends int return true
case false interface short try catch final long
static void
char finally native super
volatile class
float
new
switch
while
continue for null
synchronized default if package this
Java
javac++c++c++
c++java
sizeof
c++sizeof
163264
Java
JVM
java
truefalsenullC++
Java
java
gotoconstJava
?
javafinalconst
gotoc++
gotogoto
c++goto?
Javabreakgoto
break
break out
outout
breakgotogoto
javaenum assert
enum
assert
Java
boolean true/false
byte 8 1
short 16 2
int 32 4
long 64 8
char 16 unicode 2
double 64 8
float 32 4
boolean
Javaboolean
boolean b=true;
Javabooleantrue,false
Javabooleanintc++
C++,0false,0true
booleanint
c++booleanint
int a=1;
if(0<a<2) cout<<a<<endl;
Integer
byte,short,int,long
Java4
byte: 1 128(-27)-127(27-1)
Integer
short: 2 32768(-215)-32767(215-1)
int: 4 2147483648 (-231) -2147483647 (-231-1)
long: 8 263-263-1
Java
Javac++ java
c++Java
byte
Byte8 1 28=256 (-27)-128127(27-1)
-128-127-127-128
0
1
1-5
81-1800
0111111112710000000-128
Integer
-128+127=-1
byte
long lL
int0xH 80O 10D
10
int
char
char
char 16 2c++,unicode
unicode
unicode16 \u0061
2unicode216
127ASCII
char
charshort16
unicodeunicode
unicodeASCII
0-127unicodeASCII
ASCII A:65 a:97 0:48
unicode1610
char zhchar=; char enchar=a; char enchar1=97;java
int char
String
Java
\ \ \\ \ \n \ttab
\b
\0\u0000 unicode0
String
Stringjava8
StringjavaString
Java
Java\0
StringJavajdkapi
String
String str1=Hello;
String str2=new String( World!);
String
+
String s1=12; int ia=3; int ib=4;
System.out.println(s1+ia+ib); System.out.println(ia+ib+s1);
char charAt(int)int
System.out.println(str1.charAt(0));
String concat(String)StringString
System.out.println(str1.concat(str2));
String
boolean contains(charSequence s)
float fF
double dD
TestFloat.java
0double d=0.0/0.0; System.out.println(d);
double a=2.0,b=1.91,c=0.09;
if(a-b==c) System.out.println(ok);else System.out.pringln(no ok);
on ok
22
okif(Math.abs(a-b-c)<(1e-6)) System.out.println(ok);
Math
lang
Math
Math
abs()
sqrt()
pow()
cos(),sin(),tan(),ctan()
random()0-1
TestFloat.javaMath
Math.abs(-5)
Math.sqrt(9)
Math.pow(2,3)
Math.random()*1000-100
2
abab
java8boolean7
7
byteshortintlongfloatdouble
char
int a=0x2aff; byte b=(byte)a; b-1
DataTypeTest.java
byte+byteint
byte a1=1,a2=2;byte a3=a1+a2;()
+=
byte c=3; c=c+3; c+=3;System.out.println(c);
int,intlongfloat
float fa=37; System.out.println(fa);
int ia=(int)fa; System.out.println(ia);
long la=0xffffffffffL;float fb=la;System.out.println(fb);
long lb=(long)fb; System.out.println(lb);
int a=0x2aff; byte b=(byte)a; System.out.println(b);
floatdouble
float fe=1234.56f; double de=fe; System.out.println(de);
float ff=(float)de; System.out.println(ff);
System.out.println(5/2);
System.out.println((float)5/2);
charint
char c1=A; int iic=c1;System.out.println(iic);
char c2=99; System.out.println(c2);
Java
?
int day,
month, year;
,
,
int myBirthDay, myBirthMonth, myBirthYear;
int yourBirthDay, yourBirthMonth, yourBirthYear;
(date)
Java
Java
Java(
)
Java(
)
Java
class Student{
private String name;
private boolean sex;
private int age;
private String major;
Java
public void setAge(int age){
this.age=age;
}
public void setMajor(String major){
this.major=major;
}
public String getName(){
return name;
}
public boolean getSex(){
return sex;
}
public int getAge(){
return age;
}
public String getMajor(){
return major;
}
}
Studentint,float
Student stu; Studentstu
name,sex,age,majorname,sex,age,majorstu
Java
Student
Student stu; stu=new Student(LiDW,true,22,computer);
int x;x=7; float y=9.9f;
int
new
int x; x=7;
Javac++java
(Student)
Javac++
C++int* p; p++,p--,*p
Java
++,--java
Java
Java
4
324
stu=new Student(LiWD,true,22,computer)
Student
stustu
Java
Java
Student stu3=null;
stu3name,age
NullPointerException
(
)
Student stu4=new Student(LiWD,true,22,computer);
stu4=null;
Java
Java
java.lang.System.gc()JVM
Java
java.lang.System.gc()
Javajvm
Javac++
C++
Java
;;;
There are students and a teacher in classroom
Java
=11
=*=/=%=+=-=<<=()>>=()>>>=&=()
^=()|=()
byte b1=2; b1+=2; b1=b1+2;
>>=<<=,instanceof()= =!=
Java
>
>=
<
<=
instanceof
!=
==
+,-,*,/,%
5/2 (float)5/2
Java
>>(,2)<<(,2)>>>()
0
0
int a=68; a=a<<34; System.out.println(a); 0
a<<34a<<(34%32)
int in1=20;System.out.println(in1>>1); 10 System.out.println(in1>>>1);
10
int in2=-20;System.out.println(in2>>1); -10 System.out.println(in2>>>1);
&()|()~()^()
int a=0x5a2b; int b=0x7332; a&b a|b a^b
int a=0x8a3d;
Java
a880 a&0xff00
a881 a|0x00ff
a88 a^0x00ff
a880 (a^0xff00)&0xff00
a13572468
0101010185
a^85
&& truetrue
|| truetrue
! !true=false; !false=true;
java &|c++
C++c++
&|
java, &|
Java
&&,||&,|
&& ||
&& ||
&|
int in3=1; if((2>3)&&((in3=2)>3)) System.out.println(in3);
if((2>3) & ((in3=2)>3)) System.out.println(in3);
? :,;
Java
()
Day03
java
java
java
java
java
java
Java
Java
,
null
byteintshortlong
0 0-9223,453,4 023
00-7,023,065 0895
0x0X0-9,A-F0xff,0X97a 0xeg9
L0xffL,99Lint
float(32)double(64)
float:fF, 2ef,.4f,0f,5.022e+23f 6.7e+34
double:dD,3.84d,3.6D
truefalse
java2unicode\u
unicode a,\t,\u0027,final char c=2;,dd
Java
.hello,33,\t\u0024
null
final ; final =;
Java
X0Y3
0+3=3
int x=0,y; y=x+3;
booleanbyteshortintlongcharfloatdouble
:
Java
Java
byte b=3; int t=b;//bint
=()
int x; byte b=(byte)x;
xbx
Java
=;
{}
{int t;
..
}
{int t;
..
{int m
}
}
TestLocal.java
java
/
/
int 0 char \0 float 0.0 double 0.0 boolean
false null
/static
TestLocal1.java
System.out.println(a);int a;
{}
TestLocal1.java
2
Java
2
Java
java
*
PrintRectangle.java
PrintRectangle1.java
printRect(int x,int y)
printRect
,printRect
printRect
Java
CRS
:
( 1, 2..){
return ;
}
void
(12);
=(1,2,.);
System.out.println((1,2..));
java
TestArgument.java
staticstaticstatic
Java
Javamain(),
staticstaticstatic
Java
java
java . a ba,b
String[] args
Java, args[0]
int
Integer.parseInt(String)
(overloaded)
OverLoad.java
Java
if(){
if(){
}else if(){
}
if(){
}else if(){
1;
}
}else {
2;
else{
;
}
}
1
1
2
2
n 3
Java
TestIfElse.javaif,else
if(a>b)
if(c>b) d=10;
else d=20;
System.out.println(d)
switch(){
case 1:
1
break;
.
case n:
2
break;
default:
2
break;
}
switch
byte,int,short,char,
case,case/
.
casebreak
default
(end ,top,middle)
TestSwitch.java
()
90
A80-89B70-79
C60-69D60E
(
break)
System.exit(0);
case1
case2
casen
defaultn
1
2
n
Java
switch,break
for
for2
for(int i=0;i<=10;i++)
while
while(){
do-while
do{
;
}while()
Java
3
for
while
do..while
3
1-1/3+1/5-1/7+1/9-1/11+50
50for
1-1/3+1/5-1/7+1/9-1/11++1/n, |1/n|<1e-5
while
,
Java
Java
break ;
break out; out
continue;
continue out; out
break,continue
TestBreak.javabreak out
public static void main(String[] args){
out:for(int i=1;i<=9;i++){
for(int j=0;j<i;j++){
for(int k=0;k<j;k++){
for(int m=0;m<k;m++){
if(i+k+j+m==24){
System.out.println(i*1000+j*100+k*10+m);
break out;
}}}}
Java
java
int[] a;
a=new int[10];
aa++,a--
a.lengthlength
TestArray.java
for(int i=0;i<a.length;i++){//length
System.out.print(a[i]+ );//0
0
}
System.out.println();
Long0Lfloat0.0fdouble0.0
char\u0000booleanfalse
Java
null
String[] str=new String[10];System.out.print(str[i]+ );
TestArray.java
int[] a={3,7,54,24,98,1,0,5};a
Java
int[] a={1,2,3,4,5,6,7,8};//
for(int i=0;i<a.length;i++){
System.out.println("a["+i+"]="+a[i]);
}
//int[] b=new int[10]{3,2,5,7,4,6,9};//error!
int[] a={2,4,6};
print(a);
}
static void print(int[] m){
for(int i=0;i<m.length;i++){
System.out.print(m[i]+"\t");
}
System.out.println();
}
Java
Java
ExpandArray.java
Static int[] expand(int[] m){
int[] n=new int[m.length*2];
for(int j=0;j<m.length;j++){
n[j]=m[j];
}
}
static int[] expand(int[] m){
System.arraycopy(m,0,n,0,m.length);
return n;
Java
java
javajavajava
System.arraycopy(m,0,n,0,m.length);
a0 a0 a02 a03
Java
0 1
a1 a11a12 a13
int[][] a=new int[3][4]; int[][] a;a=new int[3][4];
0
int[][] c1=new int[][3]; int[3][] d=new int[3][]{{4,5},{7,8},{9,2}}; a2 a2 a22 a23
0 1
int[3][] d=new int[][]{{4,5},{7,8},{9,2}};
int[][] b={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int[][] c=new int[][]{{4,5},{7,8}};
int[][] d=new int[3][];printArray(d);//
Java
bb
b.length3;
bb[0],b[1],b[2]
,b[0].length==b[1].length==b[2].length
bTestTwoArray.java
for(int i=0; i<b.length;i++){
for(int j=0;j<b[i].length;j++){
System.out.print(b[i][j]+ );}}
System.out.println();
Java
System.out.println(a.length);
System.out.println(a[0].length);
System.out.println(a[1].length);
System.out.println(a[2].length);
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
Java
}
}
ArrayAccess.java
static int[] data={3,2,5,7,6,3,8,9,4};
lendatalen=data.length;
insert static void insert(int pos,int val)posval
()
len==data.length
expand
(pos<0 || pos>len)
pos==len
pos
Delete static void delete(int pos) pos
(pos<0 || pos>len)
pos==len
pos
Java
if (index==data.length) expand();
for(int i=index;i>pos;i--){
data[i]=data[i-1];
data[pos]=value;
index++;
index--;
for(int i=pos;i<index;i++){
data[i]=data[i+1];
Java
static void expand(){
System.arraycopy(data,0,a,0,data.length);
data=a;
for(int i=0;i<index;i++){
System.out.print(data[i]+" ");
System.out.println();
insert(2,1);// 2 5 1 7 6 3 8 9 4
print();
delete(1); // 2 1 7 6 3 8 9 4
print();
}
}
,
java
Day04-Day09
Day04
IDE-Eclipse
java
java
ArraySort.javajava
javajava
java
java
java
Java
java.util.Arrays.sort()
javasun
Student
Dog
java
java
java
,,
StudentStudent
PaperPaper
Student
()
Paper
Student
()
javajava
sun
,
Java
Student
java
oop
java
Java
package ;
package0-1
import
classpath
jdkpath,classpath5.0,6.0path
import0-n
(public) class {...}
publicjavapublic
n
classclass
{}{}
public class {
{}
}
Java
0-n
int age;
private int age;
public int age;
(=);
get
Java
private void method(){.}
public int getAge(){.}
java
0-n
{return }
0
void
return
public static void main(String[] args){.}
java
javaoverload
java
jvm
Java
javajava
java System.out.println()
System.out.println();System.out.println(abc);System.out.pri
ntln(1);
(food)
OverLoad.java
java
0-n
public Student(String name,int age,boolean sex){.}
Java
([])[]{}
.class1-n
2
jvm
2
TestInit.java
new
2
private int data=1;
public TestInit(int m){data=m;}
Java
{}
java
10
dd
1.2
Java
s=new Student();java
s
s
1A2B
S:1A2B
new
Student()
Java
TestParameter.java
Java
Javathis
this
TestThis.java
this
this this.
this
this()
this()
class ClassA{
public ClassA(){System.out.println(ClassA());}
public ClassA(String s){
this();System.out.println(ClassA(String));}
}
this()
Java
this()
class ClassA{
public ClassA(){
this(abc);System.out.println(ClassA());}
public ClassA(String s){
System.out.println(ClassA(String));}
}
Java
Javajava
{}{}
void
c/s1
(Account)
id: password:name:
personId: email:
balance:
deposit: ,doublewithdraw:
,double
:,
Day05
javajava
java
javascriptjavascript
TestEncapsulation.java
.
get,set
TestCreditCard.java
get,set
TestCreditCard.javaset6
get
CreditCard
java beansjava beansjava
java beansget,setget
set get,set+(),get,set
,expand()
,
TVATM
,
2
public int doubleNumber(int a){
return a*2;
//return a<<1;
}
CRS
int getPrice(fltNo,seatClass,psrClass,rate){
rate
result=;
return result;//
}
200050result=
+50
200350
2004
C/S
:Bank Account Management System BAM
:C/S,ATM
.
1:()(Account)
:
id:
password:
name:
personId:
email:
balance:
:
deposit: ,double
withdraw:,double
:
,
2:()
Account
java
class Student{
}
class Teacher{
,
,,
,
class Person{
}
Animal
Cat
Dog
is-a
Dog is a Animal Student is a Person
is-ahas-a
is a
class extends {}
Java
Student-Person-Animal-PersonStudent
Student
java
Java
Robot
java
Java
private (default) protected public
TestAccessProperties.java
Java
private
default
defaultdefault
protected
++
public
publicprivatedefault
protectedTestAccessMethod.java
protected
java
Java
private
default
protected
++
public
TestOverride.java
TestOverride1.java
TestOverride2.java
Jdk5.0
TestOverride2.java
TestSxZg.java
super
this
ClassA
a=20
ClassB
a=10
a=30
super.
super.
super
ABCDDAB
CD
B C
TestConstructor.java
class A{public A(){..}} class B extends A{}
super()
super()
this()
,
Object
ObjectextendsObject
extendsextends Object(extends
Object)
TestInhericeObject.javaObject
TestInhericeObject.java
thissuper
super()
thissuper
TestConstructorSub.java
/
TestAccessMethod.javaZhangJCprintMoney
HuZG
TestAccessMethod.javaZhangJCprintMoney
super.printMoney()ZhangJS
/
/
TestCARP.java
is-a
/is-a
protected
TestCARP.java/
/extends
/
/
:,
TestPolymorphism.java
,,
,,
,
TestPolymorphism.java
instanceof
instanceof
truefalse.
,
,,,
,,,
,
TestPolymorphism1.java
TestPolymorphism2.java
OK
,,
?
TestOverLoadDT.java
,,
1.Shape,:
:Rect(),Circle();Rect:Square(),
;,Shape
,
2.
Employee,
getSalary(int month)
100
SalariedEmployeeEmployee
;HourlyEmployeeEmployee
1601.5
SalesEmployeeEmployee
BasedPlusSalesEmployeeSalesEmployee
Day06
static
static
final
final
java
abstract
abstract
static
static
static?private,public,protectedjava
private,protected,publicstatic
static,,,
static int age;
static int method(){}
static{}
class Outer{.static class Inner{}}
static
static
,
TestStatic.java
TestCount.java
static
static
static
static
()
jvm
?
new Student()jvmstudent
student.javastudent.classstudent.class
jvmnew Student()student.class
jvmjvmStudent
new student()Student
,;
static
static
staticstatic
staticstatic
static
static
static,,
,
staticthissuper
MyClassstatic
TestCount.javathissuper
TestStaticFGDT.javastatic
javamainstatic
Javamain
static
main
mainjvm
mainmainmain
javajvm
static
static static{.}
static
TestClassLoad.java
class Person{static String name;}
public class TestClassLoad{
public static void main(String[] args)
Person p1=new Person();
Person p2=new Person();
}
}
p1,p22new Person()name
new
()
static
{}
TestClassLoad.javaclass Person
TestClassLoad.java2
TestClassLoad.javaclass Personstatic
static
static
TestStaticInitBlock.java
new
static
TestStaticInitBlock.java
class PersonageTestStaticInitBlock
TestStaticInitBlock.javanew2
static
static
static
TestClassLoad1.java
(,)
(
)
m(),
static-
static
?
.,
23
Singleton
new
new?
new
class Person{
private Person p=new Person();
public Person(){}
}
static,,
static
class Person{
private static Person p=new Person(); private Person(){}
}
class Person{
private static Person p=new Person(); private Person(){}
public static Person getPerson(){return p;}
}
TestSingleton.java
2
hs1instance
instancenew
final
class Bank{
private static Bank bk=new Bank(); private Bank(){}
public static Bank getBank(){return bk;}}
final
final?finalc++const
final
final;;;
final
final
TestFinal.javafinal
final
TestFinal.javafinal
final
TestFinal.javafinal
finalfinal
final
static final
final
final
final
final
final
final
final
static final
static final
final
final
final
final
final
TestFinal.javafinal
final
final
final
final
final
finalfinal
final-
final,
final class C{
private final int a;
private final int b;
finalString
String
String
s1
123
s3
new Stringnew
s2
456
s4
456
finalString
intern()
TestString.javaintern()
intern()
123
S:01dc
01dd
02dc
S2:02dc
456
S:01dd
03dc
678
S2:03dc
6789
String+
String,+,String
,+(
)
: String s=A;s=s+B+C+D+E;
finalString
TestStringLJ.java
String+
StringBuffer
StringBuffer
StringBufferjava.lang
StringBufferappend()
StringStringBuffer
String s=A; StringBuffer sb=new StringBuffer(s);
StringBufferString
String s=sb.toString();
TestStringBufferLJ.java
StringStringBuffer
String,String,
StringBuffer,,
TestStringBuffer.javaString,StringBuffer
abstract
abstract
abstractabstract
abstract;
abstract
TestAbstractClass.java
abstract
abstract
abstract
Sub
abstract
abstract
abstract
abstract
abstractabstract
abstract
abstractabstract
abstract
TestAbstractMethod.java
abstract
abstractabstract
abstract
static
static
final
final
abstractabstract
staticabstract
finalabstract
privateabstract
staticabstract
abstractstatic
finalabstract
abstractfinal
final
privateabstract
privateabstract
TestModifier.java
Day07
Object
String
String
StringBuffer,StringBuilder
TestInterface.java
}
abstract class ClassA{
public static final int a=10;
public static final double b=Math.PI;
public abstract void m1();
public abstract void m2();
}
Interface IA{
int a=10;
double b=Math.PI;
void m1();
void m2();
}
,,
interface interface {}
IA.class
javapublicclassclass
javapublic
.class
,
,,
TestInterface.javapublic
TestInterface.java
newnew
TestInterface.javanew
TestInterface.java
implements
TestInterface.java
TestIn.java
.
TestInterface.java
:,,
.class.
,
.
new,
,implements
,.
TestInterface.java
(),
,
TestInterface.java
USB
usb
Shape
SalariedEmployee
2000,BasePlusSalesEmployee1000
,,
(2
2
2
)
javaDriver
java
Driver
DB OS
sun
java
java
Java
DB
DBjavaDB
TestJDBC.java
DB
12
()
()
APPDriver
TestArraySort.java
TestJDBC.java
TestCallback.java
.class
(
)
Object
java
Object
Object
ObjectObject
Object
Objectfinalize()
finalize()
finalize()
finalize()c++javac++
Object
finalize()
java
java
javajavajvm
finalize()
jvm
finalize()
finalize()
TestFinalize.javafinalize()
Objectclone()
TestClone.javaclone
2
clone
Object
Objectcloneprotected
.clone()
Object
clone()clone()
ObjectcloneObject
clone()public
cloneclone
Cloneable
instanceof
Cloneablejava
Cloneable
cloneCloneNotSupportedException
clone
class EmployeeCloneableclone
clonecloneclone
clone()java
Object
super.clone()Objectclone
ObjectObject
age
2
Objectclone
class SalaryCloneableEmployee
clone
clone
ObjectCloneable
clone
clone
clone()
clone()clone()
clone()
Object
clone()Cloneablepublic
clone()
Cloneable
instanceof
Cloneableclone
Cloneableclone
cloneCloneNotSupportedException
EmployeeStirngString
CloneableStringclone
StringString
Cloneable
clone
clonejdk
5%Cloneable
Object
ObjecttoString()
ObjecttoString()public String toString(){return
toString
ObjecttoString()
TestToString.javatoString()
toString()
toString()
toString()
Objectequals()
Objecteuqals()public boolean equals(Object o){return
this==o;}Objectequals()
String
TestEquals.java
String==false,equalstrue
Student==false,equalsfalse
Object
StudentequalsequalsObject
StudentObjectequalsfalseObject
equals
StringequalstrueStringObject
equals
equals
Objectequals
Object
Objectequals
Student s1=new Student(wj,26); s1.equals(s1)true;
true
s1.equals(s2)true;s2.equals(s1)true;
s1.equals(s2)true, s2.equals(s3)true;s1.equals(s3)
true;
5
91,94,9791949497
91975
equalsequals
Object
equals
,Studentequals()
public boolean equals(Object o){
if(o==this) return true;//
true
if(o==null) return false;//o
false
if(!(o instanceof Student)) return false;//2
false
oStudent
oStudent
Student
if(this.getClass()!==o.getClass())return false;//getClass()
2
Student st=(Student)o;//oStudent
if(st.getAge()==this.getAge() &&
st.getName().equals(this.getName()))
{
return true;
}else{ return false;}
}
Employeename,age,salary;
toString(),equals(),clone()
Java
java
Java
intIntegerchar
CharacterbyteByte
intchar
Java
StringtoString() Integer
ii=34;String str3=ii.toString();
Stringnew String str4=33.33;
Double dd=new Double(str4);
Integer i1=new Integer(2); Integer i2=new Integer(2);
System.out.println(i1==i2);System.out.println(i1.equals(i2));
int temp=Integer.parseInt(24);System.out.println(temp);
String
Integer
Integer
Integer
Double,int
double
Integer.toString(int)
int
String .valueof(int)
Integer.parseInt(String)
String
String,StringBuffer,StringBuilder
jdk5.0
String,StringBuffer,StringBuilder
String
split()
TestSplit.java
trim()
TestSplit.java
indexOf(String) StringString
intTestIndexOf.java
TestPool.javaString
replace(,)/replaceAll(,)
TestReplace.java
matches()
TestZz.java
String,StringBuffer,StringBuilder
StringBufferStringBuilder
StringBufferStringBuilderAPI
StringBuilderjdk5.0StringBuffer
StringBuffer
StringBuilder
TestStringBuiler.javaStringBuilder
Shape
SalariedEmployeeHourlyEmployee2
2
2
Day08
4
java
class Outer{
class Inner{
.
}
}
class Outer1{}
Inner1Outer1Outer1
class Innter1{
}
Class Outer2{Inner2Outer2,Outer2,
MemberInner
MemberInner.java
2.class
MemberInner.classMemberInner$Inner.class2
22
.class
TestMemberInner.java
this.
.this.
StaticInner
StaticInner.java
static
TestStaticInner.java
./.
LocalInner.java
TestLocalInner.java
final
final
mainmain
main
interface JavaTeacher{void teachJava();}
class University
new
3
new
TestAnymousInner.java
new
final
TestMainAnymousInner.java
2TestInAbstract.java
TestRobot.java
Person
java
java
Throwable
JavaThrowableThrowable
exception:
Exception
error:
java
error
Throwable
Exception(),Exception(message)
message
Exception
RuntimeException
UncheckedException
RuntimeException:(
)
(
)
:
Exception(cause)
Exception(message,cause)
cause
RuntimeException
CheckedException
RuntimeException
RuntimeException,
RuntimeException
TestFirstException.java
0
test
mainmain
jvm
mainmain
jvm
02
2
ArithmeticException
ArithmeticException
TestFirstException.java
IndexOutOfBoundException
TestFirstException.java
NullPointerException
TestFirstException.java
ClassCastException
TestFirstException.java
NumberFormatException
Eclipse
()
TestFirstException.java
:
TestException.java
mc new ();
mcthrows
new ()
TestException.javaNullPointerException
mcmbmamainjvm
JavaThrowable
String
TestException.java
(FileNotFoundException,SQLException,EOFException)
NullPointerExceptionRuntimeException
FileNotFoundException,SQLException,EOFException
RuntimeException
java2
Java
try{} catch(Exception e){}
throws Exception;
throws
throws
java
throws
TestException.javathrows
java
mcthrows
throws FileNotFoundException,EOFException,SQLException
mbthrows
throws FileNotException,EOFException,SQLException
mathrows
throws IOException,SQLException
mainthrows
throws Exception
Java
throws
throwsNullPointerException
()throws/try-catch
throws
try-catch
throws
maIOException,
FileNotFoundException,EOFException,SQLException
mainException
throwsjava
throws
throwstry-catch
SQLException
javajdkthrows
TestThrows.javathrows
Java
try-catch
try-catch
try{..}catch(Exception e){..}finally{..}
try
catch
finally
try1catch0-nfinally0-1
catch0finally1
TestTry.javatry-catch-finally
try-catch-finally
try
catch
finally
try-finally
try-catch-finally
TestException.javatry-catch
catchcatch
catchcatch
catchcatch
Java
TestTry.java
Trytry-catch2
tryreturn
finally
trycatch,catchreturn
finally
catchprintStackTrace()
ExceptionNullPointerException
catche
catch
ExceptionNullPointerException
NullPointerExceptionExceptionjava
catch
jvmjvm
catch
Javafinally
try-catchfinally
TestFinally.javafinally
finally{}catch
finally{}return
finallyreturntry,catchreturn
returnreturn
trytryfinally
trycatch
catchfinally
finally
try{
try-catch-finally
.
try{
try{
try{
try{.}
catch
.
.
.
catch(){
}catch(){ }catch(){ }
throws
.
.
.
finally{
}
}
}
.
}catch(){}
finally
finally{.}
}
Javafinally
TestFinally1.javafinally
a
returnfinally
finallyreturntry,catchreturn
TestFinally1.javafinally
finally
finally
try-catch-finally
ThrowableString messageString
message
messageException
messagemessage
super(message);Throwablemessage
throw
TestException.javamc
throw new NullPointerException()
Java
throw new FileNotFoundException()
throw new EOFException()
throw new MyException()
ThrowablegetMessage()
messagecatchmessage
System.out.println(e.getMessage());
printStackTrace()
TestExceptionOverride.java
Java
java
Exception
RuntimeException
2
message
class MyException extends Exception{
public MyException(){super();}
public MyException(String
message){super(message);}
}
class MyException extends RuntimeException{
public MyException(){super();}
public MyException(String
message){super(message);}
}
Java
throws
TestAgeException.javaPerson
age0-130
AgeException
throws
try
try
try
throwstry-catch
throwstry-catchthrows
try-catch
try-catch
throws
try-catch
throws
BAM
BalanceNotEnoughException :
()
BalanceSmalerZeroException:
RegisterException:,
LoginException:,id,
LoanException:,
,
BusinessException
Java
TestAssert.java
java1.4
assert : String
AssertionError
:
assert a%2==0 : a
jdk1.41.4
javac source 1.4 .java
java enableassertions(-ea)
Day09
java
java
List
Set
Map
List
Set
Map
c++
java
DB
Collection:Object,
List:Collection
Collection
Set:Collection
List
Set
Set
HashSet
124
LinkedHashSet
816..
SortedSet SortedSet:Set
Set
ArrayList
TreeSet
Vector
1,1,2,3,5,8
LinkedList
HashMap
LinkedHashMap
MapMapkeyvalue keyvalue
HashTable
keyObject,key,value
Object,value
SortedMap SortedMapMapMap
keyMap,
,
TreeMap
Map
LinkedLinkedLinkedList
LinkedHashSetLinkedHashMap
Linked
Linked
Linked
Linked
ListArrayListVector
ArrayList jdk1.3
Vector
Vector jdk1.3Vector
java
MapHashMapHashTable
HashMapkey,valuenull
HashTablekey,valuenull
List
List
APIList
List
add(object)
add(index,object)indexList
List0
addAll()
clear()
remove(Object)
remove(index)index
contains()(
equals
)
get(index)index
indexOf()
isEmpty()
set(index,object)
APIList
ListArrayList
ListequalshashCodeequals
,hashCode
ListIterableIterable
Listiterator()size()
ListEObject
ListArrayList
ArrayListListList
TestList.javaArrayList
=new
list.add(3)new Integer(3)
list0
getArrayListget
objobjtoString()
objString,IntegertoString
ListArrayList
jdk5.0jdk5.0
TestList.java
listStringList<String> list=new
ArrayList<String> ();
list.add(3)3String
String str=list.get(i),Object
DB
ArrayList
Iterator3
1hasNext()
truefalse
2next()
3remove()
ListArrayList
TestArrayListIterator.java;
Collection
2ArrayListCloneableArrayList
ArrayListclone()
3ArrayListRandomAccessRandomAccess
ArrayListget()
ArrayList
1ArrayList()10
211ArrayList
3ArrayListArrayList
(1)ArrayListObject
ArrayListObject
(2)10
(3)ensureCapacity(..)
ArrayListadd,addAll()ensureCapacity()
(4)ensureCapacity
jdk1.6Arrays.copyOf(..)
jdk1.52newelementData
System.arrays.copy(oldData,0,elementData,0,oldData.length)
ListArrayList
4ArrayList
/ArrayList
ArrayList
TestCapacity.java
ArrayList10
System.currentTimeMillis();
197011 0000
List
1TestListSort.javaList
Collections.sort()
2Collections
Collectionssort(list)List
TestListSort.javalist4Integer
Collectionssort
3Collectionssort
TestListSort.javalist4Student
sort
12
Collections
2String,Integer
ListArrayList
3
ComparablecompareTocompareTo
Collectionssortsort
ComparecompareTo
ComparablecompareTo
sortcompareTo
TestListSort.java Student
ComparablecompareTo
/
ListVector
VectorListVector
ListVector
ArrayList List ArrayList
Vectorjava
VectorArrayList
Vector,,,,
ArrayList
ListLinkedList
ArrayListVector
ArrayListVector
ListLinkedList
LinkedList
LinkedList
LinkedListList
List
LinkedListArrayList
1LinkedList
LinkedList
Stack
Stack
LinkedList
2ArrayList
List-LinkedList
ArrayList
StackArrayListLinkedList
Stack
ArrayList
Stack:java
StackStack
Vector VectorVector
StackVector
VectorStack
sun/
javaStack
LinkedList
LinkedListMyStack
LinkedList/
TestMyStack.java
Set
Set
SetCollectionCollection
Set
JavaSet
SetHashSetLinkedHashSetSet
SortedSetSortedSetTreeSet
Set
add(E)
addAll(Collection)
clear()
remove(Object)Object
removeAll(Collection)
isEmpty()
equals()2
hashCode()hash
SetSet
Set
SetSet
List
Set
TestSet1.javaSet
TestSet2.javaSet
SetHashSet
SetListfor+get()Set
jdk5.0foreach
foreach
jdk5.0 5.05.0
TestSet2.javaforeach
for(String ss: s)System.out.println(ss);
foreachforeach
foreachfor( :/)
SetHashSetapiHashSet
HashSetRandomAccess
get
HashSetHashMap
HashSet1616
0.75
HashSet
1616*0.75=1212
1316
12
HashSet
HashSet2
HashSet
HashSet
HashSetHash()
Hash
HashSetHash
HashhashCode()
Object
s1-s66Set
1HashSethashCode(),equals()
2HashHashSet
hashCode,equals
3equals()
Hash
4Hash
hashCode()
equals()
hashCode
Hash
5Hash
HashSetObjecthashCode(),equals()
HashSet
Object hashCode(),equals()
TestSet1.javaStudentset
StudenthashCode,equals
6Hash
s2,s3,s1
7Hashequals
2
equals2
2
hashCodehashSet
2hashSet
hashCode,equals
2Hash
8HashSet
1hashCode()
hashCodeequals
2equals()equals()
true
Hash
3
int-2147483648
21474836474294967296
2
1323
2
4
9hashCode
equals
s1-s44hashCode
int hashCode(){return 0;}0
equals()
10StringHashSet
hashCode,equalsjava
jdkhashCode()equals()
TestSet1.javaStringHashSet
TestPerson.javahashCode(),equals()
Hash
class PersonidnameTestPerson
HashSet
1PersonhashCodeid
equalsidid
setHashSettoString()
2PersonhashCode9
equals
3equalsequals
true
4hashCodeidequals
equals
TestPerson.javahashCode(),equals()
hashCodeSystem.out.println(Hash
Code +id);
equalsSystem.out.println(equals +id);
TestPerson.java
1p4.setId(4)equals id
hashCodeequalsHash Code
id2hashSet16
hashhashCode
2set.add(s1)System.out.println(ccc);
cccHash Code idHashSet
hashCode()
Hash
3HashSettoString()HashSet
toString()@
java16hashhash
hashCode()
hashCode()9equals
truehashCode,equals
1hashCode1
hashCode1equals1hashCode
1equals1hashCode1
equals
equalsidhashCode
9p11hashCodep21
hashCode1equalsp31hashCode,2
equalsp41hashCode3equals
4HashSetaddhashCodeHashSet
addhashCodeequals
equals
p1-p4new Person()4
PersonhashCodeHashSet
hashCodeSet
hash
HashSet
HashSet
5HashSetTestPerson.java
set
p1
p2
p3
p4
1
2
3
4
new Person()
new Person()
new Person()
new Person()
new HashSet()
p1-p4
hash
TestPerson.java
p4.setId(3)hashCodeidp4
p3hashequals
equalstruep4
equalsfalse
hashsetp4
p4.setId(3)hashCode
idequalsfalse
6hashequalstrue
HashSethashMap
hashCodeidequalsid
p4.setId(1)foreach
ZhangJCp1p4p4
SortedSet-TreeSet
SetSortedSetTreeSet
SortedSetSet
SortedSetSetSortedSet
Set
SortedSetadd
SortedSetSetSortedSet
SortedSetTreeSet
TreeSet
TreeSetSortedSetTreeSet
TreeSet
TreeSet
1
3 2 4 1 5
1
3
3
2
4
2
3
1
5
4
TestTreeSet1.javaTreeSet
SortedSet-TreeSet
TestTreeSet1.javats.add(14)
TreeSet
14
1TreeSet
compareTo
2TreeSet
ComparablecompareTo
3javaIntegerString
ComparablecompareTo
TreeSetComparable
compareTo
TestTreeSet1.javaString
TreeSet
compareToTreeSet
TestTreeSet2.java
4id
TreeSetcompareToTreeSet
Comparable
compareTo
TestTreeSet2.javas4.setId(1)3
s1zhang
SortedSet-TreeSet
TestTreeSet2.javaStudentcompareTo
name4
TreeSets1s4idTreeSet
TreeSetcompareTo
TreeSet
compareToids4s1idcompareTo
0s4TreeSet
compareTonames4s1id
compareTo0s4TreeSet
TreeSetHashSet
StudenthashCode,equalsTreeSet
1TreeSetcomparable
compareTocompareTo0
compareTo0
2TreeSethashCode(),equals()
TreeSet
hashCode()equals()
TestTreeSet2.javaStudenthashCode()
super.hashCode()equals()
TreeSethashCode()hash
3TreeSet
ComparablecompareTo
Set
4TreeSetSet
SortedSetComparable
compareToComparable
TreeSet
StudentComparablecompareTo
ts.add
Set
TreeSetArrayList
Set2
SetHashSet2
HashSetTreeSet
HashSetArrayList
TestSetSort.java
addAll(Collection)HashSet
Bank
(
)
EmployeenameStringageintsalarydouble
EmployeeListsalary
salaryageagename
EmployeeHashSet
Java
JavaGUI
Day10-Day12
Day10
Map
Map
Map
Map
GUI
awtswing
awt
swing
Map
Map
MapMapkeyMapvalue
MapkeyvalueObjectkeyvalue
MapMapkey,value
Map
MapMap
Map
Map
Map
HashMap
List
set
HashTable
List
Map
SortedMap
set
List
TreeMap
sortedMap:
key
TreeMap:
key
key
null
Map
Map
containsKey(Object key)Mapkey
get(Object key)Mapkeyvalue
keySet()Mapkeyset
put(Object key,Object value)Map
remove(key)keyvalue
clear()Map
size()Map
Map
Map
Map2HashMapHashTable
HashMapHashTable
HashMapArrayList,
key,valuenull
HashTableVector,
key,valuenull
TestMap1.javaHashMap
put(key,value)
Mapkey,valuenullput(null,null)
key,valuekeySet()key,key
value
key
Mapkey
Map
Mapkey,valuekeyvalue
MapkeyHashSetkeyHash
hashCode(),equals()2String
jdk2
hashCode(),equals()
TestMap1.javaPerson
MapSortedMap
SortedMapkeyvalue
SortedMapTreeMapTreeMapkey
TreeMapkeynull
Map
Map
Mapput(key,value)
Mapkey
HashMapHashSethashCode(),equals()
keyhash
hashCode(),equals()
HashMapkey
MapkeyString8
Integer,Doublesun
hashCode,equals
Mapkeyput(key,value)
putvalue
Map
Map
MapCollection,Iterator
Map3
valueMapvalues()
MapvalueCollection,Collection
Iterator
TestMap2.javaMap
keyMapkeySet(),
MapkeyCollection,Collection
keyMapget(key)
value,
MapentrySet()
TestMap2.javakeySet()Map
MapSortedMapTreeMap
SortedMapMapkey
SortedMapTreeMapkey
TreeMapkeynull
TreeMapkeyTreeMap
keyComparable
compareTocompareTo
Comparable
Map
Compatator
Comparator
Comparatorcompare(Type x,Type y)
Type
TestTreeMap.javaTreeMap
GUI
GUI
GUI
GUI
GUI
web,GUIc/s
client
c/s:,
c/sQQ,MSN,
server
;c/s
GUI
http request
browers
server
Html response
b/s:java
httphtml
html
c/s
b/s
Javaserverjava
100%
GUI
Java
Javajava2
java.awtjavax.swing
awtswing
java.awtsunjava
2D3D
javax.swingawtIBMawt
-JFCawt2D3D
SunJFC
jdk1.3swingjavajdkswing
awtswing
addset
GUI
awt
swing
awtswingAPI
java.awt
BorderLayout/CardLayout/FlowLayoutCheckBox
CheckBoxGroupTextFieldFrameColor
FontGraphicsButtonLabel
javax.swing
swingawtawtButtonswingButton
awt95%swingswing
J(J+)
swing
JButtonJLabelJFrameJTextField
JMenuBarJMenuItemJMenuJSlider
JTextArea
swingawt
swing3D2Dawt
swingJTable,JTreeawt
swingJComponentawtComponent
awtswing
100%
OS
Applet
swing 1.4jdkswing5.0swing 100%
Applet
awt
swingawt
java.awt
Component
javax.swing
JComponent
Componentswing
swing
swingJFrame,JButton,JPanel
JFrameJButtonAPI
JFrame
JFrametitletitleJFrame
JFrameJFrame
setVisible()
JFrameadd()JFramesetLayout()
setCursor() setMenuBar()
setTitle()setVisible()setState()
FirstFrame.java
JPanel
JPanel
JPanelJFrame
swing
FirstFrame.javaJPanel
API
JPanel(
)2
JPanelsetSize()setBackground(
)JPanel
JFrame
JPanelsetBackgroundColor;Color
Color
r,g,bColor(r,g,b)
Color
FirstFrame.java
jdk1.4
jf.add(jp)
jf.getContentPanel().add(jp)
FirstFrame.java
setLayout()
java
FrameJFrame
JFrame
DialogJDialog JDialog,JPanel
PanelJPanel
/JFrame
JFrameadd()
setVisible,setSize()remove()()setLocation(
)FirstFramesetLocation()
javaLayoutManager
java.awt
FlowLayout
BorderLayoutFlowLayoutCardLayout
GridLayoutGridBagLayout
JFrameBorderLayoutJPanel
FlowLayout
2
FlowLayout
word
FlowLayoutAPI
3()(int align)
(align,hgap,vgap)
setAlign()setHgap()setVgap()
FlowLayout1TestFlow.java
BorderLayout
newFlowLayout(FlowLayout.LEFT,20,30)
20,30LEFTFlowLayout
LEFTRIGHTCENTER
BorderLayout
BorderLayout
BorderLayout5
-EAST-WEST-SOUTHNORTH
NORTH-CENTER
W
E
S
T
CENTER
E
A
S
T
SOUTH
BorderLayoutJFrame,JDialog
CENTER
JPanelJPanelJPanel
BorderLayoutAPI
BorderLayoutCENTER-
EAST-WEST-NORTH-SOUTH-
GridLayout
BorderLayout2
BorderLayout
BorderLayout
5
String[]
5for5
JFrameaddadd()
TestBorderLayout
GridLayout
GridLayout
JPanelJPanel
Btn1 Btn2
GridLayout
Btn3
Btn5
Btn4
CardLayout
GridLayout
GridLayoutAPI
GridLayout3
2
4
GridLayoutgetRows(),getColumns()
getHgap(),getVgap()
Font,Colorapi
Font,Colorjava.awtFontColor
Font
FontFont()
Font
Color
r,g,b
TestGridLayout.java
CardLayout
CardLayout
CardLayout
bbs
next
CardLayoutAPI
CardLayout 0
CardLayoutfirst()
last()next()
previous()
show()
()
5
showname
namename
name
showname
show
GridBagLayout
4first,last,next,previous
String[]for
1-6JLabelJLabel
,JPanel,JLabel
BorderLayoutJPanel
JPanelFlowLayout
31JFrame,2
JPanel
TestCardLayout.java
GridBagLayout:
GridBayLayout
GridLayout
GridBagLayout
GridBagLayout
GridBagLayoutAPI
GridBagLayoutGridBagConstraint
setConstraints(GridBayConstraints)
GridBagConstraintsfill
HORIZONTAL
VERTICALBOTH2
GridBagConstraints.weightx/weighty
GridBagConstraints.gridwidth/gridheight
1
GridBagConstraints.girdx/gridy
gridx=0,gridy=0
GridBagConstraints.REMAINDERgridx
gridy
GridBagLayout
GridBagConstraints.RELATIVEgridx
gridy
APIGridBagLayoutTestGridBagLayout.java
Button1
Button2
Button3
Button4
Button5
Button6
Button7
Button9
Button8
Button10
List
Iterator
Student
0-9,+-*/=.BackspaceCCE
+/-
Day11
java
java
AWT
AWTjava
AWT
AWT
Java
Java
javajavaawtawtjava
java
java
Java3
EventSource
JVM
EventObject
JVM
EventListener
JVMJVM
Java
java
javaawt
java
sunEventSource
;sun
EventObject
sunEventListener
SunEventObjectjava.utilEventObject
sunEventSource
java.awt.eventsunjava.util
java.util.EventObject
java.util.EventListener
javaCloneable
2
2
()
java.utilEventObject
EventObject(source)source
EventObjectgetSource()
Java
java
EventObject
EventListener
/
EventSource
Java
java
EventSource
Java
Fall in loveTestEventModel.java
AWT
AWT
awtjavasun
awtjavaawtjavaGUI
GUIsun
awt
awt
AWT
AWT Event
awtjava.util.AWTEventEventObject
awt
java.util.EventObject
java.util.AWTEvent
Javalist
qq,msnctrl+enter
AdjustmentEvent
ActionEvent
ComponentEvent
ItemEvent
//
TextEvent
//
ContainerEvent
ComponentEvent
FocusEvent
InputEvent
WindowEvent
KeyEvent
MouseEvent
awt
Awt
awt
AWT Event
ActionListener
actionPerformed(ActionEvent e)
ActionEvent
ItemListener
itemStateChange(ItemEvent e)
ItemEvent
MouseMotionListen
er
mouseDragged(MouseMotionEvent e)
mouseMoved(MouseMotionEvent e)
MouseMotionEvent
MouseListener
mousePressed(MouseEvent e)
mouseReleased(MouseEvent e)
mouseEntered(MouseEvent e)
mouseExited(MouseEvent e)
mouseClicked(MouseEvent e)
MouseEvent
KeyListener
keyPressed(KeyEvent e)
keyReleased(KeyEvent e)
keyTyped(KeyEvent e)
KeyEvent
FocusListener
focusGained(FocusEvent e)
focusLost(FocusEvent e)
FocusEvent
AWT Event
ComponentListen
er
componentMoved(ComponentEvent e)
componentHidden(ComponentEvent e)
componentResized(ComponentEvent e)
componentShow(ComponentEvent e)
ComponentEvent
AdjustmentListene adjustmentValueChanged(AdjustmentEve
r
nt e)
AdjustmentEvent
WindowListener
windowClosing(WindowEvent e)
windowOpened(WindowEvent e)
windowIconified(WindowEvent e)
windowDeiconified(WindowEvent e)
windowCloased(WindowEvent e)
windowActivated(WindowEvent e)
windowDeactivated(WindowEvent e)
MouseMotionEvent
ContainerListener
componentAdded(ContainerEvent e)
componentRemoved(ContainerEvent e)
ContainerEvent
TextListener
textValueChanged(TextEvent e)
AWT Event
AWT
()
awt
awt
addxxxListener(xxx)
APIaddxxxListenerxxx
xxxxxxEvent
xxxListener
AWT Event
APIaddxxxListenerxxx
xxxxxxEvent
xxxListener
awt
getSource()addxxxListener()
AWT
AWT
TestAWTEvent.java
ActionListener
ActionEventActionListener
ActionListeneractionPerformed
addActionListener(
)
TestAWTEvent
AWT Event
AWT
+1-1
1JFrame1JPanel2JButton1
JLabel
JFrameBorderLayout,JPanelFlowLayout
JFrameJLabelJPanelJPanel2JButton
ActionEventActionListener
actionPerformed
Counter.java
first,previous,next,last
Observer
javaab
Observer
ab
a()
b
ab
2javaa
;abb
JavaAPI
java
java.util.ObservableObservable
Observable
Observable()0
Observale
addObserver()
deleteObserver()
setChanged()
Observer
notifyObserver()
setChanged()
notifyObsever()
java.util.Observer
Observer
update(Observableo,Object arg)
update
updateObject arg
notifyObserver(arg)
TestObserver.java
awt
ComputerActionListener
20JPanelGridLayoutJPanel
BorderLayoutJFrame
20String[]JButton[]
20
0-9
0
+-*/
booleanappend
truefalse;appendfasle
append
0-9equals
Stringmatch match(\\d) \d
C/CE 0 appendfalse
Backspace
+-*/
=
+/-
.
append
appendtrue;+-*/+/-append
false
Day12
javaJFC
JFC
javaawt
swing
ColorChooser,JTable,JTree
Timer
javaApplet
javaJApplet
ComputerActionListener
20JPanelGridLayoutJPanel
BorderLayoutJFrame
20String[]JButton[]
20
0-9 append
C/CE 0setText(0) appendfalse
Backspace subString()
+-*/ appendfalseoperator
=
+/-
. .
.
2=
0
boolean
appendtruefalse
appendfalseappend
0-9equals
Stringmatch match(\\d) \d
append
appendtrue;+-*/+/-append
false
Computer.java
`-0.41=0.5900001
javaBigDecimal
BigDecimal
BigDecimaljava.math
BigDecimalAPI
BigDecimal
2doubleString
BigDecimal(double)BigDecimal(String)
BigDecimal
+add(..)-subtract(..)*multiply(...)/divide(..)
BigDecimal
BigDecimal
TestBigDecimal.javaBigDecimal
doubleBigDecimal
StringBigDecimal
BigDecimaldivide
divide
BigDecimalROUND_HALF_UP
BigDecimalString
JavaJFC
JFC
JFCNetscapeIBM
JFCGUIawt
swing
swingJFCsunJFC
javaswing2D3D
swing
JavaJFC
Your Application
swing
AWT
Component Window
Button,Frame,
ScrollBar Font
Dialog
Color
Java 2D
Drag and Drop
Accessibility
AWT
JFC
awt
AbstractButton
JComboBox
JButton
JMenuItem
JLabel
JList
JComponent
JMenuBar
JPanel
JPopupMenu
JScrollBar
JScrollPane
JTextComponent
JToggleButton
JCheckBoxMenuItem
JMenu
JRadioButtonMenuItem
JCheckBox
JRadioButton
JEditorPane
JTextArea
JTextField
JPasswordField
JTextPane
JavaJFC
awt
JColorChooser
JFileChooser
JInternalFrame
JComponent
JLayeredPane
JDesktopPane
JOptionPane
JProgressBar
JRootPane
JPopupMenuSeparator
JToolBarSeparator
JSeparator
JSlider
JSplitPane
JTabledPane
JTable
JToolBar
JTree
JToolTip
JViewPort
JInternalFrame
JDesktopIcon
javaJMenuItemJMenu
JMenuBar
API
JMenuBar
add()
JMenuBar
JMenu
JMenuJMenuItem
//
JMenu.add(JMenuItem ji)
JMenuItem
JMenuJMenuItem
JMenuString JMenu(String )
Add()
JMenu
JMenuItem
3
JMenuItem(String )
JMenuItem(Icon )
JMenuItem(String Icon )
JMenuItem
ActionEvent
ActionListener
JMenuItem JMenuJMenu JMenuBar
JMenuBar JFrame
JFramesetJMenuBar()
JMenuaddSeparator()
1JMenuBarnJMenunJMenuItem
JMenuString[]JMenuJMenu[]
JMenuItem
String[][]
JMenuItem[][]
TestMenu.java
2String
xxxUtil
2String
JMenuBar
TextMenu.javaGUIUtil.java
WindowEventWindowEvent
WindowListener
WindowListener
JFramesetDefaultCloseOperation()
WindowListenerAPI
WindowListener7
7
windowClosing
{}
GoodBye
TestWindowListener.java
WindowListenerthisnew
WindowListener
76
awt
OK
java
+Adapter
java
windowClosing
final
new
WindowListenerWindowAdapter
TestWindowAdapter.java
GoodBye,
final
String
java
java
22
Icon
MiAdapterMisellMi
Icon
Icon
IconIcon
ImageIconIcon
ImageIconImageIcon(String
)
JButtonJButton(Icon icon)
jpg,gif,bmp
IconTestIcon.java
JTextAreaJTextField
JTextAreaJTextField
JTextArea
JTextArea,JTextField
JTextAreaJTextArea()JFrame
BorderLayoutJTextArea
JTextAreajavaJScrollPane
JTextFieldJTextField()
JTextFieldActionEvent
ActionListener
qq
JTextFieldJTextField
JTextArea
JTextAreaJTextField
JTextArea
JTextAreasetEditable(false)
JTextField
JTextArea
JTextFieldActionEvent
JTextFieldActionListener
ChatClient.java
Timer
Timer
swingTimer
TimerAPI
Timerjava.swingTimer
ACDSee
Timer
Timer(int delay)delay
1delay1000ms
delay
Timer
start()
stop()
TimerTestTimer.java
1Hellostart
stop
JColorChooser,JSlider
JColorChooserJSlider
JColorChooser
JColorChooserAPI
ActionListener
()JColorChooser
PropertyChange
3JColorChooser
JSlider
JSlider(int min,int max)
minmax
JSlider
getValue()
ChangeEventChangeListener
R
G
B
ChangeListener
3JTextArea
JTextArea
JTextArea
ColorChooser.java
JTable
JTable
JTable
javaJTableJTable
JTableJTable
AbstractTableModel
DefaultTableModel
AbstractTableModel
getColumnCount()getRowCount()
getValueAt()getColumnName()
TestJTable.java
Student.java
AbstractTableModel
ActionEvent ActionEvent
ActionEventActionListenerActionListener
javaActionListener
ActionEvent
keyBoardListener
MouseListener
MouseListener:
MouseEvent
mouseClicked:
mouseEntered:
mouseExited:
mousePressed:
mouseReleased:
MouseEventTest.java
MouseEventgetX(),getY()
JTree
JTree
JTree
qq,msn
JTreeAPI
JTree
JTree(Hashtable)HashtableMap
key,value
Hashtable
keyrootvalue
key
HashtableHashtable
Hashtable
TestTree.java
Applet
Applet?
Appletjavajava
AppletHTMLWeb
Java .
JavaApplet
Java(container)
AppletApplication
java applicationappletjava
applicationmainmain()
java.classJVM
.class
JVM
Appletmainjava
Web
AppletApplet.classWeb
JavaApplet
Web
Applet
.class
JVM.class
Applet
AppletJVMAppletmain
Appletinit()
Applet
JavaApplet
1.
JavaApplet
AppletJVM
NoSuchMethodErrorApplet
JavaAppletAPI
WindowFrameJFrame
JavaApplet
ObjectComponentContainer
PanelAppletJApplet
AppletawtswingJApplet
Applet Component Panel Applet
JAppletWindow
JAppletJApplet
JApplet
Panel
JApplet
BorderLayout
JAppletApplet
AppletAPI
Applet
Applet() Applet
Applet
AppletApplet
JavaApplet
Applet
JVM
Applet
init()AppletApplet
init()
init()Applet
start()
start()AppletApplet
start()
URL
Applet
stop()Applet
URLstop
destroy()Applet
Applet
Applet
getDocumentBase()ApplethtmlURL
getCodeBase()Applet .classURL
htmlURL
getImage(URL baseString target)Web
Image
JavaApplet
Applet
HelloWorldApplet.java
javac
HelloWorldApplet.html
<applet>Applet
IEhtmlApplet
Appletjavaapplet
appletviewer HelloWorldApplet.htmlApplet
applet
java.class
html
html<applet>
<applet code=HelloWorldApplet.class width=300
height=300></applet>
codeAppletwidthapplet
heightApplet
JavaApplet
Eclipse
EclipseHelloWorldApplet.java
Run/Run as/Java AppletAppletOK
EclipseAppletapplet
Applet
Applet
<applet><param></param>
<param>namevalue
AppletgetParameter(name)
JLabel
applicationApplet
applet
Htmlapplet
JAppletpublicJVM
mainAppletapplet
appletinitapplet
applet
setSizeappletapplet
width,height
JavaApplet
setTitleappletJFrame
setVisibleapplet
Applet
Applet
Applet
Internet
Netscape Nevigator
/
AppletSocket
Applet
AppletJVM
Socket
Java
Java
Day13-Day14
Day13
java
OS
c++
javajavajvm
jvmjava
jvm
jvmjavajava
java.lang.Process
javaOS
OS
OSnOS
windows
OS
Windowctrl+alt+delete
Linuxps aux
java
javajvmjvmOS
(x1,y1)
jvmjvm
2
222
QQQQ
x
(x2,y2)
for
4
1x1,y1
2x,yx2,y2
3x2,y2
4
4
4
OS
Window
()
javajvm
jdkjavaw.exejvmjvm
main
java
java.lang.Thread
oscpu
winamp,QQ,IE
cpu
cpu
winamp
IE
winamp
IE
OS
cpucpu
()
cpu
X,Y
sun
IT
javasunProcess,
Thread
1cpuCPU1cpu
Suncpu
cpu
2cpu
3
cpu
cpu
cpu
cpu
java
Jvm
cpu
OS
API
OScpu
cpu
OS
OS
javaAPI
API
javajava.langjava.lang.Process
Processnew
API
2
ProcessBuilder.start()/Runtime.exec()
ProcessBuilderstart()
Runtime
API
Runtime
getRuntime()
RuntimeRuntime
Runtimeexec()
exec()
OSexec
java
execexel
windowexec
OS
Linuxwindow
windowLinux
API
java
javaRunnable
java.lang
Runnablerun()
cpucpujava
ThreadThreadjava.lang
Runnable,Thread
API
Sun
ThreadRunnableThread
API
Runnablerun
run run
run
Runnablerun
runrun
cpuThread
ThreadRunnableRunnable
Runnable
ThreadRnnable
Thread
Rnnable
Thread
Thread
javaThreadThread
Thread
OSjavajvm
TestThread.java
JVM Thread
OS
start()
211
$$$1000###1000
OS
jvm
cpu
jvm
cpu
cpucpu
1cpu1
cpu0.1s(0.1s)
60%0.1s*60%=60ms
20ms
run()os
run
run
start()osstart()
run
RunnableThread
RunnableThread
java.langRunnable
Runnableruncpu
ThreadThreadcpu
Runnable
TestRunnable.javaRunnable
TestThreadExec.java1000
@@@Runnable
OSstart
OS
start()
ThreadExec2.java
t1,t2,t3t1.start();t2.start();t3.start()3
t1,t2,t3
t1,t2,t3
new
window,Linuxstart
start()OS
start()
OS
main
t1,t2,t3t1,t2,t3
jvm
javajvm
Jvm
JvmgcgarbageCollection
jvm
jvmSystem.gc();jvm
jvm
setDaemon(true/false)
true
TestDaemon.java
OS
2
sleep
sleep()
cpu
msInterruptException
cpu
yield
yield()yield()
cpuyield()
sleepyield
sleepsleepcpusleep
cpu
yieldyield
TestSleepYield.java
sleep(100)2
Thread.sleep(100)Thread.yield()
2
2
yield()tsy1tsy2cpu
yield
tsy1.start()tsy1.setPriority(8)
tsy1tsy2tsy1
tsy2tsy1tsy1tsy2
setPriority(1-10)
setPriority(1-10)
5
sleepyieldyield
sleep/yield
yield()
WeiJ
Huzg
Zjc
WeiJ
Hiloo
Liucy
WeiJ
WeiJyield()WeiJ
OS
,WeiJ
Linux
yield()Thread -1 0
Thread-0 1Thread1
221-26
A-Z11
NumberChar.java
cpu
c++cin>>i
c++System(read)
Thread.sleep()
sleepsleep
2runSleeprun
Threadrun
Threadrun
join
join
t2t1.join()t2t1t1t2
join
2abba.join()/a.join(ms)b
bjoin2
1join()baa
b
2join(ms)b
ab
join
TestJoin.javajoin
TestJoinThreadrunmain
221join
join
joinjoin
51(),2(),3(),4(),5()
5
52()1.join()
NumberChar.java2t1
t2t1t2
M26
new
1
2sleep
3
join
OS/
yield()
start()OS
start()
OS
Jvm
21-52A-Z
1 2 A 3 4 B 5 6 C 7 8 D 9 10 11 12..52 E F G H I J K Z
Day14
java
javaFile
javaI/O
javaI/O
I/O
java
TestStack.java
:A C
C
index1
OS
sleep
Liucy,,
,Huxz,,Liucy
,;,Liucy,.
,
.
?
,Liucy,
,,;Huxz
,,,
;Liucy,,.
,.
Liucy
java
Java
javasynchronized
synchronized(o){}o
o
synchronized
Synchronized
()
Account2
AccountRunnable
DB
DBsleep
2400
2000
synchronized
Account.java
synchronized
synchronizedsynchronized
synchronized
public synchronized void m(){..}
synchronized
synchronized(this){..}
push,pop
synchronizedsynchronized
synchronized
synchronized(this){..}
synchronized(o){..} oObject
Thiso
osynchronized(o){..}
oo
o
java
synchronized(o1){..synchronized(o2){}..}
add,set
synchronized
T.java
t1
synchronized(o1){synchronized(o2){..}.}
t2 synchronized(o2){.synchronized(o1){...}.}
t1o1o1t1
o1o1t1o2
t2o2o2t2
o2o2t2o1
t1o2o2o2
t2t1o2
o1
t2o1o1o1
t1t2o1
o2
t1,t2
22
2
OS
new
start()OS
1
2sleep
3
join
OS/
yield()
sleep
start() join
OS
Os
synchronized
Jvm
huxz
huxz
liucy
liucyliucy
liucy
huxz
huxzhuxz
liucyliucy
cpujava
wait()
java
notify()/notifyAll()
wait()
notify()/notifyAll()
wait()
()wait()
notify()/notifyAll()
notify()/notifyAll()1
notify()/notifyAll()
OS
wait()
notify()|notifyAll()OS
t1:synchronized(o){
t1...o.wait();..
} t1owait() t1
oot1wait()
t1 o
t2:synchronized(o){
t2o.notifyAll()|o.notify();..
} t1ot2o
notify()|notifyAll()t1
t2t1
wait()
,notify()
OS;notifyAll,
.;
new
start()OS
1
2sleep
3
join
OS/
yield()
sleep
start() join
Os
synchronized
OS
Jvm
notify()|notifyAll()
OS
wait
java
6
2
wait()
TestProducerConsumer.java
JavaI/OFile
JavaFile
FilejavaFile
JVM File f
File
createFile()
File
javaFileFile f=new File( 1.txt
);fFile
Filef.createFile()
TestFile.javaFile
createFile,sleep
throws
File
javalist()
String[]
TestFile.java
list()
listFiles()
FileFile[]File
File[i].getAbsolutePath()
FileFilteraccept()
listFilesaccept
accept
listFilesaccept
JavaI/OI/O
FilelistFiles()
TestFile.javajava
TestFile.java,
java
JavaI/OI/O
JavaI/O
javaI/Ojvm
jvmjavaI/Ojvm
JVM
jvm
c++javaJVM
JVM
java2
JavaI/OI/O
HelloWorldStringbyte
1byte
loworld
read()
h
Java2
Javajvm
jvm
JavaIOIInputOOutput
Java
System.in
System.out
java
JVM
JVM
JavaI/OI/O
1byte
2byte
java
80
JavaI/OI/O
S
F
S+Ls+F
M
S
F
L
Java
JavaI/O
Day15-Day16
Day15
javaI/O
FileInputStreamFileOutputStream
DataInputStreamDataOutputStream
BufferedInputStreamBufferedOutputStream
PipedInputStreamPipedOutputStream
ByteArrayInputStreamByteArrayOutputStream
PrintStream
RandomAccessFile
InputStreamReaderOutputStreamWriter
BufferedReaderBufferedWriter
I/O
I/O
I/O
InputStream
InputStream
I/Ojava.io
InputStream
java.ioInputStream
InputStreamInputStream
InputStream
available()
bug
close()
InputStreamapi
CloseableCloseableclose()
CloseableIterableCloneable
javajvmjvm
jvmI/Ojvm
I/O
jvmjvm
jvmjvm
jvmjvmclose()
jvm
mark(int..)
byte
ab.txt
abcd...
def..
byte
ghijk.
read
read()
read(byte[] b)byte[]
int,
I/O
reset()mark
skip(long n)n
OutputStream
OutpurStreamCloseable
FlushableOutputStream
OutputStreamInputStream
flush()
close()close()
flush()flush()
InputStreamOutputStreamwrite
write(int b)read()int
read2
3
javaI/O
I/O
InputStream
SequenceInputStream
FileInputStream
PipedInputStream
FilterInputStream
DataInputStream
ByteArrayInputStream
ObjectInputStream
PushbackInputStream
BufferedInputStream
OutputStream
FileOutputStream
PipedOutputStream
ByteArrayOutputStream
FilterOutputStream
CheckedOutputStream
DeflaterOutputStream
DigestOutputStream
ObjectOutputStream
CipherOutputStream
DataOutputStream
PrintStream
BufferedOutputStream
I/O
I/OI/OI/O
I/OI/OI/O
I/O
I/O
FileInputStreamFileOutputStream
ObjectInputStreamObjectOutputStream
DataInputStreamDataOutputStream
String
InputStreamReaderOutputStreamWriter
BufferedReaderPrintWriter(BufferedWriter)
FileInputStreamFileOutputStream
FileInputStream
FileInputStream2
StringFile
FileInputStream
FileNotFoundException
FileStream
FileInputStreamInputStream
EOFExceptionIOException
-1
FileInputStream
try-catchthrows
read.txtabcdefghi
ReadWriteFile.java
read()
read()-11char
close()FileNotFoundExceptionEOFException
IOException
read(byte[] b)
6
String
read1.txtWelcome to beijing! I am very good!
TestReadWriteFile.java
FileOutputStream
FileOutputStream2String
File
FileStream
FileOutputStream
FileOutputStream
new
FileOutpurStream(,true)true
FileOutputStreamread
ReadWriteFile.javawrite.txt
TestReadWriteFile.java
try-catch
CopyFile.java
DataStream
DataStream
DataInputStreamDataOutputStream
String s=ShunShi
FileInputStreamFileOutputStreamString
Stringbytebyte[] b=s.getBytes()
write(b)
Stringlong
long
DataStream
1)longlong
8
2)8000000018
3),8
4)3),2-8,
5)write();,
String
8
String
write()read()
writeUTF(..)readUTF(..)String
TestDataStream.java
BufferedStream
BufferedStream
jvm
/jvm
/
BufferedInputStream,BufferedOutputStream
BufferedSteam
flush()
I/O2
flush()BufferedwriternewLine()
TestBufferedStream.java
PipedStream
PipedInputStreamPipedOutputStream
FileInputStreamFileOutputStream
PipedOutputSteamPipedInputStream
PipedSteam
PipedStream
T1
PipedOutputStream
out
PipedInputStream
in
T2
out.connect(in)
2
TestPipedStream.java
StringgetBytes()
long8
DataStream
TestPipedStream.java
BufferedStream
ByteArrayStream
ByteArrayInputStreamByteArrayOutputStream
ByteArrayStream
ByteArrayInputStreamByteArrayOutputStream
ByteArrayInputStream,ByteArrayOutputStream
DataStream
ByteArrayStream
ByteArayStream
DataOutputStream
ByteArrayOutputStream
ByteArrayOutputStream
toByteArray()
FileStream
String
getBytes()
ByteArrayStream
ByteArrayStream
ByteArrayOutputStream
DataOutputStream
writeByteArrayOutputStream
ByteArrayOutputStreamtoByteArray()
ByteArrayInputStreamread(byte[])
PrintStream
TestByteArrayStream.java
PrintStream
PrintStream
PrintStreamDataOutputStream
PrintStreamIOException
checkError()PrintStream
checkError()true
PrintStreamFlushable
flush()println()
PrintStreamprintPrintStream
print(int i)int
print(long l)long
print(float f)float
print(String s)String
println(int i)int
println(long l)long
println(float f)float
println(String s)String
PrintStream
PrintStream
print()println()
printStream.println()printStream.print()
printStream.println()printStream.print(\n)
printStream.println(String s)DataOutputStreamwriteUTF(String
s)
javaUTF-8
DataOutputStreamwriteUTF()
DataInputStreamreadUTF()
PrintStreamBufferedOutputStream
PrintStream
PrintStreamautoFlush
autoFlush
autoFlushtruePrintStream
print(\n)
println()
TestPrintStream.javaPrintStream
DataOutputStream2
RandomAccessFile
RandomAccessFile
RandomAccessFile
RandomAccessFile
RandomAccessFileCloseableDataInputDataOutput
String
RandomAccessFileFileString name
modemode
mode
rrwrws
rwd
RandomAccessFileEOFExceptionIOException
RandomAccessFile
close()
length()
RandomAccessFile
read()read(byte[])read(byte[],int,int)
write()write(byte[])write(byte[],int,int)
,Stringread()write()
seek(long pos)
getFilePointer()
skipBytes(int n)n
TestRandom.java
2
DataOutputStreamwriteChar(A)
A1AA
A88
65A
int 65010000016501000001A
RGBR,G,B3R0-255B0255G0-255
8
ASCII
A-65B-66C-67Z-90
ASCIIASCII
1250
1250
ASCII81Byte28=256
25628
ASCIIASCII
ASCII
ASCIIASCII
ASCII
ISO-8859-111
GB2312-8GB
265535
GB2312
GB2312GBK
GBK
Big5
Unicode
ABCD4810002000
DataStreamString, writeUTF()readUTF()
UTFUnicodeutf-8UTF1B,
2B,3B,4B
TestCode.java
Reader/Writer
ReaderWriter
FileReader/FileWriter
Reader/Writer
Reader/Writer
CharArrayReaderCharArrayWriter
BufferedReaderBufferedWriter
InputStreamReaderOutputStreamWriter
PipedReaderPipedWriter
InputStreamReaderOutputStreamWriter
InputStreamReaderOutpurStreamWriter
InputStream/OutputStream
Reader/Writer
InputStreamReader(InputStream in)
OutputStreamWriter(OutputStream os)
getEncoding()
InputStreamReaderOutputStreamWriter
BufferedReader
BufferedWriterBufferedReader
BufferedWriter
BufferedReaderreadLine()
StringBufferedWriterwrite(String)
newLine()
BufferedReader/BufferedWriter
Reader/Writer
BufferedReader/BufferedWriter
BufferedReader/BufferedWriter
TestReaderWriter.java
newLine()I/O
newLine()readLine()
FileReaderInputStreamReader
Day16
PipedReaderPipedWriter
PrintWriter
I/O
Tokenized
Properties
OSITCP/IP
TCPSocket
TCP Socket
-PipedReader/PipedWriter
PipedReaderPipedWriter
PipedInputStreamPipedOutputStream
PipedReader/PipedWriter
T2
T1
PipedWriter
PipedReader
BufferedReader
readLine()
BufferedWriter
write(String)
newLine()
PrintWriter
-PrintWriter
WriterPrintWriter
PrintWriter
PrintWriter
jkd5.0
PrintWriterprint()8println()
write(int)write(byte[])
PrintWriterPrintWriter
nullPrintWriter
PrintWriterPrintWriter
PrintWriterprintln(Object o)
toString()
TestReaderWriter.javaPrintWriter
I/O
javaI/O
I/O
I/O
javaI/O
System.inInputStream
System.in
System.outPrintStream
System.out
System.errPrintStream
System.err
I/Ojvm
System.inInputStream
InputStreamReaderSystem.inReader
BufferedReaderSystem.outPrintWriter
TestStandInOut.java:
WeiJuan:27:female:80997901:95.5
name:WeiJuan age:27 sex:female phone:80997901
greed:95.5
ctrl+c
Stringsplit()split()String[]
I/O
class Student{String name;int age;double mark;}
3DataStream
Student
ObjectInputStreamObjectOutputStream
javaObjectInputStream/ObjectOutputStream
InputStreamOutputStream
ObjectInputStreamObjectOutputStream8String
readObject()writeObject()
read()write()
String
ObjectInputStream/ObjectOutputStreamInputStream
OutputStream
FileStreamObjectStream
ObjectStream
ObjectStream
Serializable
Serializable
APISerializable
Cloneable
TestObjectStream.java
toString()Object
toString()@
StudenttoString()ObjecttoString()
StudenttoString()
StudenttoString()
StudentStudent
StudentTeacherTeacher
TeacherStudent
java.io.Serializable
/
Serializable
StudentList ts=new new ArrayList();ts
Teacherts,TeacherSerializable
Javajava
Serializable
LinuxbinSerialver
..>Serialver Student
StudentSerializable
StudentSerializable
Serialver
ADSL
transientTransient
TestObjectStream.javaStudentmark
Object
ObjectSerializable
StudentObject obj
Studentobjstatic
objObject
ObjectStreamEOFException
ObjectStreamclose()
read-1while((len=read(byte))!=1){..}
readLine()null
while((str=readLine())!=null){..}
readObject()-1null
readObject()
EOFException
EOFException
TestObjectAdd.java
ACED
s1s1
ACEDs2ACED
student1.datstudents.dat
TestObjectAppend.java
Tokenized
StringTokenizer
StringTokenzier
StringTokenizerhasMoreTokens()
StringTokenizer
nextToken()
StringTokenizer
TestStringTokenizer.java
Properties
PropertiesjavaMap
PropertiesStringHashtable
PropertiesHashtable
properties
Properties
Properties
()
PropertiesStringHashtable
put,putAll
getProperties(String key)StringkeyString value
setProperties(String key,String value)Properties
Load(InputStream in)Properties
Store(OutputStream os,String)Properties
Properties/
TestProperties.javaPropertiesADSL
ipsidnamepasswdphone
a.propertiesADSL
java
ip
ipip
40-255
Ipipip
0-655352
22
http80
8080
ip
ipABCDE40-255.
ipport
A0-126A
B128-191B
C192-223CC
D224D
0-65535
0-1023
1024-48xxx
48xxx-65535
ipport
A
PA1 port:22
PA2 port:24
PA3
port:27
port:23 PB1
port:25 PB2
port:26 PB3
2
B
PB2 25
APA224
B23
B24A
23
2
ip
ipportip
ip
OSI
OSI
OSI
OSI Model
TCP/IP Stack
Scenario
Network
(IP,ICMP,ARP,RARP,)
Link
(Device driver)
data
port#
data
Physical
OSI
Mic
Mic
OSI
OSI
httphttp
ftp
telnet
Pop3 Smpt
Tcp
Udp
TCP/IPSocket
IP
IP
ip
ipipARP
ipRARP
ipMACICMP
TCP/IP
OSIOSI
TCP/IP
HttpFtpTelnetPop3SmptTcpUdp
IpIcmp,ARP,RARPOSI
Socket
SocketserverclientSocket
Socket2Tcp SocketUdp Socket
TcpUdp
Tcp
Tcp
ServerSocketSocket
UdpUdp
Udp
Udp
ServerSocketSocketTcp
Socketip+2
ServerSocketSocketSocket
SocketServerSocketjava.netSocket
I/OSocket
ServerSocketSocket
ServerSocket
ip
jdk1.4 5.0
ip
ServerSocket
ServerSocketSocket
ServerSocketSocketclose()
ServerSocketSocket
Socket
ServerSocketaccept()
SocketServerSocket
Socket
accept(..)
accept(..)while(true){..}
Socket
Socket(ip,port)
ip
new Socket(ip,port)accept()
Socket
getInputStream(),getOutputStream()
close()Socket
Tcp Socket
2jvm22
Tcp Socket
Tcp Socket
Client
Server
ServerSocket ss=new Socket(port)
ServerSocket
InputStream is=s.getInputStream();
InputStream is=s.getInputStream();
is
OutputStream os=s.getOutputStream();
os
is
OutputStream os=s.getOutputStream();
os
dis.close(),dos.close()
br.close(),pw.close()
ss.close()ServerSocket
dis.close(),dos.close()
br.close(),pw.close()
s.close()Socket
Tcp Socket
Welcome login +
3Hello
TcpServer1.java,TcpClient.java
2
ConnectExceptionconnect refused
(2)
BindExceptionip
OK
System.in
client
clientbye
TcpServer1.java,TcpClient.java
TcpServer2.java,TcpClient2.java
bye
Tcp Socket
Properties
Employee
Java
Java
Day16-Day17
Day17
TCP Socket
UDP Socket
UDP Socket
UDP Socket
URL
URL
qq
qq
qq
TCP Socket
Tcp Socket
ServerSocket
accept()
accept()
accept()
accept1
234
acceptaccept
socket
TcpServer3.javaTcpClient3.java
InetAddress
InetAddressipipip
InetAddress24ip
InetAddress6ipInetAddress
InetAddressequals(),hashCode()
InetAddress
InetAddress
InetAddressgetAddress()ip
byte[]ip
UDP Socket
Ip192.168.0.21
10-127192.168
1byte
=256-
getAllByName(Host)InetAddress
getLocalHost()ipInetAddressstatic
TestInetAddress.javaip
UDP Socket
UDP
()2
DatagramPacketDatagramSocket
UDP Socket
UDP Socket
UDPUDP
TCP
UDP Socket
DatagramPacket
UDP SocketDatagramSocket
UDP Socket
UDP Socket
TCP SocketTcp
accept()
DatagramPacketDatagramSocketAPI
DatagramSocket
DatagramSocket()
DatagramSocket(DatagramImpl)
DatagramImplDatagramSocket
OK
DatagramSocket(port)
DatagramSocket(InetAddress)Socketip
DatagramPacket
DatagramPacket2SocketAddress
DatagramPacket(byte[],length),DatagramPacket(byte[],length,In
etAddress,port)
length
DatagramPacket(byte[],offset,length),DatagramPacket(byte[],off
set,length,InetAddress,port)offset
2offset
UDP Socket
DatagramSocket,DatagramPacket4
DatagramSocket(),DatagramSocket(port)
DatagramPacket(byte[],length)
DatagramPacket(byte[],length,InetAddress,port)
DatagramSocket()
DatagramSocket(port)
DatagramPacket(byte[],length,InetAddress,port)
DatagramPacket(byte[],length)
DatagramSocket
DatagramSocketsend(DatagramPacket)
receive(DatagramPacket)
DatagramPacket
receive
UDP Socket
DatagramPacketgetlength(),getOffset()
UDP Socket
ds.send(dp);send
DatagramPacket dp1=
new DatagramPacket(buffer,length
ds.receive(dp1)dsreceive
ds.send(dp1);send
ds.close()
ds.close()
URL
UDPReceive.java,UDPSend.javaUDP
URL
URL
URL
URL
URLHttp,Ftp2HttpURL
FtpURL
URLAPI
URLfinal
URL
http://www.sina.com.cn:8080/phps/index.html
http:www.sina.com.cnIP8080
phps/index.html
URL
URL(String)4
URL
URL(String,String,String,String)4String
URLgetFile()
openStream()
URL
URL
openConnection()URLURLConnection(
)
URLConnectionURLURL
connect()URL
URLConnectgetInputStream()getOutputStream()
2
URLURL
URL
/
javajava
URL
TestURL.javaURL
java
URLConnection
getHeaderFieldKey(int)n
()
getHeaderField(int)n
getData()Data
getContentType()Content-Type
getExpiration()Expiration
getContentLength()Content-length
getLastModified()LastModified
getContentEncoding()content-encoding
content-typecontent-lengthcontent-encoding
100
TestURLConnection.java