Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
87 views

Introducere in Java

This document provides an introduction to the Java programming language, including what Java is, its structure and syntax, data types, variables, flow control, arrays, strings, and command line arguments. Some key points covered include: - Java is an object-oriented programming language created by Sun Microsystems in 1995. It uses a write once, run anywhere approach and is widely used for web and mobile applications. - The Java language has features like simplicity, robustness, security, portability and is both compiled and interpreted. - There are different Java platforms for different applications - J2SE, J2ME, J2EE. - Java supports primitive data types, classes, interfaces, arrays and

Uploaded by

Andy Zan
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
87 views

Introducere in Java

This document provides an introduction to the Java programming language, including what Java is, its structure and syntax, data types, variables, flow control, arrays, strings, and command line arguments. Some key points covered include: - Java is an object-oriented programming language created by Sun Microsystems in 1995. It uses a write once, run anywhere approach and is widely used for web and mobile applications. - The Java language has features like simplicity, robustness, security, portability and is both compiled and interpreted. - There are different Java platforms for different applications - J2SE, J2ME, J2EE. - Java supports primitive data types, classes, interfaces, arrays and

Uploaded by

Andy Zan
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Introducere n Java Ce este Java ?

? Primul program Structura lexical a Tipuri de date Variabile Controlul execut iei Vectori S iruri de caractere Argumente de la linia de comanda a

Ce este Java ? Limbaj de programare Platform a de lucru Sun Microsystems 1995 James Gosling Duke

Limbajul de programare Java Simplitate U surint a n crearea de aplicat ii complexe Robustet e - pointeri, administrarea automat a a memoriei, GC Complet orientat pe obiecte Securitate Neutralitate arhitectural a Portabililtate Compilat si interpretat Performant a Modelat dup aC si C++

Platforme de lucru Java J2SE (Standard Edition) Aplicat ii independente, appleturi, Java Web Start J2ME (Micro Edition) Programarea dispozitivelor mobile J2EE (Enterprise Edition) Aplicat ii complexe, pe mai multe nivele pentru sisteme eterogene, cu baze de date distribuite, etc. Aplicat ii si servicii Web: servleturi, pagini JSP, etc. Distribut iile Java sunt oferite gratuit http://java.sun.com J2SE 1.5 SDK (Tiger)

Compilat si interpretat Limbajele de programare: Interpretate + : simplitate, portabilitate - : viteza de execut ie redus a Compilate + : execut ia extrem de rapid a - : lipsa portabilit a tii Java: compilat + interpretat Compilator: surse - cod de octet i Interpretor: execut a codul de octet i Cod octet i = Cod ma sin a Cod ma sin a - procesor Cod octet i - JVM JVM = Java Virtual Machine
5

Primul program 1. Scriererea codului surs a


class FirstApp { public static void main( String args[]) { System.out.println("Hello world!"); } }

2. Salvarea sierelor surs a


C:\intro\FirstApp.java

3. Compilarea aplicat iei javac FirstApp.java va rezulta: FirstApp.class 4. Rularea aplicat iei java FirstApp
6

Structura lexical a Setul de caractere: Unicode nlocuie ste ASCII Un caracter se reprezint a pe 2 octet i Cont ine 65536 de semne Compatibil ASCII : primele 256 caractere sunt cele din ASCII Este structurat n blocuri: Basic Latin, Greek, Arabic, Gothic, Currency, Mathematical, Arrows, Musical, etc. \uxxxx \u03B1 - \u03C9: http://www.unicode.org
7

Cuvinte cheie Cuvintele rezervate sunt, cu c ateva except ii, cele din C++.
abstract boolean break byte case catch char class const* continue default do double else extends final finally float for goto* if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while

Incep and cu 1.5: enum.

Literali Intregi (10, 16 -0x, 8-0) Flotant i: 1.0, 2e2, 3f, 4D Logici: true, false Caracter: J, a, v, a, \n S iruri de caractere: Duke

Separatori () [];,.

Operatori atribuirea: = matematici: +, -, *, /, %, ++, -lval op= rval: x += 2 n -= 3 x++, ++x, n--, --n logici: &&(and), ||(or), !(not) relat ionali: <, <=, >, <=, ==, != pe bit i: &(and), |(or), ^ (xor), ~ (not) de translat ie: <<, >>, >>> (shift la dreapta f ar a semn) if-else: expresie-logica ? : val-false
10

val-true

operatorul , (virgul a) folosit pentru evaluarea secvent ial a a operat iilor: int x=0, y=1, z=2; operatorul + pentru concatenarea sirurilor
String s1="Ana"; String s2="mere"; int x=10; System.out.println(s1 + " are " + x + " " + s2);

operatori pentru conversii (cast) : (tip-de-data)


int a = (int)a; char c = (char)96; int i = 200; long l = (long)i; //widening conversion long l2 = (long)200; int i2 = (int)l2; //narrowing conversion

11

Comentarii Exist a trei feluri de comentarii: Comentarii pe mai multe linii, nchise ntre /* si */. Comentarii pe mai multe linii care tin de documentat ie, nchise ntre /** si */. Textul dintre cele dou a secvent e este automat mutat n documentat ia aplicat iei de c atre generatorul automat de documentat ie javadoc. Comentarii pe o singur a linie, care incep cu //.

12

Tipuri de date Tipuri primitive - Tipuri referint a. Tipurile primitive sunt: aritmetice ntregi: byte (1 octet), short (2), int (4), long (8) reale: float (4), double (8) caracter: char (2) logic: boolean (true si false) Vectorii, clasele si interfet ele sunt tipuri referint a. Nu exist a: pointer, struct si union.

13

Variabile Declararea variabilelor: Tip numeVariabila; Init ializarea variabilelor: Tip numeVariabila = valoare; Declararea constantelor: final Tip numeVariabila;
final double PI = 3.14; int valoare = 100; long numarElemente = 12345678L; String bauturaMeaPreferata = "apa";

a. Variabile membre b. Parametri metodelor c. Variabile locale, declarate ntr-o metod a d. Variabile locale, declarate ntr-un bloc e. Parametrii de la tratarea except iilor
14

class Exemplu { int a; public void metoda(int b) { a = b; int c = 10; for(int d=0; d < 10; d++) { c --; } try { a = b/c; } catch(ArithmeticException e) { System.err.println(e.getMessage()); } } }

15

Controlul execut iei Instruct iuni de decizie: if-else, switch-case Instruct iuni de salt: for, while, do-while Instruct iuni pentru tratarea except iilor: try-catch-finally, throw Alte instruct iuni: break, continue, return, label:

16

Instruct iuni de decizie if-else


if (expresie-logica) { ... } if (expresie-logica) { ... } else { ... }

switch-case
switch (variabila) { case valoare1: ... break; case valoare2: ... break; default: ... }
17

Instruct iuni de salt for


for(initializare; expresie-logica; pas-iteratie) { //Corpul buclei } for(int i=0, j=100 ; i < 100 && j > 0; i++, j--) { ... }

while
while (expresie-logica) { ... }

do-while
do { ... } while (expresie-logica);
18

Alte instruct iuni break continue return [valoare] numeEticheta: Nu exist a goto Pot denite etichete folosite astfel: break numeEticheata continue numeEticheta

19

Exemplu de folosire a etichetelor


i=0; eticheta: while (i < 10) { System.out.println("i="+i); j=0; while (j < 10) { j++; if (j==5) continue eticheta; if (j==7) break eticheta; System.out.println("j="+j); } i++; }

20

Vectori Declararea Tip[] numeVector; sau Tip numeVector[]; Instant ierea numeVector = new Tip[nrElemente]; Init ializarea (opt ional)
String culori[] = {"Rosu", "Galben"}; v = new int[10]; //aloca spatiu pentru 10 intregi: 40 octeti c = new char[10]; //aloca spatiu pentru 10 caractere: 20 octeti

Declararea si instant ierea pot f acute simultan:


Tip[] numeVector = new Tip[nrElemente];

21

Tablouri multidimensionale Tablou multidimensiona = vector de vectori.


Tip matrice[][] = new Tip[nrLinii][nrColoane]; matrice[i] este linia i a matricii si reprezinta un vector cu nrColoane elemente iar matrice[i][j] este elementul de pe linia i si coloana j .

Dimensiunea unui vector Variabila length:


int []a = new int[5]; // a.length are valoarea 5 int m[][] = new int[5][10]; // m[0].length are valoarea 10

22

Copierea vectorilor
int a[] = {1, 2, 3, 4}; int b[] = new int[4]; // Varianta 1 for(int i=0; i<a.length; i++) b[i] = a[i]; // Varianta 2 System.arraycopy(a, 0, b, 0, a.length); // Nu are efectul dorit b = a;

23

Sortarea vectorilor - clasa Arrays Metode din java.util.Arrays: sort - (QuickSort -O(n log (n)))
int v[]={3, 1, 4, 2}; java.util.Arrays.sort(v); // Sorteaza vectorul v // Acesta va deveni {1, 2, 3, 4}

binarySearch equals ll Vectori cu dimensiune variabil a si eterogeni: Vector, ArrayList, etc. din pachetul java.util.

24

S iruri de caractere char[] String StringBuer


String s = "abc"; String s = new String("abc"); char data[] = {a, b, c}; String s = new String(data);

Concatenarea: +
String s1 = "ab" + "cd"; String s2 = s1 + 123 + "xyz"

Testarea egalit a tii: equals


if (nume.equals("duke")) { ... }

25

Argumente de la linia de comand a Trimiterea argumentelor


java NumeAplicatie [arg0 arg1 . . .] java Test Java "Hello Duke" 1.5

Primirea argumentelor
public static void main (String args[]) /* args[0] va fi primul argument trimis: "Java" args[1] va fi urmatorul argument: "Hello Duke" ... */

Num arul argumentelor


public static void main (String args[]) { int numarArgumente = args.length ; }

26

Exemplu
public class Salut { public static void main (String args[]) { if (args.length == 0) { System.out.println( "Numar insuficient de argumente!"); System.exit(-1); //termina aplicatia } String nume = args[0]; //exista sigur String prenume; if (args.length >= 1) prenume = args[1]; else prenume = ""; //valoare implicita System.out.println("Salut " + nume + " " + prenume); } }

27

A sarea argumentelor
public class Afisare { public static void main (String[] args) { for (int i = 0; i < args.length; i++) System.out.println(args[i]); } }

java Asare Hello Java


Hello Java

java Asare Hello Java


Hello Java

28

Argumente numerice Argumentele de la linia de comand a sunt siruri de caractere Transformarea sir - num ar se face cu metode de tipul: Integer.parseInt Double.parseDouble Float.parseFloat ...
public class Power { public static void main(String args[]) { double numar = Double.parseDouble(args[0]); int putere = Integer.parseInt(args[1]); System.out.println("Rezultat=" + Math.pow(numar, putere)); } }
29

Adrese utile www.java.com Toat a lumea www.java.net Comunitate java.sun.com Dezvoltatori jguru.com Cursuri jars.com Resurse javaworld.com, javareport.com Articole javaalmanac.com Exemple de cod google:java
30

You might also like