OPI_LR2011_ch3
.pdf31
5 f .
= 2.6 – E @
2.3 "9 ) 9 4
2.3.1.
@ , @ , (
.
2.3.2? :
:
1.> Java, i.
2.E ( @ .
3.: – +
+, @ «?»,
, @ «: »,
32
«
».
4.: +
+ .
(
. '
@
’ ( .
2.3.3.+ .
2.3.4? .
2.4 !, #",
2.4.1; .
2.4.2.
2.4.3C .
2.4.4; .
2.4.5C , i ( @
.
2.4.6?, i
(3 g. ), ( ( @
.
2.5 7] , # 4 )
2.5.1. ( .
2.5.2G @ ?
2.5.3‘ Inspector.
2.5.4G @ ?
2.5.5( @ @.
2.5.6: @ .
2.5.7( Break
Continue?
2.5.8/ ( , Boolean?
33
3 ? 8 8 8 ? 3
?’a-8 a 38_8 > ^
JAVA
3.1 ( 4
? ’f-f
Java.
3.2" , ( ( 4-, ",9 ! ,
3.2.1 ^1 4 4 17 , ,917
. f class, f
' . "Code Conventions" @
' .
' class ( + (class modifiers). D public, abstract, final, strictfp. ' '
( , , + protected, private, static.
; , - @ ,
, +, + (. ' f , , , ' ,
( , , (
(.
. (
' + public, protected, private, static, final, transient, volatile. G i +, JLS
f g ,
@ +.
' f f
void, , , ' , , (,
. ' + ( f
.
. ( + public, protected, private, abstract, static, final, synchronized, native, strictfp.
@ ' (
. ' - (
34
+ final. ; ( @
. > ( , (
.
' (
f ' , @f
, . ; f
@ .
3.1 , ( +
( .
' 3.1. (
class Bisection2{
private static double final EPS = le-8; // •279:=7:= private double a = 0.0, b = 1.5, root; // a=P4/:8 02g5 public double getRoot(}{return root;} // hO:26 629:N0N private double f(double x)
{
return x*x*x - 3*x*x + 3;
}
private void bisect(){
double y = 0.0; do{
root = 0.5 *(= + b); @ = f(root); if(Math.abs(y) < EPS) break;
//•2487; 37=>6O7/>. i/S26/R2 83 _/PgN
//lPj2 7= P87_5S @86483P= [a; root]
//QN7P_85 R=b 48378 37=P/:
if(f(=) * y < 0.0} b = root;
//@/S26/:;, P2487; :N:
//•O4O729/R2 P4=0PN b N P4=0PN root //s 042:/@72RN @/0=6PN:
else a = root;
//0O4O729/R2 P4=0PN = @ P4=0PN root
//•4262@^NbR2, 02P/ [=; ‚] 7O 9:=7O R=g/>
}while(Math.abs(b-a) >= EPS);
}
public static void main(String[] args){ Bisection2 b2 = new Bisection2(); b2.bisect();
System.out.println("x = " +
b2.getRoot() + // a@O4:=bR295 62 P24O75 ]O4O3 RO:26 629:N0N
", f() = " +b2.f(b2.getRoot()));
} }
? f() f ,
: ( f , f f .
. bisect ..': ,
f b2
35
. bisect() - g
Bisection2, (private).
0' ,
(signature) . C f
, . D f
, i @ /
.
; f , ,
, (
.
Automobile ( moveTo(int x, int ),
g + . (
i moveTo(string destination)
+ :
oka.moveTo("h29P@=") ;
; @ f
((overloading). ' ( (
. : println() (
@ ,
. : @ ' println. ,
. D Printstream,
print() println().
G i ( ( ' , :
class Truck extends Automobile{ void moveTo(int x, int y){
// lP89; 68ƒ
}
// „29; jO
}
f . ? g
Truck, :
Truck gazel = new Truck();
g gazel.moveTo(25, 150),
Truck. ? (overriding) .
' (
g. ? public g ,
i protected ( .
( , i ' , super, ,
36
super.moveTo(30, 40). ( ' ,
( , this, , this.moveTo(50, 70),
( . ( ( @
@ , .
' . G i Pet voice(). '
chorus, 3.2. ' 3.2. ' +
abstract class Pet{ abstract void voice();
}
class Dog extends Pet{ int k = 10;
void voice(){ System.out.printin("Gav-gav!");
}
}
class Cat extends Pet{ void voice() {
System.out.printin("Miaou!");
}
}
class Cow extends Pet{ void voice(){
System.out.printin("Mu-u-u!");
}
}
public class Chorus(
public static void main(String[] args){ Pet[] singer = new Pet[3]; singer[0] = new Dog();
singer[1] = new Cat(); singer[2] = new Cow();
for(int i = 0; i < singer.length; i++) singer[i].voice();
}
}
: . 3.1 f .
? singer[]. ˆ
singer [] f Pet, ( f 'f
Dog, Cat, cow. ' f
'f, , '
. ; Java f +.
Java f +. C Pet
voice() f .
37
= 3.1 – = Chorus
3.2.2 1 , !( 94 17 4
G i ,
, g , . ;
f , i ' +
abstract.
ˆ singer [] @ Dog, Cat, Cow, - Pet (
, Pet. E
. ; , i f
, , i
( , . ; ,
@ g f .
( ( @ @ , g
+ (, g ( , :
void voice(){}
? . 5 g g, i f
.
( f @ ( .
38
3.2.3 -, -7( 4 17 4
' g + final, (
. D @ . ? ( , i f , . >
+ sin(), cos() g Math.
Math.cos(x) @f . ,
( .
E , , @@
, (private).
G i ( + final ,
( g. ; , , Math:
public final class Math{... }
E + final f g . G i
+ final , (
' (,
) ( ,
. @f . > Java
@ :
public final int MIN_VALUE = -1, MAX_VALUE = 9999;
@ "Code Conventions" @
, @ . : g f Java Object.
3.2.4 7 Object
G i f g,
g extends ' ,
Pet, Java ( f g object,
f :
class Pet extends Object{... }
> ( object f ( f,
f f - Java. , -
f object.
. (
, @ g ,
, equals(), i @f 'f
'f, , @ . ž ( :
39
Object objl = new Dog(), obj 2 = new Cat(); if(obj1.equals(obj2))...
' ( @ :
obj1 == obj2; obj1 != obj 2;
@ 'f, @
'f.
equals() ( @f 'f
, + object (: 'f
@f . ; @
, g , ,
object, i g f
.
E object,
, – tostring(). D , i f
'f f 'f string. E @ Java f i,
'f , ,
printing.
3.2.5 1 4 17
? new, i f , @f
' (. ; " " f
(class constructor). C f - . : i , Java
(default constructor), (,
, .
C f
, ' ,
@ 'f.
C f . ;
g void, (
+ public, protected private.
C f , ( f . ; ( .
; ( :
– ,
f super() (, i
;
40
– g ( ,
f this() (, i . G i ( super() f,
f ,
f ,
g, ( , i .
g ( (
, f - ,
return, (, f
.
( . .
' , i f ' ,
/ @ .
3.2.6 ( ;,) new
g f
(, :
double a[] = new double[100];
f . G i
f, f
.
/ ( @ , -
false, - null.
= new 'f. D (
:
Dog k9 = new Dog() ;
(
new Dog().voice();
; 'f f
voice().
3.2.7 4-, -7( 4 17
= @ (
-, i @ .
f ( g . ( f ' . ;