Title: Java??
1?? ?????
2??
- Java??
- ?? ?? ?? ?? ??
- ?? ??? ??
- ????
- ????????????
- (Java)?????
- Variables (??) ? Scope (??)
- Operators (???)
- ???? (type conversion) /???(Statement)/??(Block)
- Control Flow Statements(???)
3Java??
- ???? C? ??????, ??? HW? ???? ?? ????? ??? ????
?? - Oak ?? ??gt James Gosling? ?? ???? Java ??? ???
- SunWorld 95 ???(Sun Microsystems?, 1995/5/23)??
?? ??? - Java Java language Java platform
- ??? ????????(distributed application)? ??
????????, - ??? ?? ???? ??? ?? ?? ??(software platform)??.
4?? ?? ????
- Simple(???)
- Familiar(???)
- Object oriented(????)
- Network-savvy(???? ??)
- Robust(???)
- Secure (??)
- High performance (??? ??? ??)
5?? ?? ????
- Multi-threaded(?? ???)
- Interpreted (?????)
- Architecture neutral (?? ???)
- Portable(?? ???)
- Dynamic(??)
- ( Language Requirements) ?? ??
6?? ?? ??
- Simple C ????? ??? ???? ? ??? ??????, ?? ????
??? ?? ???? ?? ?? ???? ??? ?? ??? ?????. C???
?? ???? ????? ????, ?? ??? ??? ????. ??? ??? ???
????? ??? ?? ??? ????? ??? ????? ???? ??? ???
???? ???? ?? ??? ???????? ??? ???? ??. ?????
?????? ??? ???? ??? ???? ????? ?? ??? ???? ???.
??? ????? ???? ?? ????? ???? ?? ??? ?????? ?????
????? ??? ??? ? ??.
7?? ?? ??
- Familiar ?? ??(C)? ??? ??? ???? ? ? ?? ?? ?
?? ???. - Object-oriented ?? ?? ???? ???? ?????? ??? ???
? ? ??, ??? ??? ??? ?? ? ?? ???. ???? ???, ?? ??
???? ???(??)? ? ????? ?????? ???? ??? ??.
8?? ?? ??
- Network-Savvy ??? HTTP? FTP?? TCP/IP ????? ????
?? ?????? ??? ??. ??? ??? C? C?? ???? ??? ? ??
? ? ?? ????. - Robust
- ??? ?????? ????? ??? ???? ?? ??? ???? ???? ??
???. - ??? ?????? ???? ????? ??? ?? ?????? ?? ??? ??? ?
? ?? ??? ??. - ?? ?? ?????? ?? ???? ??? ??? ???? ??? ? ??. ??
??? ??? ??? ???? ?? ??? ??? ????. - ??? ??? ???? ?? C ?????? ??? ? ??? ?? ??? ??
?????. ?? ??? ?????? ???? ?? ???? ?? ??? ?? ????
????? ?? ???? ???.
9?? ?? ??
- Secure ??? ?? ???? ???? ???? ?? ??? ?????. ???
??? ???? ?? ???(public key) ??? ??? ??? ?????.
???? ?? ??? ??? ???? ?? ???? ???? ???? ?? ????. - High Performance ??? ?????? ??? ? ?? ???, ???
?? ???? ???? ?? ?? ????? ???? ??? ??? ????? ??.
??? ??? ????? ?????? ?? ???? ???? ?? ??? ??? ???
??? ???? ??. ??? ????, ???? ????? ???? ??? ?? ???
????. Sun Microsystems? ??? ??? ??, ?????? ???
??? ??? ???? ??? C? C ????? ?? ??? ?? ?? ???
??? ??? ? ??.
10?? ?? ??
- Multi threaded ??? ??? ?? ? ?? ?? ??? ??? ? ??
??????? ??? ? ??. ??? C.A.R. Hoare? ???? ?? ?????
???? ?? ??? ???? ???? ??? ??? ??? ?? ?? ???,
??????? ???? ??? ??? ?? ??? ? ??. - - ex ???? ?? ????/???
- Interpreted (??? ??) Java? ?? ?? ?? ?? ???
????? ?? ???? ??? ??, ???? ??? ???? ????.
11?? ?? ??
- Architecture Neutral ??? ?? ??? ????? ?? ????
???? ?? ?? ????? ???? ??? ?? ?? ??? ?????. ??,
?????? ??? ?? ??? ????? ???? ????. - -?? ???(JVM) ??? ???? ??
- Portable ???? ?????? ?? ???? ??? ??? ?? ????.
??? ???? ?? ?? ??? ????? ?? ??? ???? ??? ??? ?? ?
??. C? C?? ?? ??? ???? ???? ?? ?? ??? ?????,
??? ?? ???? ?? ??? ?? ??? ??? ????. Java? VM???
??? ??? ??? ??? ??.???? ??? ?? ???(Windows,UNIX,LI
NUX)??? ??? ?? ? ? ?? ??? ??.
12?? ?? ??
- Dynamic ?? ???? ???, ??? ???????? C ???? ??,
??? ??? ???? ????? ????? ???? ????. ? ?? ??
?????? ???? ????? ??? ??? ??? ?? ?? ?????? ???
???? ???? ?? ??? ? ??. - ( Language Requirements) ??? ?? ?????? ????
?? ??? ????? ?????.(????(?????),????,??,???,?????)
13?? ??? ??
14??(Object) ??
- ?? ??? ?????? ? ? ?? ??(???, ?, ??, ? ?? ??)
- ???? ???????? ?? ??? ??? ??? ??? ??? ?? ?? ???? ?.
15?? ?? ????????
- ?? ??(Object-oriented) ????? ? ??? ??? ????? ???
??(???)????, ???? ????? ??? ???? ??? ??? ???? ??
???? ??. ???? ??? ??(???)? ? ??? ???? ??(??, ??,
??)? ?? ????. ??? ?????? ??? ??? ???? ?? ???
????? ?????, ?? ?? ??????? ??? ??? ??? ???? ?? ??
??? ??? ???? ?? ??? ????.
16Object Orientation ????
- (???) ???? ?? ??? ????.
- Object(??) ?? ??? ??(state)? ??(behavior)?
????. - Message Passing (??? ??) ???? ?? ??? ??? ??
??????. - ? ??? ?? (or ??? ??) ??? ?? ??? ???
???(optional)
17Object Orientation ????
- CLASS(???) ??? ?????? ????.
- ? ???(?? ?? ?)? 3?? ????
- ? ???? ? ??? ??? ???? ?? ??
- ? ?? ??? ? ??? ??? ???? ??
- ? ??? ? ???? ??? ??? ????? ??
- (??) ??? ??? ??? ?? ???? ?? ??? ???? ?
- ? ???(reuse) ??
- ? ??? ??? ?? ? superclass ?? ? ?? ??
??? ???/????(?????/????)
18???????????
- ??????? ???? ???? ???? ???
- ???? ??? ??? ??? ?? ??
- ????(Overloading) ???? ????? ??? ?? ??? ???
?? ??? ??? ?? ? - ?????(Overriding) ?????? ???? ?????? ????? ??
??? ?? ?? ? ???? ?????? ?? ???? ???? ??? ??????
??? ??? ??. - ????? ?? ????? ?????? ????? ? ?? ????? ?????.
19(Java)??? ??
20Variables (??)
- ?? ?? ??? ???? ?? ??? ??(declaration)?? ??.
- ?? ??? ???? ???? (?) int age Circle c1, c2
- ?? ????(member variable), ????(local variable),
????(parameter) - ?? ??? letter? ???? ?? ?? ??? ??.
- (??) ???(if, static ?)? ???(true, false, null)?
???? ??? ? ??. - (??) ??? Unicode ??? ????? ?? ???? ??? ????.
- (??) simple name, qualified name
- ? Simple name ? ??? ???? ???? ??
(?) age - ? Qualified name ? ?? ?? ???? ????? ????
?? (?) c1.radius
21?? ??
22Scope (??)
- Scope simple name? ?? ??? ? ?? ???? ?? ??? ???
?? ?? - (??) ?? ??? ??? scope ??? ????(unique) ??.
- ?, ????? ?? ??? ??? ??? (??)??? ?? ? ??.
- ? ?? ????? qualified name? ???? ??.
23Operators (???)
??? ?? ??
?? - / ?? ??? ? ??? ???
?? - unary plus/minus
?? -- -- ??/?? ???
??? opdgtgtn opdltltn opdgtgtgtn n? ??/??/unsigned ?? ??? (??) ??? ???
?? gt gt lt lt ! ?? ??
?? Bitwise AND/OR/Complement/XOR (??) ??? ???
?? ! Shortcut AND, OR, NOT
?? AND, OR, NOT
?? Assignment operator
?? - / ltlt gtgt gtgtgt Shortcut assignment operators (??) x y1 ? x x (y1)
?? opd1 ? opd2 opd3 if (opd1) then opd2 else opd3 (?) max xgty ? x y
?? ?? (?) int a anew int10 a320
?? ??or???.?? ?? ?? ??? ?? ?? (?) c1.radius c1.getRadius()
?? (???????) ??????? ?? (?) Circle(float radius)
?? (??) ??? ???? (?) (long)radius
?? new ??/?? ?? (?) c1new Circle(5.0F) anew int10
?? ?? instance of ??? ?? ???? (?) c1 instanceof Circle
24????/???/??
- ?? ?? ????? ???? ?? ??????(Implicit type
conversion)? ??? - (????) ???? ?? ??? ?? ??? ??? (Promotion Rule)
Statement ??? ?? ?? (Complete unit of execution)
(??) ???, ?? ???. ??? Block ???(curly
brace)? ???? ???(zero or more) (??) Class
block, Method/Constructor/Catch block, Statement
block ??? scope? ???? ????.
25Control Flow Statements
- ???? Control Flow ???(sequence)/???(selection)/???
??(iteration) - ??? ifelse ifelse,while( ),do while( ),
- switchcase breakdefaultbreak
- for() ,foreach(?? in ??)
26Control Flow Statements
????? ?? ?? ??? ??? ????? ???? ?? ????(??) ?
??????(?? ??) ? ??????? ? ?? ???? ?? ??
27??? ?? (?? 2-6 )
- ??? ?? max(gt0)? ???? ????? ????.
- ???? ??? ???? ?????. ?, ???? ?? max? ???? ???
???? ? ??? ???? ???? ??? ???? ???? ??. - ?, MAX?? ?? ? ?? ??? ?? ???? ? ?? MAX?? ???? ??
??? ???? ??? ?? ?? - 1.while? ?? 2.for? ?? 3.case? ??
- ??? Scanner s new Scanner(System.in)
- int ??? s.nextInt()?? ?? ? ??.
- (?? ? ??? java.util ??? import ? ?)