DAM-M3-UF4. Sintaxi
torna M3 - Programació
Contingut
Sintaxis
El primer programa
import java.io.*;
public class PrimerPrograma {
public static void main(String[] args) {
System.out.println("(''Text qualsevol'')"); // Display the string.
}
}
- A Java tot el codi va dins de les classes (Funcions + Dades)
- Per determinar on comencen i acaben les estructures (classe, funcions, estructures de control) s’utilitzen els caràcters { }
- La classe principal ha de tenir el mateix nom que el fitxer que la conté (Case sensitive)
- La paraula import indica els recursos externs que usem dins el nostre programa (API de java o recursos propis)
- Les aplicacions d'escriptori (No Applets per exemple), dins de la classe principal sempre tenen la funció main. Aquesta és la funció per on entra el programa a l’execució. La capçalera de la funció és obligatòriament la de l'exemple.
- Per finalitzar qualsevol instrucció cal posar “;”
- Java distingeix majúscules i minúscules
Comentaris
Els comentaris en Java poden ser
- De una línia i comencen per "//", es poden col·locar a qualsevol lloc i marquen tot el que segueix fins al final de línia com un comentari
- De bloc, delimitats per "/* ..... */".
- De Javadoc, mostrar informació quan es genera la documentació, delimitats per "/** ....... */"
Declaració de variables i assignació
Els tipus de dades primitius són:
- 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.
- char . Caràcters de 16 bits (UNICODE).
- boolean . Valors de veritat o falsedat: només pot ser true o false (Paraules reservades).
La declaració de variables
tipus_de_dada nom_variable [= valor_inicial];
Per exemple
int i;
double radi, sup;
boolean repetidor;
int k = 3;
La operació d’assignació es realitza amb el símbol "=" (No confondre amb la operació de comparació "= =")
Per exemple
int i, j;
i = 3;
j = i;
j = j * 4 + 3;
j += 5; // Equivalent a j = j + 5.
Constants
La declaració de constants en Java, s'associa a conceptes de OO.
De moment només cal saber que cal definir les constants fora de les funcions (però dins de la classe)
static final tipus_de_dada NOM_CONSTANT [= valor_inicial];
Per exemple
public class Radi {
static final double PI = 3.1416; //Fora del main
public static void main(String[] args) {
double radi, perimeter;
radi = 3.3;
perimeter = radi * PI * 2.0;
System.out.println("El perimetre es : " + perimeter);
}
}
Cadenes de caràcters. String
Java proporciona la classe String pel tractament de text. (No és un tipus simple, és una classe).
- Operació "+" per concatenar.
I els següents mètodes d'utilitat per exemple
- Text.length(): Longitud d’una cadena de text
- Text.substring(index inici, index final): Obté un tros d’una cadena
- Text.equals("Altre Text"): Compara dos textos
Per exemple
String textemeu;
textemeu = "Bon";
textemeu += " dia";
System.out.println(textemeu.length()); // Escriu la longitud del text, 7
System.out.println(textemeu.substring(1,3)) ;// Escriu “on”
System.out.println(textemeu.equals("Bon deia")); // Escriu false
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html
Per al tractament de text es poden fer servir alguns caràcters especials:
| Caràcter | Significat |
| \b | Retrocés |
| \t | Tabulació |
| \n | Salt de línia |
| \' | Cometes simple |
| \" | Cometes normals |
Operadors
| Matemàtics | Lògics | ||
| + | Suma | && | AND |
| - | Resta | | | | OR
|
| * | Producte | ! | NOT |
| / | Divisió | Relacionals | |
| % | Mòdul | = = | Igual |
| ++ | Increment | != | Diferent |
| -- | Decrement | >, < | Més gran que, Menor que |
| Text | |
>=, <= | Més gran o igual que, Menor o igual que |
| + | Concatenació | instanceof | obj instanceof cls és true si, i només si l'objecte obj deriva de la classe cls. |
.
Estructures de Control
Condicionals
| Condicionals | |
| if (Condició ) { <Instruccions> } [ else { <Instruccions> } ] |
switch( < expressió > ) { case valor1: <Instruccions> break; case valor2: <Instruccions> break; [default: <Instruccions>] } |
Bucles
| Iteració | |
| do { <Instruccions>; } while ( <Condició> ); |
while ( <Condició> ) {
<Instruccions>; |
| for ( <inicialització>; <acabament>; <iteració> ) { <Instruccions>; } | |
public class ExFor {
public static void main(String[] args) {
System.out.println("Inici Bucle for");
for ( int i=0; i<10; i++) {
System.out.println("Valor de i: "+i);
}
System.out.println("Inici Bucle while");
int i = 0;
while ( i < 10 ) {
System.out.println("Valor de i: "+i);
i++;
}
System.out.println("Inici Bucle do while");
i = 10;
do {
i--;
System.out.println("Valor de i: " + i);
} while (i > 0);
}
}
Break and Continue
Aquestes dues instruccions permeten controlar l’execució de bucles.
break atura el bucle i surt, mentre que continue passa a la següent iteració
En general aquestes estructures compliquen la lectura del codi i no es fan servir.
..
Entrada i Sortida bàsica
De moment ens limitarem a l’entrada/sortida de dades des de la línia de comandes.
De manera automàtica a qualsevol programa estan oberts tres canals
| System.in | Entrada de dades pel dispositiu estàndard d’entrada |
| System.out | Sortida de dades pel dispositiu estàndard de sortida |
| System.err | Sortida d’errors |
Sortida
Per mostrar informació a la línia de comandes es fan servir les operacions de la classe System.out que ja s’han fet servir.
print(): Escriptura sense salt de línia
println(): Escriptura amb salt de línia al final
Entrada per Consola
Per entrar informació des de la línia de comandes es fan servir les operacions de la classe System.in .
read(): Lectura d'un caràcter
public static void main(String[] args) throws IOException {
System.out.println("Llegir fins a ENTER...");
char caracter;
String strEntrada = "";
while ((caracter = (char) System.in.read()) != '\n') {
strEntrada = strEntrada + caracter;
}
System.out.println("strEntrada = " + strEntrada);
}
Entrada Per Paràmetres
L'entrada per paràmetres consisteix en introduir dades al programa quan s'executa com a paràmetres de l'execució
Per a l’entrada des de consola es pot fer servir el pas de paràmetres de la funció main(String[] args) que es recuperen des del programa a través del vector args[index] i que ja s’ha fet servir.
Convencions Programació Java
http://www.oracle.com/technetwork/java/codeconv-138413.html
http://checkstyle.sourceforge.net/ Aplicació per validar els estàndards