You are on page 1of 12

RESUM DE JAVA

Estructura d’un programa basic en JAVA:

package nomPaquet;

import nomLlibreria;

public class nomDelPrograma {

// aquí hi van els mètodes que es criden des del mètode main (programa
principal)

public static void main(String[] args) {


// aquí hi van les instruccions del programa principal
}

Coses a tenir en compte al programaren JAVA:


1. És case-sensitive, això vol dir que distingeix ente majúscules i minúscules.
No és el mateix IF que if.
2. IDENTAR: sinònim de tabular. Les tabulacions són importants per delimitar l’àmbit del
mètode i de la sentència que s’està executant.
Un programa mal identat és un mal programa.
3. Els programes han de contenir els COMENTARIS, explicacions necessàries per
entendre què fan. Un programa sense comentaris és inadmissible per què si cal
revisar-lo costa molt saber què fa, com i per què.

Sortida per pantalla:

System.out.print("Missatge que es vol imprimir");  Mostra el


missatge on està el cursor a la consola i el cursor es queda on acaba el missatge

System.out.print("Missatge que es vol imprimir");  Mostra el


missatge a la consola i després fa un salt de línia

Dins dels parèntesis es poden concatenar


cadenes de caràcters i fins i tot barrejar-ho
amb números i caràcters d’escapament. El
l’operador per concatenar cadenes és +

Com que l’operador de suma també és el +,


dins d’un print si volem mostrar una suma
l’hem de posar entre parèntesi.

System.out.println("Resultat: "+(4+5));  mostra Resultat: 9


Generalitat de Catalunya 28/03/2019 Arxiu Model intern
Departament d’Educació 1 de 12
Institut Baix Camp versió 4 Elaborat Cap d'estudis Codi MO-CAP013
RESUM DE JAVA

System.out.println("Resultat: "+4+5);  mostra Resultat: 45

En un print totes les cadenes van entre “ “, els números i les VARIABLES NO.

Exemple de misssatge de sortida complex:

System.out.println("\tAvui és " + diaAct + "/" + mesAct + "/" +


anyAct + "\n Tenim " + (18-mesAct) + " mesos de curs per davant,
estem molt il·lusionats i tenim moltíiiiissimes ganes de
treballar.");

 diaAct, mesAct, anyAct són VARIABLES


 18 és un LITERAL numèric per això no va entre ” i els textos també són LITERALS de
tipus String (cadena de caràcters) però per ser textos van sempre entre “ “.

Tipus de dades primitius:

● byte . Nombres enters "molt curts" de 8 bits.

● short . Nombres enters "curts" de 16 bits.

● int . Nombres enters de 32 bits.

● long . Nombres enters "llargs" de 64 bits.

● float . Nombres reals de 32 bits. Precisió simple.

● double . Nombres reals de 64 bits. Precisió doble.

● boolean . Valors de veritat o falsedat; només pot ser true o false.

● char . Caràcters de 16 bits. Els valors van entre cometes simples (‘a’)

Els caràcters d’escapament són caràcters  van entre cometes simples i


s’identifiquen per tenir davant una barra invertida (‘\n’)

● String. Cadena de caràcters (no és un tipus de dades primitiu; és una classe i té


mètodes propis). Els valors van entre cometes dobles “això és un string”

Entrada de dades:
Cal posar al principi del programa principal la següent instrucció;

Generalitat de Catalunya 28/03/2019 Arxiu Model intern


Departament d’Educació 2 de 12
Institut Baix Camp versió 4 Elaborat Cap d'estudis Codi MO-CAP013
RESUM DE JAVA

Scanner teclat = new Scanner(System.in);

(Scanner és una classe que està a la llibreria java.util.Scanner per tant cal fer l’import.)

Operadors Aritmètics:

● Operadors aritmètics. Els operands són nombres i el resultat també ho és:

○ Operadors binaris:

■ Suma / resta / multiplicació / divisió "+", "-", "*", "/". L'operador


"+" també es pot fer servir per a la concatenació decadenes:
(strings): "Quin bon dia "+"que fa avui" retorna la cadena "Quin
bon dia que fa avui".

■ Mòdul "%". L'avaluació de n1%n2 retorna el residu de la divisió entera


de n1 entre n2. Així 25%5 retorna 0 i 17%4 retorna 1.

○ Operadors unaris:

■ Canvi de signe "-".

■ Increment / decrement "++" / "--". L'expressió n++ és equivalent a


n=n+1 i l'expressió n-- és equivalent a n=n-1.

Operadors Relacionals:
● Són tots binaris. El resultat és boolean.

○ Igualtat / diferència "==" / "!="


L'expressió !(exp1==exp2) és equivalent a l'expressió exp1!=exp2 .

○ Ordre ">", ">=", "<=", "<". Les expressions 3>2, 3<=3, -5<4 i 4<=2002 són
true, mentre que 5<=4 és false.

Operadors Lògics: S’avaluen com a boolean, i el resultat és un boolean

● Negació "!" . Si exp és true, llavors !exp és false.

● Conjunció "&&". L'expressió exp1 && exp2 només és true si exp1 i exp2 són
true les dues. En qualsevol altre cas, és false.

● Disjunció "||". L'expressió exp1 || exp2 només és false si exp1 i exp2 són
false les dues. En qualsevol altre cas, és true.

Generalitat de Catalunya 28/03/2019 Arxiu Model intern


Departament d’Educació 3 de 12
Institut Baix Camp versió 4 Elaborat Cap d'estudis Codi MO-CAP013
RESUM DE JAVA

A B A&&B A||B !A

0 0 0 0 1

0 1 0 1 1

1 0 0 1 0

1 1 1 1 0

ATENCIÓ!!:

! (A&&B)= !A || !B

! (A||B)= !A && !B

Operadors d'assignació:

○ L'operador fonamental "="


Al avaluar l'expressió op1=op2 , op1 pren el valor que tingui op2.

○ Operadors d'abreviació "+=", "-=", "*=", "/=", "%=".


L'expressió n1+=n2 és equivalent a n1=n1+n2.
De la mateixa manera, n1/=n2 és equivalent a n1=n1/n2.

Prioritat per a l'ordre de les operacions:

● de més a menys prioritaris

○ Parèntesis.
○ Multiplicació i divisió.
○ Suma i resta.

Sentències condicionals:

● Sentència if/else

Aquest és el control bàsic de flux de programes. El tancament else és opcional.

if ( <expressió lògica> ) {
<el que sigui>;
} else {
<el que sigui>;
}

Generalitat de Catalunya 28/03/2019 Arxiu Model intern


Departament d’Educació 4 de 12
Institut Baix Camp versió 4 Elaborat Cap d'estudis Codi MO-CAP013
RESUM DE JAVA

Exemple:

if (numero % 2 == 0)
System.out.println("El número es par");
else
System.out.println("El número es impar");

● Sentència if/else if

if (condició-1) {
bloc-sentències-condició-1
} else if (condició-2) {
bloc-sentències-condició-2
} else {
bloc-sentències-else
}

Exemple: Per a mostrar la qualificació d’un alumne, es necessari avaluar les condicions que
s’indiquen a continuació:

Qualificació Descripció
10 Matrícula d’ Honor
9 Excel·lent
7, 8 Notable
6 Be
5 Aprovat
0,1,2,3,4 Suspens

int calificacion = 7;
if (calificacion == 10) {
System.out.println("Matrícula de Honor");
} else if (calificacion == 9) {
System.out.println("Sobresaliente");
} else if (calificacion >= 7) {
System.out.println("Notable");
} else if (calificacion == 6) {
System.out.println("Bien");
} else if (calificacion == 5) {
System.out.println("Aprobado");
} else {
System.out.println("Suspenso");
}

● Sentència switch
Generalitat de Catalunya 28/03/2019 Arxiu Model intern
Departament d’Educació 5 de 12
Institut Baix Camp versió 4 Elaborat Cap d'estudis Codi MO-CAP013
RESUM DE JAVA

switch( <expressió> ) {
case valor1:
<el que sigui>;
break;
case valor2:
<el que sigui>;
break;
[default:
<el que sigui>;]
}

Exemple: Suposem que segons una dada C (categoría) em de donar els següents resultats
‘C’ -> consultor Junior
‘B’ -> consultor Senior
‘A’ -> Soci

switch (categoriaProfesional) {
case 'A': System.out.print("Soci ");
case 'B': System.out.print("Senior ");
case 'C': System.out.print("Junior ");
default: System.out.print("¡Indefinida! ");
}

Generalitat de Catalunya 28/03/2019 Arxiu Model intern


Departament d’Educació 6 de 12
Institut Baix Camp versió 4 Elaborat Cap d'estudis Codi MO-CAP013
RESUM DE JAVA

Sentències iteratives (repetitives):

● Sentència while

while (condicional) {
<el que sigui>;
<iteració>;
}

● Sentència for

for (<inicialitació>; <condició>; <iteració>){


<el que sigui>;
}

● Sentència do while

do {
<el que sigui>;
[ <iteració>; ]
} while ( <expressió condicional> );

● Algoritme de Recorregut

Un recorregut d’una seqüència de valors implica fer un tractament idèntic a tots els seus membres.

// inicialització per al processament de la seqüència

// (pot incloure el tractament del primer element

while(!final de seqüència) {

// tractar l’element

// avançar següent de la seqüència

//acabament del processament de la seqüència

// (pot incloure el tractament de l’últim element)

● Algoritme de Cerca
Generalitat de Catalunya 28/03/2019 Arxiu Model intern
Departament d’Educació 7 de 12
Institut Baix Camp versió 4 Elaborat Cap d'estudis Codi MO-CAP013
RESUM DE JAVA

En general, la cerca consisteix a recórrer una seqüència de dades d’entrada fins que es compleixi
una determinada condició o s’acabin els elements de la seqüència. No és necessari que la condició
afecti un únic element.

// inicialització per al processament de la seqüència

// (pot incloure el tractament del primer element)

found = false;

while(!final de seqüència && !found ) {

// tractar l’element

if(condició de trobat) {

found = true;

} else {

//avançar en seqüència

//acabament del processament de la seqüència

if( found ) {

// instruccions

} else {

// instruccions

Generalitat de Catalunya 28/03/2019 Arxiu Model intern


Departament d’Educació 8 de 12
Institut Baix Camp versió 4 Elaborat Cap d'estudis Codi MO-CAP013
RESUM DE JAVA

Vectors (Arrays):

Un vector és una estructura de dades que guarda un CONJUNT de dades del MATEIX tipus.
Per accedir a cada cel·la necessitem un index.

Cal tenir present que primera posició és la 0

Ex: tenim una variable que es notes, i guardem les notes de tots els alumnes d’una classe:

notes
6 8 9 10

alumne 1-> cel·la 1 -> notes[0]--->>nota=6


alumne 2-> cel·la 2 -> notes[1]--->>nota=8
alumne 3-> cel·la 3 -> notes[2]--->>nota=9
alumne 4-> cel·la 4 -> notes[3]--->>nota=10

Per accedir a cada cel·la del vector he d’utilitzar un index per indicar la posició.

Declaració d’un vector en java:

int[] vNotes;

Declaració d’un vector en java + fixar valors inicials i dimensió:

int[] vNotes={7,5,8,10,6};

Indicar el nombre de posicions del vector, per exemple 5

vNotes=new int[5];

A nivell de variable tindríem 5 espais de memòria consecutius reservat amb el nom del vector.
posicions:
0 1 2 3 4

Funció que em permet saber les files que té una matriu un cop creada:

vNotes=new int[3];
vNotes.lenght;

Generalitat de Catalunya 28/03/2019 Arxiu Model intern


Departament d’Educació 9 de 12
Institut Baix Camp versió 4 Elaborat Cap d'estudis Codi MO-CAP013
RESUM DE JAVA

Recorregut d’un vector es sol fer amb estructura for, ja que s’utilitzen enters per posicionar les
cel·les (índex del vector). Per exemple per mostrar el contingut del vector per pantalla:

// mostrar dades d'un vector


for(i=0; i< vNotes.lenght; i++)
{
System.out.print(vNotes[i]+", ");

// introduir dades a un vector (tot 0's)


for(i=0; i< vNotes.lenght; i++)
{
vNotes[i]=0;
}

En un vector cal diferenciar entre índex i contingut.


Índex és la posició del vector, la i que pot anar de 0 a fins a la longitud del vector -1.
Contingut és el valor que hi ha a cada posició del vector, nomVector[i]

Algorisme d’ordenació d’un vector de números

public void ordenar() {


int aux, i, j, longNotes;
longNotes= vNotes.lenght;

for(i=0; i< longNotes; i++)


{
for(j=0; j<longNotes-i-1;j++)
{
//comparar cada cel·la amb la posterior, mirar si és més gran
// llavors s’hauran d’intercanviar
if (sous[j]>sous[j+1])
{
//variable auxiliar per intercanviar valors de les cel·les
aux=sous[j];
sous[j]=sous[j+1];
sous[j+1]=aux;
}
}
}
}

Generalitat de Catalunya 28/03/2019 Arxiu Model intern


Departament d’Educació 10 de 12
Institut Baix Camp versió 4 Elaborat Cap d'estudis Codi MO-CAP013
RESUM DE JAVA

Matrius:
Una matriu és una estructura de dades que permet emmagatzemar un CONJUNT de dades del
MATEIX tipus; un array de dues dimensions.
Per accedir a una cel·la necessitem dos indexs, un per fila i un per columna.

Cal tenir present que primera posició és la fila 0 i columna 0

Sempre em posiciono amb nomMatriu [fila][columna]

Exemple:
Columna

6 4 1

2 0 4

5 4 3

Cel·la (0,0) -> 6 (fila 0, columna 0)


Cel·la (0,1) -> 4 (fila 0, columna 1)
Cel·la (0,2) -> 1 (fila 0, columna 2)
Cel·la (1,0) -> 2 (fila 1, columna 0)
Cel·la (1,1) -> 0 (fila 1, columna 1)
Cel·la (1,2) -> 4 (fila 1, columna 2)
Cel·la (2,0) -> 5 (fila 2, columna 0)
Cel·la (2,1) -> 4 (fila 2, columna 1)
Cel·la (2,2) ->3 (fila 2, columna 2)

Declaració d’una matriu en java:

int[][] mNotes;

Declaració d’una matriu en java + fixar valors inicials i dimensió:

int[][] mNotes={{7,5},{8,10},{6,1}};

mNotes
7 5

8 10

6 1

Indicar posicions de la matriu, per exemple matriu de 3 files i 2 columnes

Generalitat de Catalunya 28/03/2019 Arxiu Model intern


Departament d’Educació 11 de 12
Institut Baix Camp versió 4 Elaborat Cap d'estudis Codi MO-CAP013
RESUM DE JAVA

mNotes=new int[3][2];

mNotes

Recorregut d’una matriu es sol fer amb estructura for dintre d'un altre for, ja que s’utilitzen 2 índexs, un
per la fila i altre per la columna.
Ens podem moure per la matriu de dues maneres, per files o per columnes.
Per tant, si la consulto per files, per cada fila aniré recorrent totes les columnes, i després canvio de fila.
Si consulto per columnes, per cada columna, recórrer totes les files d’aquesta columna, i després
canvio de columna.

Funció que em permet saber les files que té una matriu un cop creada:

mNotes=new int[3][2];
mNotes.lenght;

Per saber el nombre de columnes, només puc fer, consultar per cada fila les columnes que té o bé a
qualsevol fila (per exemple a la fila 0, si sabem que la matriu té el mateix nombre de columnes a totes
les files).

mNotes=new int[3][2];
f =0; //suposem estic a la fila 0
mNotes[f].lenght; //em retorna les columnes de la fila 0

Recorregut per files de la matriu mNotes, mostrant-lo en forma de matriu:

for (f = 0; f < mNotes.lenght; f++) {


for (c = 0; c < mNotes[f].lenght; c++){
System.out.print(mNotes[f][c]+" ");
}
System.out.println();
}

Generalitat de Catalunya 28/03/2019 Arxiu Model intern


Departament d’Educació 12 de 12
Institut Baix Camp versió 4 Elaborat Cap d'estudis Codi MO-CAP013

You might also like