capitolo 1 - alevolpato.comalevolpato.com/online/ch01ita.pdfcay s. horstmann concetti di informatica...
TRANSCRIPT
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
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.
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!
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.
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.