Diferència entre revisions de la pàgina «DAM-M3-UF4. Sintaxi»
(→Estructures de Control) |
|||
Línia 213: | Línia 213: | ||
=== Estructures de Control === | === Estructures de Control === | ||
− | + | ==== Condicionals ==== | |
{| cellspacing="0" cellpadding="7" border="1" | {| cellspacing="0" cellpadding="7" border="1" | ||
Línia 223: | Línia 223: | ||
|} | |} | ||
− | + | ==== Bucles ==== | |
{| cellspacing="0" cellpadding="7" border="1" | {| cellspacing="0" cellpadding="7" border="1" | ||
Línia 264: | Línia 264: | ||
</pre> | </pre> | ||
− | + | ==== Break and Continue ==== | |
Aquestes dues instruccions permeten controlar l’execució de bucles. | Aquestes dues instruccions permeten controlar l’execució de bucles. | ||
'''break''' atura el bucle i surt, mentre que '''continue''' passa a la següent iteració | '''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. | ||
.. | .. |
Revisió del 11:27, 30 maig 2012
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