capitolo 1 - alevolpato.comalevolpato.com/online/ch01ita.pdfcay s. horstmann concetti di informatica...

24
Capitolo 1 Introduzione Cay S. Horstmann Concetti di informatica e fondamenti di Java

Upload: phungphuc

Post on 21-Feb-2019

352 views

Category:

Documents


4 download

TRANSCRIPT

Capitolo 1

Introduzione

Cay S. HorstmannConcetti di informatica e fondamenti di Java

Obiettivi del capitolo

• Comprendere la distinzione fra linguaggi macchinae linguaggi di programmazione di alto livello

• Prendere confidenza con l’ambiente di programmazionee con il compilatore

• Compilare ed eseguire il primo programma Java

• Riconoscere gli errori logici e di sintassi

Codice macchina

• Java Virtual Machine (JVM) – una tipica sequenza diistruzioni macchina:

1. Carica il contenuto della posizione di memoria 40.2. Carica il valore 100.3. Se il primo valore è maggiore del secondo, prosegui

con l’istruzione contenuta nella posizione di memoria 240.

Le istruzioni macchina sono codificate sotto forma di numeri:

Il compilatore traduce la descrizione di alto livellonelle istruzioni macchina

21 40 16 100 163 240

Self Check

6. What is the code for the Java virtual machine instruction "Load the contents of memory location 100"?

7. Does a person who uses a computer for office work ever run a compiler?

6. 21 100

7. No–a compiler is intended for programmers, to translate high-level programming instructions into machine code.

Il linguaggio di programmazione Java

• Semplice

• Sicuro

• Indipendente dalla piattaforma

• Ha una ricca libreria

• Pensato per internet

Figura 7: Un appletin una paginaWeb

Self Check

8. What are the two most important benefits of the Java language?

9. How long does it take to learn the entire Java library?

8. Safety and portability.

9. No one person can learn the entire library–it is too large.

Prendere confidenza con il computer

• Log in

• Individuare il compilatore Java

• Capire file e folder I programmi sono memorizzati in fileFile: un insieme di informazioni memorizzate insieme; un file Java è un contenitore di istruzioni Java. I file hanno un nome e le regole per i nomi validi sono diverse da un sistema all’altro.I file sono conservati in cartelle o directory. Si tratta di contenitoridi file, che si possono annidare, ovvero inserire uno dentrol’altro.

Continua…

Prendere confidenza con il computer

• Scrivere un programma semplice (later)

• Salvare il proprio lavoroSviluppare una strategia di salvataggio del proprio lavoro, fare copie di backup.

Figura 8:Una finestra di comando

Figure 9:Un ambiente di sviluppo integrato

Figura 10:Cartelle annidate

Self Check

10. How are programming projects stored on a computer?

11. What do you do to protect yourself from data loss when you work on programming projects?

10. Programs are stored in files, and files are stored in folders or directories.

11. You back up your files and folders.

File HelloTester.java

1: public class HelloTester2: {3: public static void main(String[] args)4: { 5: // visualizza un messaggio di saluto sulla finestra di console6:7: System.out.println("Hello, World!");8: }9: }

VisualizzaHello, World!

Figura 11

Esecuzione del programma HelloTester in una finestra di comando

Figura 12

Esecuzione del programma HelloTester in un ambiente di sviluppo integrato

Un semplice programma• public class NomeClasse• public static void main(String[] args) • // comment• Method call

Figura 13:Invocazionedi un metodo

System ClassSystem.out Oggettoprintln Metodo

Sintassi di Java1.1: Invocazione di metodo

object.methodName(parameters)

Esempio:System.out.println("Hello, Dave!");

Obiettivo:Invocare il metodo di un oggetto e fornire eventuali parametri aggiuntivi.

Self Check 12. How would you modify the HelloTester program to print the words

"Hello," and "World!" on two lines?

13. Would the program continue to work if you omitted the line starting with//?

14. What does the following set of statements print?

System.out.print("My lucky number is");System.out.println(3 + 4 + 5);

12.

13. Yes–the line starting with // is a comment, intended for human readers. The compiler ignores comments.

14. The printout is My lucky number is12. It would be a good idea to add a space after the is.

System.out.println("Hello,");System.out.println("World");

Errori

• Errore di sintassi

• Identificato dal compilatore

• Errore di escuzione o errore logico

• Identificato tramite collaudo

System.ouch.print(". . .");System.out.print("Hello);

System.out.print("Hell");

Self Check

15. Suppose you omit the // characters from the HelloTester.javaprogram but not the remainder of the comment. Will you get a compile-time error or a run-time error?

16. How can you find logic errors in a program?

15. A compile-time error. The compiler will not know what to do with the word display.

16. You need to run the program and observe its behavior.

Il processo di compilazione

Figura 14:Dal codice sorgente al programma in esecuzione

Figura 15Il ciclo modifica-compila-collaudara

Figure 15:The Edit—Compile—Loop Test

Self Check

17. What do you expect to see when you load a class file into your text editor?

18. Why can't you test a program for run-time errors when it has compiler errors?

17. A sequence of random characters, some funny-looking. Class files contain virtual machine instructions that are encoded as binary numbers.

18. When a program has compiler errors, no class file is produced, and there is nothing to run.