Εισαγωγή στη Java

fairieshourglassSoftware and s/w Development

Jun 9, 2012 (5 years and 11 days ago)

310 views

ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
1
4. Ειζαγωγή ζηη
Java
Χειμεπινό εξάμηνο
2011
Πέτρος Κωμοδρόμος
komodromos@ucy.ac.cy
http://www.eng.ucy.ac.cy/petros
ΠΠΜ
4
0
1
-
Ανάπηςξη Λογιζμικού Εθαπμογών Μησανικήρ
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
2
Θέματα

Δηζαγσγή ζηε γιώζζα πξνγξακκαηηζκνύ
Java

Γεκηνπξγία απινύ πξνγξάκκαηνο
ζε
Java

Σρόιηα ζε πξνγξάκκαηα
Java

Φξήζε εληνιώλ εηζόδνπ/εμόδνπ

Μλήκε θαη κεηαβιεηέο

Αξηζκεηηθνί ηειεζηέο θαη ππνινγηζκνί

Πξνηεξαηόηεηα αξηζκεηηθώλ ηειεζηώλ

Λνγηθέο εθθξάζεηο θαη απνθάζεηο

Τειεζηέο ζπγθξίζεσο θαη ηζόηεηαο

Δληνιέο ειέγρνπ
:
δηαθιαδώζεηο θαη βξόγρνη
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
3
Ανάπηςξηρ και εκηέλεζη ππογπαμμάηων
Java
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
4
Γεκηνπξγία απινύ πξνγξάκκαηνο ζε
Java
Βαζηθνί ηύπνη πξνγξακκάησλ
Java

Java Application

Δθηειείηαη κε ηε ρξήζε ηεο εληνιήο
java
από ην παξάζπξν
εληνιώλ (
DOS command window
ή
Unix Shell
)
ε νπνία μεθηλά
ηε λνεηή κεραλή ηεο
Java
(
Java Virtual Machine
-
JVM
)

Java Applet

Δθηειείηαη κέζα από ην πεξηβάιινλ θάπνηνπ
web
-
browser
(π.ρ.
Internet Explorer, Netscape,
θ.ιπ
.)
, εθόζνλ είλαη δπλαηή
θαη επηηξεπηή ε εθηέιεζε πξνγξακκάησλ
Java
http://java.sun.com/docs/books/tutorial/getStarted/cupojava/win32.html
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
5
Τςπική
διαδικαζία
ανάπηςξηρ και
εκηέλεζηρ
ππογπαμμάηων
Java:
IDE
:
Integrated
Development
Environment
(
π.ρ
. JBuilder
,
NetBeans,
θι.π.)
javac myfile.java
java myfile
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
6
Java Application
Welcome.java
public class Welcome
{
public static void main ( String args[ ])
{
System.out.println("Welcome to CEE 401");
}
}
> javac
Welcome.java
>
java
Welcome
Welcome to CEE 401
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
7
Java Applet
WelcomeApplet.java
import java.applet.Applet;
import java.awt.*;
public class WelcomeApplet
extends Applet
{
public void paint(Graphics g)
{
g.setColor(Color.red);
g.drawString("Welcome to CEE 401", 50, 35);
}
}
> javac
WelcomeApplet.java
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
8
Φξήζε
Applet
ζε ηζηνζειίδα
myApplet.html:
<HTML>
<HEAD>
<TITLE> A simple program to run a Java Applet</TITLE>
</HEAD>
<BODY>
Here the class myApplet is loaded:
<
P
>
<APPLET CODE=“
WelcomeApplet.class
" WIDTH=300 HEIGHT=100 align=center>
</APPLET>
</BODY>
</HTML>
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
9
Γεκηνπξγία, κεηαγιώηηηζε θαη εθηέιεζε πξνγξάκκαηνο
Java

Γεκηνπξγία πεγαίνπ θώδηθα
(
source code
)

Τν αξρείν πξέπεη λα έρεη επέθηαζε
.java
, π.ρ.
Welcome.java

Έλα αξρείν (
file
)
πνπ έρεη κία
public class
πξέπεη απαξαίηεηα λα έρεη ην ίδην
όλνκα κε ην όλνκα ηεο θιάζεο (ηάμεο) ζπλ ηελ
.java
επέθηαζε

Μεηαγιώηηηζε πξνγξάκκαηνο
Java

Αλνίγνληαο έλα παξάζπξν εληνιώλ (
command prompt window
)
,
αθνύ πάηε ζην
directory
όπνπ βξίζθεηαη ην αξρείν, πιεθηξνινγήζηε
:
>
javac fileName
(
π.ρ.
javac Welcome.java)

Αλ δελ ππάξρνπλ ιάζε δεκηνπξγείηαη ην αξρείν
Welcome.class

Τν αξρείν απηό πεξηέρεη
bytecodes
ηα νπνία κπνξνύλ λα εθηειεζηνύλ από
νπνηνδήπνηε
JVM
, αζρέησο ηνπ ηύπνπ ηνπ Η/Υ ζηνλ νπνίν ηξέρεη

Δθηέιεζε ελόο πξνγξάκκαηνο
>
java Welcome

Η εληνιή
java
μεθηλά ηελ
JVM
, θνξηώλεη ηα
bytecodes
ηνπ
Welcome
.class
θαη,
αθνύ θάλεη θάπνηνπο ειέγρνπο, ηα εθηειεί
θαιώληαο πξώηα ηε κέζνδν
main
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
10
Δίδε ζρνιίσλ ζε πξνγξάκκαηα
Java
//
.…….
/*
…..
….....
………..*/
/** …………
……………..*/

Javadoc
>
javadoc Welcome1.java
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
11
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
12
Δίδε ζρνιίσλ ζε πξνγξάκκαηα
Java
//
.…….
/*
…..
….....
………..*/
/** …………
……………..*/

Javadoc
>
javadoc Welcome1.java
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
13

1

// Fig. 2.3: Welcome2.java


2

// Printing a line of text with multiple statements.


3



4

public class
Welcome2


5

{


6


// main method begins execution of Java application


7


public static void
main( String args[] )


8

{


9


Syste
m.out.print(
"Welcome to "
);


10


System.out.println(
"Java Programming!"
);

11


12

}
// end method main

13


14

}
// end class Welcome2


Welcome to Java Programming!



System.out.print
keeps the cursor on
the same line, so
System.out.println
continues on the same line.
Δθηύπσζε (
output
)
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
14
Outline

1

// Fig. 2.4: Welcome3.java


2

// Printing multiple lines of text with a single statement.


3



4

public class
Welcome3


5

{


6


// main method begins execution of Java application


7


public static void
main( String args[] )


8

{


9


System.out.println(
"Welcome
\
n
to
\
n
Java
\
n
Programming!"
);

10


11

}
// end method main

12


13

}
// end class Welcome3

Welcome

to

Java

Programming!


ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
15
Δηδηθνί ραξαθηήξεο εθηύπσζεο (
escape sequences
)
Escape
sequence

Description

\
n

Newline. Position the screen cursor at the beginning of the next line.

\
t

Horizontal tab. Move the screen cursor to the next tab stop.

\
r

Carriage return. Position the screen cursor at the beginning of the
current line

do
not advance to the next line. Any characters output
after the carriage return overwrite the characters previously output
on that line.

\
\

Backslash. Used to print a backslash character.

\
"

Double quote. Used to print a double
-
quote character. For example
,

System.out.println(
"
\
"in quotes
\
""
);

displays

"in quotes"


ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
16

1

// Fig. 2.6: Welcome4.java


2

// Printing multiple lines in a dialog box.


3



4

public class
Welcome4


5

{


6

// main method begins execution of Java application


7


public static void
main( String args[] )


8

{


9


System.out.pri
ntf(
"%s
\
n%s
\
n"
,


10


"Welcome to"
,
"Java Programming!"
);

11


12

}
// end method main

13


14

}
// end class Welcome4


Welcome to

Java Programming!



System.out.printf
displays formatted data.
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
17
Outline

1

// Fig. 2.7: Addition.java


2

// Addition program that displays the sum of two numbers.


3

import
java.util.Scanner;
// program uses class Scanner


4



5

public class
Addition


6

{


7

// main method begins execution of Java application


8


public static void
main( String args[] )


9

{

10


// create Scanner to obtain input from command window

11


Scanner input =
new
Scanner( System.in );


12


13


int
number1;
// first number to add



14


int
numbe
r2;
// second number to add


15


int
sum;
// sum of number1 and number2

16


17

System.out.print(
"Enter first integer: "
);
// prompt

18


number1 = input.nextInt();
// read first number from user

19



import
declaration imports class
Scanner
from package
java.util
.
Declare and initialize
variable
input
, which is
a
Scanner
.
Declare variables
number1
,
number2
and
sum
.
Read an integer from the user
and assign it to
number1
.
Δίζνδνο δεδνκέλσλ (
input)
Δήλωση πακέτων (
packages)
ππιν από τον οπισμό τάξεων
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
18
Outline

Addition.java

(2 of 2)

4. Addition

5.
printf
20

System.out.print(
"Enter second integer: "
);
// prompt

21


number2 = input.nextInt();
// read second number from user

22


23


sum = number1 + number2;
// add numbers

24


25


System.out.printf(
"Sum is %d
\
n"
, sum );
// d
isplay sum

26


27

}
// end method main

28


29

}
// end class Addition


Enter first integer:
45

Enter second integer:
72

Sum is 117



Read an integer from the user and
assign it to
number2
.
Calculate the sum of the variables
number1
and
number2
, assign result to
sum
.
Display the sum using
formatted output.
Two integers entered by the user.
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
19
Παξάδεηγκα εηζαγσγήο δεδνκέλσλ
import java.util.Scanner;
public class Dynamic1
{
public static void main(String args[])
{
double m, k, w;
System.out.println("Provide the properties of a SDOF system:");
Scanner inputScanner = new Scanner(System.in);
System.out.print(" Mass: m = ");
m = inputScanner.nextDouble();
System.out.print(" Stiffness: k = ");
k = inputScanner.nextDouble();
w = Math.sqrt(k/m);
System.out.printf("%s m=%.3f and k=%.2f equals w=%5.3f",
"The frequency of a SDOF with", m, k, w);
}
}
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
20
Βαζηθά/πξσηαξρηθά είδε κεηαβιεηώλ/δεδνκέλσλ
(
primitive data types
)

boolean
(boolean value, true or false)

char
(2
-
byte, character
-
Unicode)

byte
(1
-
byte, signed integer)

short
(2
-
byte, signed short integer)

int
(4
-
byte, signed integer)

long
(8
-
byte, signed long integer)

float
(4
-
byte, floating point)

double
(8
-
byte, double precision floating point)
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
21
Μεηαηξνπέο
(casting)
βαζηθώλ/πξσηόγνλσλ ηύπσλ

Δίλαη επηηξεπηόο ν νξηζκόο ηεο ηηκήο κηαο κεηαβιεηήο βαζηθνύ
(
primitive
) ηύπνπ ζε κηα κεηαβιεηή άιινπ βαζηθνύ ηύπνπ ρσξίο
explicit
cast
αλ ν ηύπνο ηεο πξώηεο κεηαβιεηήο είλαη ζηα δεμηά ηνπ ηύπνπ ηεο
δεύηεξεο ζηε πην θάησ ιίζηα
:
byte
<
short
<
int
<
long
<
float
<
double

Μεηαβιεηή ηύπνπ
char
κπνξεί λα

πξναρζεί

ζε
int
,
long, float
ή
double

Μηα κεηαβιεηή
ηύπνπ
boolean
δελ κπνξεί λα κεηαηξαπεί ζε άιιν ηύπν

Ο νξηζκόο ηεο ηηκήο κηαο κεηαβιεηήο

αλώηεξνπ

βαζηθνύ (
primitive
)
ηύπνπ ζε κηα κεηαβιεηή

θαηώηεξνπ

ηύπνπ είλαη επηηξεπηή κόλν όηαλ
θαζνξηζηεί ε ζπγθεθξηκέλε κεηαηξνπή (
explicit casting
), αθνύ
έηζη
ράλεηαη θάπνηα αθξίβεηα, π.ρ.
int x = (int) 4.75;
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
22
Δπηηξεπόκελεο κεηαηξνπέο
(casting)
βαζηθώλ/πξσηόγνλσλ ηύπσλ
Οη πην θάησ κεηαηξνπέο κπνξνύλ λα γίλνπλ έκκεζα ρσξίο
explicit casting:
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
23
Μλήκε θαη κεηαβιεηέο

Κάζε κεηαβιεηή έρεη όλνκα, ηύπν, κέγεζνο θαη ηηκή

Η θάζε κεηαβιεηή αληηζηνηρεί ζε κία ζέζε ζηε κλήκε

Όηαλ κηα λέα ηηκή δνζεί ζε κία κεηαβιεηή ηόηε απηή ε ηηκή
απνζεθεύεηαη ζηελ αληίζηνηρε κλήκε θαη ε πξνεγνύκελε ηηκή ράλεηαη

Γηαβάδνληαο ηηκέο από ηελ κλήκε δελ έρεη θακία επίπησζε ζε απηέο
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
24
Αξηζκεηηθνί ηειεζηέο
*
πνιιαπιαζηαζκόο (
multiplication
)
/
δηαίξεζε (
division
)
%
ππόινηπν από δηαίξεζε (
remainder
)
+
θαη

πρόσθεση και αφαίρεση

Γηαίξεζε αθεξαίσλ πεξηθόπηεη ην ππόινηπν
7 / 5
ηζνύηαη κε
1

Ο ηειεζηήο ππνινίπνπ (
remainder)
%
δίλεη ην ππόινηπν
7 % 5
ηζνύηαη κε
2
Java
operation

Arithmetic
operator

Algebraic
expression

Java
expression

Addition

+

f
+ 7

f + 7

Subtraction



p



c

p
-
c

Multiplication

*

B
m

b * m

Division

/

x
/
y

or



or

x

÷

y


x / y


ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
25
Πξνηεξαηόηεηα βαζηθώλ ηειεζηώλ
Operator(s)

Operation(s)

Order of evaluation
(precedence)

*

/

%

Multiplication

Division

Remainder

Evaluated first. If there are
several operators of this type,
they are evaluated from left to
right.

+

-

Addition

Subtraction

Evaluated next. If there are

several operators of this type,
they are evaluated from left to
right.


ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
26
Πξνηεξαηόηεηα
ηειεζηώλ
:
(βιέπε
Appendix A)
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
27
Πξνηεξαηόηεηα (
precedence)
θαη ζρεηηθόηεηα
(associativity)
ηειεζηώλ
(operators)
Operators

Associativity

Type

* / %

left to right

multiplicative

+
-

left to right

additive

< <= > >=

left to right

relational

== !=

left to right

equality

=

right to left

assignment



Όηαλ ηειεζηέο ηεο ίδηαο ηάμεο πξνηεξαηόηεηαο (
precedence)
παξνπζηάδνληαη ζηελ ίδηα έθθξαζε, ηόηε ε ηδηόηεηα ηεο
associativity
θαζνξίδεη κε πνηα ζεηξά ζα εθηειεζηνύλ.

Όινη νη ηειεζηέο κε ηελ ίδηα πξνηεξαηόηεηα εθηεινύληαη από αξηζηεξά ζηα
δεμηά, εθηόο από ηνπο ηειεζηέο νξηζκνύ (
assignment operators
)
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
28
Παξάδεηγκα
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
29
Άκεζε
(
ξεηή) κεηαηξνπή
-
Explicit casting

Ο ηειεζηήο
(
type)
είλαη δηαζέζηκνο γηα ξεηή κεηαηξνπή
(
explicit
casting
)
ελόο ηύπνπ ζε θάπνην άιιν
:
π.ρ.
9 / 4

2
(double) 9 / 4

2.25

Ο ηειεζηήο (
type
)
είλαη
unary operator
κε πξνηεξαηόηεηα ίζε κε
ηα
unary
+
θαη
-
, θαη έρεη
precedence
από δεμηά πξνο αξηζηεξά
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
30
Λνγηθέο εθθξάζεηο θαη απνθάζεηο

Έιεγρνο αλ ε ινγηθή έθθξαζε είλαη αιεζήο (
true
)
ή όρη (
false
)

Εντολή διακλάδωσης
if:

Αλ ε ινγηθή έθθξαζε πνπ ρξεζηκνπνηείηαη ζαλ ζπλζήθε είλαη αιεζήο ηόηε
εθηειείηαη ε επόκελε εληνιή ή ε νκάδα εληνιώλ πνπ αθνινπζνύλ κέζα ζε
{ }

Τειεζηέο ηζόηεηαο
(
equality
)
θαη ζπγθξίζεσο
(
relational
)
κπνξνύλ λα
ρξεζηκνπνηεζνύλ
ζε ινγηθέο εθθξάζεηο
:
Standard algebraic

equality or relational
operator

Java equality

or relational
operator

Sample
Java
condition


Meaning of

Java condition

Equality operators






==

x == y

x
is equal to
y



!=

x != y

x
is not equal to
y

Relational operators






>

x
> y

x
is greater than
y



<

x < y

x
is less than
y



>=

x >= y

x
is greater than or equal to
y




<=

x <= y

x
is less than or equal to
y


ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
31
Outline

1

// Fig. 2.15: Comparison.java


2

// Compare integers using if statements, relational operators


3

// and equality operators.


4

import
java.util.Scanner;
// program uses class Scanner


5



6

public class
Comparison


7

{


8

// main method beg
ins execution of Java application


9


public static void
main( String args[] )

10

{

11

// create Scanner to obtain input from command window

12

Scanner input =
new
Scanner( System.in );

13


14


int
number1;
// first number
to compare

15


int
number2;
// second number to compare

16


17

System.out.print(
"Enter first integer: "
);
// prompt

18

number1 = input.nextInt();
// read first number from user

19


20

System.out.print(
"Enter second i
nteger: "
);
// prompt

21

number2 = input.nextInt();
// read second number from user

22



23


if
( number1 == number2 )


24


System.out.printf(
"%d == %d
\
n"
, number1, number2 );

25


26



if
( number1 != number2 )


27


System.out.printf(
"%d != %d
\
n"
, number1, number2 );

28


29


if
( number1 < number2 )


30


System.out.printf(
"%d < %d
\
n"
, number1, numb
er2 );


Test for equality, display
result using
printf
.
Compares two numbers
using relational operator
<
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
32
Outline

Comparison.java

(2 of 2)

Program output
31


32


if
( number1 > number2 )


33


System.out.printf(
"%d > %d
\
n"
, number1, number2 );

34


35


if
( number1 <= number2 )


36


System.out.printf(
"%d <= %d
\
n"
, number1, number2 );

37


38


if
( number1 >= number2 )


39


System.out.printf(
"%d >= %d
\
n
"
, number1, number2 );

40


41

}
// end method main

42


43

}
// end class Comparison


Enter first integer:
777

Enter second integer:
777

777 == 777

777 <= 777

777 >= 777



Enter first integer:
1000

Enter second integer:
2000

1000 != 2000

1000 <
2000

1000 <= 2000




Enter first integer:
2000

Enter second integer:
1000

2000 != 1000

2000 > 1000

2000 >= 1000



Compares two numbers
using relational operator
>
,
<=
and
>=
.
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
33
Δληνιέο ειέγρνπ δηαθιάδσζεο
if
(logical test)
statement;
switch
(variable)
{
case value1:
statements
break;
case value3:
statements
break;
case value4: case value5:
statements
break;
default:
statements
}
if
(logical test)
statement;
else if
(logical test)
statement;
else
statement;
if
(logical test)
{
statements….
}
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
34
Δληνιέο ειέγρνπ επαλαιήςεσλ (βξόγρσλ)
for
(initialization ; logical test; modification)
statement;
do
{
statements;
}
while (logical test);
while
(logical test)
statement;
for
(initialization ; logical test; modification)
{
…statements…
}
while
(logical test) {
…statements…
}
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
35
Γενικέρ Ειζηγήζειρ και Παπαηηπήζειρ

Να γξάθεηε ηα πξνγξάκκαηα ζαο κε ηνλ πην
απιό
δπλαηό ηξόπν θαη κε
επθξίλεηα ώζηε λα κπνξεί θάπνηνο εύθνια λα θαηαιάβεη ηη θάλεηε

Να ρξεζηκνπνηείηε πάληα
ζρόιηα
θαη νκαδνπνηήζεηο/ζηνηρίζεηο (
indentation
)

Πάληα λα δνθηκάδεηε ηα πξνγξάκκαηα ζαο θάησ από όιεο ηηο δπλαηέο
πεξηπηώζεηο θαη ζε όιεο ηηο πιαηθόξκεο πνπ ζα ρξεζηκνπνηεζνύλ

Να δηαβάδεηε ηηο πεξηγξαθέο ησλ ηάμεσλ ηεο
Java
(
documentation
)
θαη λα είζηε
ελήκεξνη κε ηηο πνιιέο ηνπο δπλαηόηεηεο

Αλ δελ είζηε ζίγνπξνη πώο λα ρξεζηκνπνηήζεηε θάπνηα δπλαηόηεηα ηεο
Java
απιά δνθηκάζηε κηα απιή πεξίπησζε

Πξνζέμηε όια ηα ελδερόκελα ιάζε θαηά ηε δηάξθεηα ηεο κεηαγιώηηηζεο
(
compile
-
time errors
or
compilation errors
)
γηα λα ηα δηνξζώζεηε κε ηε ζεηξά

Λάζε όπσο ε δηαίξεζε κε ην κεδέλ (
division by zero
)
ζπκβαίλνπλ θαηά ηελ
εθηέιεζε ελόο πξνγξάκκαηνο (
runtime errors
or
execution
-
time errors
)

θάπνηα πξνθαινύλ ηεξκαηηζκό ηεο εθηέιεζεο (
fatal runtime errors
)

θάπνηα δελ πξνθαινύλ ηεξκαηηζκό ηεο εθηέιεζεο (
nonfatal runtime errors
)
πξνθαιώληαο ιαλζαζκέλα απνηειέζκαηα, ην νπνίν είλαη πην επηθίλδπλν
ΠΠΜ
4
0
1
-
Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής
36
Δθηέιεζε παξερόκελσλ
πξνγξακκάησλ
Java

Από ην ζπλνδεπηηθό
CD
ηνπ βηβιίνπ
: ..…
\
examples
\
ch01:
cd ATM
java ATMCaseStudy
cd BouncingBall
java BouncingBall
cd GuessGame
java GuessGame
cd LogoAnimator
java LogoAnimator
cd TicTacToe
java TicTacToeTest