TIPURI DE CLASE
In afara celor opt tipuri de baza o variabila poate fi de tip clasa :
String numeDeFamilie="Popescu";
Culoare par;
Atunci cand o variabila are drept tip o clasa inseamna ca variabila refera un obiect al clasei respective sau al uneia dintre subclasele sale . Referirea la o superclasa ca tip de variabila este folositoare atunci cand variabila poate fi una dintre mai multe subclase diferite .
Declararea unei variabile de tip Object inseamna ca poate stoca orice obiect .
OBS : Java nu are un echivalent al instructiunii typedef din C . Pentru a declara noi tipuri in Java se declara o noua clasa iar variabilele pot folosi aceasta clasa drept tip .
Dupa ce o variabila a fost declarata I se poate da o valoare folosind operatorul de atribuire , " = " :
idCod=8546;
imbracatRapid=false;
COMENTARII
Una dintre metodele cele mai importante de crestere a lizibilitatii unui program este folosirea comentariilor .
Comentariile reprezinta informatii introduse intr-un program doar in ajutorul persoanelor care incearca sa-si dea seama ce anume se intampla in program . Compilatorul Java ignora total comentariile atunci cand pregateste versiunea executabila a fisierului sursa Java .
Exista trei tipuri diferite de comentarii pe care le putem utiliza in programele Java .
Prima modalitate de a introduce comentarii in program este de a il prefixa cu doua simboluri slash " // " . Orice incepe dupa aceste semne si pana la sfarsitul liniei este considerat comentariu :
int oreCredit=3; // defineste orele de credit pentru curs
Daca dorim sa introducem un comentariu care ocupa mai mult de un rand trebuie sa incepem cu combinatia " /* " si sa incheiem cu combinatia " */ " .
Ultimul tip de comentariu este proiectat pentru a fi interpretabil si de catre calculator . Daca incepem comentariul cu " /** " si il incheiem cu " */ " atunci comentariul este interpretat ca reprezentand documentatia originala referitoare la functionarea clasei si a metodelor sale publice .
Acest tip de comentariu poate fi citit de utilitare ca JAVADOC din pachetul JDK . Acest utilitar foloseste aceste comentarii pentru a crea un set de pagini web care documenteaza programul , ierarhia sa de clase si metodele .
LITERALE
Literalele sunt numerele , textul si alte informatii care reprezinta direct o valoare .
Mai explicit , literalele reprezinta un termen apartinand programarii , care inseamna de fapt ca ceea ce tastam este ceea ce vom obtine .
Java are mai multe literale pentru intregi . Numarul 4 de exemplu este un literal pentru tipul int . El poate fi atribuit de asemenea variabilelor byte sau short deoarece el este suficient de "mic" si pentru aceste doua tipuri . Un literal intreg mai mare decat poate stoca o variabila int este considerat automat ca avand tipul long . Putem indica faptul ca un literal este un intreg de tip long prin adaugarea sufixului L ( sau l ) . De exemplu urmatoarea instructiune stocheaza valoarea 4 intr-un intreg de tip long :
long totalPagini=4L;
Pentru a reprezenta o valoare negativa putem folosi literalul impreuna cu semnul minus ( " - " ) .
In Java putem folosi si literali in sistem octal sau hexazecimal . Pentru a folosi un literal intreg in octal trebuie sa il prefixam cu cifra 0 ; numarul octal 777 trebuie astfel scris ca 0777 . Intregii hexazecimali se folosesc prefixati cu 0x - ca de exemplu 0xFF .
Literalele in virgula mobila folosesc caracterul punct pentru punctul zecimal . Toate literalele in virgula mobila sunt automat considerate de tip double . Pentru a specifica tipul float adaugam F ( sau f ) - ca mai jos :
float valoarePi=3.1415F;
Putem folosi si exponenti in literalele de virgula mobila folosind litera E ( sau e ) urmata de exponent :
double x=12e22;
doube y=19E-70;
Literalele caracter sunt exprimate printr-un singur caracter incadrat de ghilimele simple : 'a' , '#' sau '3' .
Unele caractere literale reprezinta caractere care nu sunt tiparibile sau accesibile pe tastatura . Mai jos vom vedea coduri speciale care pot reprezenta aceste caractere speciale :
- \n = new line ( linie noua )
- \t = tab
- \b = backspace
- \r = revenire la capat de rand ( carriage return )
- \f = formfeed ( salt la pagina noua )
- \\ = semnul \
- \' = ghilimele simple
- \" = ghilimele duble
- \_ = octal
- \x_ = hexazecimal
- \u_ = caracter unicode ( standard pe 16 biti spre deosebire de ASCII standard care presupune doar 128 de caractere )
In cazul ultimelor trei coduri se va inlocui in practica semnul " _ " cu un numar sau o cifra hexazecimala .
Ultimele literale pe care le putem folosi intr-un program Java sunt sirurile de caractere . Unsir ( string ) in Java este un obiect si nu un tip de date primar . Sirurile nu sunt pastrate in tablouri ( ca in C de exemplu ) . Deaorece sirurile sunt obiecte Java avem si metode care pot fi folosite pentru combinarea si modificarea sirurilor precum si pentru a determina daca doua siruri au aceeasi valoare .
Literalele sir constau dintr-o serie de caractere incadrate intre ghilimele duble :
String autor="Ion Popescu";
String parola="password";
Sirurile pot contine si caractere speciale - prezentate anterior :
String exemplu="Text intre ghilimele \"CITAT\"";
System.out.println("Primul rand \n Al doilea rand");
String titlu="Invatati singuri Java\u2122";
In ultima instructiune , secventa \u2122 produce simbolul " TM " ( pe sistemele configurate sa suporte Unicode ) .
Atunci cand se foloseste un literal sir Java stocheaza valoarea sa ca obiect String . Nu trebuie sa cream explicit un nou obiect - ca in cazul celorlalte obiecte cu care vom lucra - deci este la fel de usor de lucrat cu acest tip ca si cu tipurile primare . Sirurile sunt diferite in ceea ce priveste acest aspect - nici unul dintre tipurile primare nu sunt pastrate ca obiecte atunci cand sunt folosite .
EXPRESII SI OPERATORI .
O expresie reprezinta o instructiune care produce o valoare . Cele mai folosite expresii sunt cele matematice - ca in continuare :
int x=3;
int y=4;
int z=x*y;
Ultima instructiune dintre cele de mai sus este o expresie . Operatorul de multiplicare * este folosit pentru inmultirea dintre x si y iar rezultatul produs de expresie va fi pastrat intr-o variabila z de tip intreg .
Valoarea produsa de o expresie este numita si valoare de retur . Aceasta valoare poate fi atribuita unei variabile si folosita in diferite feluri in programele noastre .
Operatorii reprezinta simboluri speciale folosite in functii matematice , in unele tipuri de instructiuni de atribuire sau in comparatii logice .
OPERATII ARITMETICE
In Java exista cinci operatori folositi pentru operatiile aritmetice de baza :
" + " Adunare
" - " Scadere
" * " Inmultire
" / " Impartire
"% " Modulo
Fiecare operator de mai sus foloseste cate doi operanzi - cate unul de fiecare parte a operatorului . Operatorul de scadere " - " poate fi folosit si pentru a nega un singur operator .
Un lucru care merita atentie sporita in ceea ce priveste operatorul de impartire este tipul operanzilor folositi . Daca stocam rezultatul unei impartiri intr-un intreg acesta va fi rotunjit la un numar intreg pentru ca tipul int nu poate lucra cu valori in virgula mobila . De exemplu expresia 21 / 5 are rezultatul 4 daca acesta este stocat intr-un int .
Impartirea modulo ( " % " ) produce ca rezultat restul impartirii . In expresia 21 / 5 rezultatul pe care il vom obtine va fi 1 .
In general majoritatea operatiilor aritmetice cu intregi produc un rezultat de tip int indiferent de tipul initial al operanzilor . Daca lucram cu alte tipuri - numere in virgula mobila sau intregi long - trebuie sa ne asiguram ca operanzii au acelasi tip cu cel la care vrem sa ajungem .
Mai jos avem prezentat un exemplu care integreaza folosirea tuturor operatorilor aritmetici :
class Amoeba
}
Comentand pe scurt aceasta aplicatie Java extrem de simpla observam ca in liile 3- 5 se creaza trei variabile ce primesc in acelasi timp si valori initiale ; variabilele x si y sunt declarate de tipul int iar variabila a este declarata numar in virgula mobila float - deoarece tipul predefinit in Java pentru numere in virgula mobila este double trebuie sa adaugam sufixul f la sfarsitul literalului pentru a indica ( si forta ) tipul float .
In cadrul programului apare in mai multe instructiuni sintagma " System.out.println " ; Aceasta metoda este folosita in aplicatii pentru a afisa siruri si in general informatii pe dispozitivul standard de iesire - in cele mai multe cazuri ecranul .
System.out.println() preia un singur argument ( intre paranteze ) : un sir . Pentru a prezenta mai mult de o variabila sau un literal ca argument pentru println() se poate folosi operatorul + , pentru a concatena aceste elemente intr-un singur sir .