Diferència entre revisions de la pàgina «DAM-M3-UF4. Sintaxi»
(→Operadors) |
(→Sintaxis) |
||
Línia 34: | Línia 34: | ||
* De bloc, delimitats per "/* ..... */". | * De bloc, delimitats per "/* ..... */". | ||
* De Javadoc, mostrar informació quan es genera la documentació, delimitats per "/** ....... */" | * De Javadoc, mostrar informació quan es genera la documentació, delimitats per "/** ....... */" | ||
− | |||
=== Declaració de variables i assignació === | === Declaració de variables i assignació === | ||
Línia 63: | Línia 62: | ||
int k = 3; | int k = 3; | ||
</pre> | </pre> | ||
− | |||
La operació d’''assignació'' es realitza amb el símbol "=" (No confondre amb la operació de comparació "= =") | La operació d’''assignació'' es realitza amb el símbol "=" (No confondre amb la operació de comparació "= =") | ||
Línia 76: | Línia 74: | ||
j += 5; // Equivalent a j = j + 5. | j += 5; // Equivalent a j = j + 5. | ||
</pre> | </pre> | ||
− | |||
=== Constants === | === Constants === | ||
Línia 87: | Línia 84: | ||
static final tipus_de_dada NOM_CONSTANT [= valor_inicial]; | static final tipus_de_dada NOM_CONSTANT [= valor_inicial]; | ||
</pre> | </pre> | ||
− | |||
Per exemple | Per exemple | ||
Línia 107: | Línia 103: | ||
} | } | ||
</pre> | </pre> | ||
− | |||
=== Cadenes de caràcters. String === | === Cadenes de caràcters. String === | ||
Línia 157: | Línia 152: | ||
| Cometes normals | | Cometes normals | ||
|} | |} | ||
− | |||
− | |||
=== Operadors === | === Operadors === | ||
Línia 215: | Línia 208: | ||
| ''obj instanceof cls'' és true si, i només si l'objecte obj deriva de la classe cls. | | ''obj instanceof cls'' és true si, i només si l'objecte obj deriva de la classe cls. | ||
|} | |} | ||
− | |||
. | . | ||
Línia 230: | Línia 222: | ||
| switch( ''< expressió >'' ) {<br /> case valor1:<br /> <''Instruccions>''<br /> break;<br /> case valor2:<br /> <''Instruccions>''<br /> break;<br /> ''[''default:<br /> <''Instruccions>]''<br />} | | switch( ''< expressió >'' ) {<br /> case valor1:<br /> <''Instruccions>''<br /> break;<br /> case valor2:<br /> <''Instruccions>''<br /> break;<br /> ''[''default:<br /> <''Instruccions>]''<br />} | ||
|} | |} | ||
− | |||
* Bucles | * Bucles | ||
Línia 239: | Línia 230: | ||
|- | |- | ||
| do {<br /> <''Instruccions>''; | | do {<br /> <''Instruccions>''; | ||
− | |||
} while ( ''<Condició>'' ); | } while ( ''<Condició>'' ); | ||
Línia 248: | Línia 238: | ||
| valign="TOP" colspan="2" | for ( ''<inicialització>''; ''<acabament>''; ''<iteració>'' ) {<br /> <''Instruccions>'';<br />} | | valign="TOP" colspan="2" | for ( ''<inicialització>''; ''<acabament>''; ''<iteració>'' ) {<br /> <''Instruccions>'';<br />} | ||
|} | |} | ||
− | |||
<pre> | <pre> | ||
Línia 274: | Línia 263: | ||
} | } | ||
</pre> | </pre> | ||
− | |||
* Break and Continue | * Break and Continue | ||
Línia 282: | Línia 270: | ||
'''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ó | ||
+ | .. | ||
+ | |||
+ | === 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 | ||
+ | |||
+ | {| cellspacing="0" cellpadding="7" border="1" | ||
+ | |- | ||
+ | | ''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 |
+ | |||
+ | <pre> | ||
+ | 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); | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | ==== 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. |
Revisió del 13:50, 25 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ó
..
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.