Lezione 2 : Basi del linguaggio Variabili. Come visto nella lezione 1 le classi registrano il proprio stato nelle variabili  int cadenza = 0;  int velocita.

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

LINGUAGGIO DI PROGRAMMAZIONE C
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
Selezione - approfondimento
I DATI I PRINCIPALI TIPI DI DATO UTILIZZATI IN PROGRAMMAZIONE
Le gerarchie di tipi.
Fondamenti di Informatica CDL in Ingegneria Meccanica - A.A CDL in Ingegneria Meccanica - A.A Tipi di dati Ing. Simona Colucci.
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Tipi di dati Ing. Simona Colucci.
Fondamenti di Informatica
Programmazione in Java (3)
Tipi di dato e controllo del flusso Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA.
Corso di Fisica Computazionale I
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 7 (5 novembre 2008) Programmazione in Java: lessico, variabili, tipi primitivi, assegnamento a variabile.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Variabili e tipi primitivi Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Assegnamento di valore a una variabile Anno Accademico 2009/2010.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Le stringhe di caratteri in Java Anno Accademico 2009/2010.
1 Lezione XIII Lu 17-Nov-2005 Programmare le classi.
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 3 1 JAVA e Internet: il World Wide Web Internet: milioni di computer collegati fra di loro attraverso.
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Oggetti e dati primitivi
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Approfondimento delle classi
CAPITOLO 4 LINGUAGGIO JAVA: COSTRUTTI DI BASE. ALFABETO Java adotta la codifica standard Unicode della società Unicode, Inc. (ftp://ftp.unicode.org) definito.
Dichiarazioni e tipi predefiniti nel linguaggio C
Fondamenti di Informatica A - Massimo Bertozzi TIPI DI DATO IN C++ What's in a name? That which we call a rose By any other name would smell as sweet.
Il Linguaggio C.
Java base I: Sintassi e tipi di dati
Programmazione in Java
Programmazione in Java Claudia Raibulet
4 Tipi di dati & variabili
JAVA Franco Bombi 8 ottobre FB Introduzione Java è un linguaggio di impiego generale, basato su classi e orientato agli oggetti Java.
CODIFICA Da flow-chart a C++.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Tipi di dati elementari
Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.
Sintassi base e struttura di un programma
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
1 Numeri interi e numeri in virgola mobile F. Bombi 2 6 novembre 2003.
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Le variabili in Java Nella programmazione tradizionale, una variabile è una porzione di memoria in cui è immagazzinato un certo tipo di dato. Per esempio.
Corso di Algoritmi e Strutture Dati con Laboratorio A.A. 2014/15 Lezioni 1-2.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Ripetizione La vera potenza dei programmi per computer risiede nella capacità di ripetere lo stesso calcolo o sequenza di istruzioni più volte, ogni volta.
JavaScript Generalità Cos'è JavaScript?
Tipi primitivi in java tipodefaultmem.daa booleanfalse1 bittrue false char'\u0000'16 bit byte08 bit short016 bit int032 bit-2^312^31-1.
1 Corso di Informatica (Programmazione) Lezione 8 (7 novembre 2008) Programmazione in Java: operatori aritmetici, operatori di assegnamento e cast.
Introduzione a Javascript
Vettori (a una dimensione)
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Programmazione in Java
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Informatica 6 Tipi di dato. Nelle celle di memoria di un calcolatore ci sono solo “0” e “1”, fisicamente realizzati tramite due diversi livelli di tensione.
Sommario Oggetti immutabili e non Tipi Primitivi: String, Arrays.
Rappresentazione dell'informazione
La codifica dei numeri.
Conversione binario-ottale/esadecimale
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Rappresentazione dei numeri
Corso di Algoritmi e Strutture Dati con Laboratorio Richiami di Java – parte II.
28/12/2001package 1 Package Pacchetti e interfacce.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Introduzione alle Classi e agli Oggetti in Java 1.
Appunti su formati numerici. Tipi numerici Il C dispone di due tipi numerici: tipi interi e tipi reali; I tipi reali sono anche detti floating, ovvero.
Transcript della presentazione:

Lezione 2 : Basi del linguaggio Variabili

Come visto nella lezione 1 le classi registrano il proprio stato nelle variabili  int cadenza = 0;  int velocita = 0;  int marcia = 1; Quali sono le regole e le convenzioni per la nomenclatura dei campi ? Apparte int, quali altri tipi di dati esistono ? I campi devono essere inizializzati ? Esiste un valore di default ?

Variabili Il linguaggio Java definisce questi tipi di variabili :  Variabili di istanza ( instance variables )  Variabili di classe ( class variables )  Variabili locali ( local variables )  Parametri

Variabili di istanza ( instance variables ) Campi non statici Gli oggetto registrano il proprio stato in campi non statici ( campi dichiarati senza la parola chiave static ) Il loro valore è univoco per ogni istanza della classe ( per ogni oggetto )  es. : la velocità corrente di una bicicletta è indipendente dalla velocità di un'altra

Variabili di classe ( class variables ) Campi statici ( modificatore static ) Dice al compilatore che esiste esattamente una copia di questa variabile indipendentemente dal numero di istanze della classe Es. il numero di marce di una bicicletta ( o meglio del modello di una bicicletta ) potrebbe essere dichiarato static  static int numGears = 6 Si potrebbe aggiungere il modificatore final per indicare che la variabile non può mai cambiare ( ad esempio se stiamo definendo un particolare modello di bicicletta )

Variabili locali ( local variables ) Sono definite a livello di metodo Come una oggetto registra il proprio stato in delle variabili di classe, un metodo tiene traccia dello stato in delle variabili locali Non esiste un modificatore che definisce una variabile come locale... solo il contesto : fra la parentesi aperta '{' e chiusa '}' di un metodo ( o di un 'ciclo' ) Non hanno visibilità all'esterno del metodo

Parametri Sono vere e proprie variabili che vengono passate ( per valore ) a un metodo. Sono visibili solo all'interno del metodo

Naming convention I nomi di variabili ( come delle classi ) sono case sensitive  int a è diverso da int A Sono valide tutte le combinazioni di caratteri Unicode che cominciano per lettera, numero, $ e _ La convenzione dice di usare, come primo carattere, una lettera, non numeri o $ o _.... ma è una convenzione Come convenzione, il carattere $ non è mai usato Gli spazi non sono autorizzati A partire dal secondo carattere si può utilizzare qualsiasi lettera, numero o simbolo, escluso lo spazio Utilizzare nomi completi  int marcia piuttosto che int m Un nome di variabile non può essesre una keyword del linguaggio Se il nome di variabile è composto da una sola parola, utilizzare le minuscole, se è composto da + parole usare la maiuscola per il primo carattere di ogni parola successiva alla prima Se è una costante, utilizzare le maiuscole e '_' come separatore

Naming convention Esempio :  int marcia = 1;  int marciaCorrente = 1;  final int NUMERO_MARCE = 6;

Java Language Keywords abstract continue for new switch assert*** default goto* package synchronized boolean do if private this break double implements protected throw byte else import public throws case enum**** instanceof return transient catch extends int short try char final interface static void class finallylong strictfp** volatile const* float native super while *not used **added in 1.2 ***added in 1.4 ****added in 5.0

Variabili Il linguaggio Java è fortemente tipato :  ogni variabile deve essere dichiarata prima di essere usata Questo comporta dichiarare :  tipo di dato  nome della variabile es: int marcia = 1;  esiste una variabile che si chiama 'marcia'  contiane un valore numerico (intero)  il suo valore iniziale è 1

Variabili Il linguaggio Java supporta i tipi di dato primitivi Un tipo primitivo è un tipo di dato definito all'interno del linguaggio E' indicato da una keyword I valori “primitivi” non condividono lo stato con altri valori primitivi ( a differenza degli oggetti )

Variabili I tipi primitivi supportati sono :  byte: 8-bit signed complemento a due. Valore minimo di -128 massimo 127 (inclusi).  short: 16-bit signed complemento a due ( intero ). Valore minimo -32,768 massimo 32,767 (inclusi).  int: 32-bit signed complemento a due ( intero ). Valore minimo -2,147,483,648 massimo 2,147,483,647 ( inclusi )  long: 64-bit signed complemento a due (intero). Valore minimo - 9,223,372,036,854,775,808 massimo 9,223,372,036,854,775,807 (inclusi).  float: single-precision 32-bit IEEE 754 floating point. Da non usare per valori precisi come “currency” Usare java.math.BigDecimal.  double: double-precision 64-bit IEEE 754 floating point. Generalmente la scelta di default per i dati decimali  boolean: Solo due possibili valori = vero o falso  char: single 16-bit Unicode character. Valore minimo '\u0000' (o 0) massimo '\uffff' (o 65,535 inclusi).

Nota : il complemento a due l complemento a due è il metodo più diffuso per la rappresentazione dei numeri relativi in informatica. Esso è inoltre una operazione di negazione (cambiamento di segno) nei computer che usano questo metodo. La sua enorme diffusione è data dal fatto che i circuiti di addizione e sottrazione non devono esaminare il segno di un numero rappresentato con questo sistema per determinare quale delle due operazioni sia necessaria, permettendo tecnologie più semplici e maggiore precisione. Il bit iniziale (più a sinistra) del numero ne indica il segno: se è 0, il numero è un numero binario in forma normale; se è 1, il numero è negativo, e se ne ottiene il valore assoluto invertendo il valore dei singoli bit e aggiungendo 1 al numero binario risultante. Un numero binario di 8 cifre può rappresentare con questo metodo i numeri compresi tra -128 e Questo metodo consente di avere un'unica rappresentazione dello zero, e di operare efficientemente addizione e sottrazione sempre avendo il primo bit a indicare il segno.

Variabili Caso particolare : java.lang.String Le stringhe sono immutabili Per creare una variabile di tipo String basta racchiudere il suo valore tra doppi apici  String stringa = “questa è una stringa”;  stringa = “questa è un'altra stringa”;

Variabili I valori di default :  byte = 0  short = 0  int = 0  long = 0L  float = 0.0f  double = 0.0d  char = '\u0000'  String (o un oggetto ) = null  boolean = false Alle variabili locali non viene assegnato un valore di default.

Variabili I “Literals” Quando si dichiarano delle variabili di tipo “primitivo” non si usa la keyword new ma gli si assegna un valore literal Un valore literal è computato direttamente dal compilatore es :  boolean result = true;  char capitalC = 'C';  byte b = 100;  short s = 10000;  int i = ;

Variabili I valori numerici interi possono essere espressi usando il sistema  decimale  ottale  esadecimale es :  int decVal = 26; // Il numero 26, in decimale  int octVal = 032; // Il numero 26, in ottale  int hexVal = 0x1a;// Il numero 26, in esadecimale

Variabili I valori numerici floating point ( float e double ) possono essere espressi usando la notazione  decimale  scientifica  float literal ( 32 bit )  decimal literal ( 64 bit ) Es. :  double d1 = 123.4;  double d2 = 1.234e2; // come d1, ma notazione scientifica  float f1 = 123.4f;

Variabili I valori char literal e String literal possono essere espressi come caratteri Unicode (UTF-16) Se l'editor o il file system non supporta questa notazione si possono utilizzare le sequesze di escape unicode '\u' Si usa l'apice singolo (') per i char e il doppio apice (“) per i tipi String es.  char capitalC = '\u0108'; // C  String siSegnor = "S\u00ED Se\u00F1or"; //Sí Señor

Variabili Il linguaggio, inoltre, supporta sequenze di escape per alcuni caratteri speciali : \b (backspace) \t (tab) \n (line feed) \f (form feed) \r (carriage return) \" (doppio apice) \' (singolo apice) \\ (backslash).

Variabili null literal  si assegna a qualsiasi tipo di variabile che non sia un tipo primitivo class literal  E' il nome della classe a cui si appende “.class”  Fà riferimento all'oggetto di tipo Class che si riferisce a se stesso :  es. Class string = String.class; string si riferisce a un classe String string è un oggetto di tipo Class