DAM-M3-UF4. Sintaxi

De Wiki IES Marianao. Departament Informàtica
La revisió el 13:50, 25 maig 2012 per Alex (Discussió | contribucions) (Sintaxis)

Dreceres ràpides: navegació, cerca

torna M3 - Programació

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.