Download - 2.1. Sintaxis básica - UPM18/01/12 1 Sintaxis&básica,&variables&y& pos Curso&de&Programación&en&Java & & Jesús&Montes&Sánchez jmontes@fi.upm.es& & Contenidos&! Sintaxis&básica!

Transcript
  • 18/01/12  

    1  

    Sintaxis  básica,  variables  y  7pos  

    Curso  de  Programación  en  Java      

    Jesús  Montes  Sánchez  [email protected]  

     

    Contenidos  

    !   Sintaxis  básica  

    !   Variables  y  7pos  

    !   Entrada/Salida  básica  

    !   Operadores  y  expresiones  

     

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Sintaxis  básica  

    Estructura  de  un  programa  Java  

    !   Un  programa  en  Java  es  un  conjunto  de  archivos  .java  que  con7enen  la  implementación  de  una  o  mas  clases  java  

    !   El  programa  debe  tener  una  clase  principal,  que  defina  un  punto  de  entrada  

    !   Cuando  se  ejecuta  el  programa,  la  JVM  ejecuta  el  punto  de  entrada  de  la  clase  principal  

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Clase  principal  

    !   Se  indica  como  parámetro  cuando  se  ejecuta  la  JVM  

    !   Debe  haber  sido  compilada  y  su  fichero  .class  debe  exis7r  dentro  del  CLASSPATH  

    !   Posee  un  punto  de  entrada  !   Comienza  con  las  palabras  reservadas  

    public static void main (String[] args)  

    !   Seguido  de  esto  hay  un  bloque  {  }  que  con7ene  el  código  que  se  ejecuta  al  comenzar  el  programa.  

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Programa  de  ejemplo  

    // Esto es un comentario de una linea /* Esto es un comentario de multiples lineas */ // Clase holaMundo public class holaMundo { /* El metodo main es el punto de comienzo del programa */ public static void main(String[] args) { System.out.println("Hola mundo"); } }

    Clase  principal  

    Punto  de  entrada  

    Comentarios  

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

  • 18/01/12  

    2  

    Comentarios  

    !   Sirven  para  explicar  porciones  del  código  a  nosotros  mismos  (para  el  futuro)  y  a  otros  

    !   Muy  ú7l  en  zonas  complejas  

    !   Tan  importante  como  escribir  buen  código  

    !   Ignorado  por  el  compilador  

    !   De  una  línea:  precedido  por  //  

    !   Múl7ples  líneas:  entre  /*  y  */  

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Bloques  de  código  

    !   Zonas  de  texto  entre  {  }  

    !   Sucesión  de  sentencias  

    !   Las  sentencias  terminan  en  ;  

    !   Preferiblemente  una  sentencia  por  línea  

    !   Se  pueden  anidar  bloques  

    {

    sentencia1;

    sentencia2;

    {

    // Comentario

    sentencia3;

    }

    }

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Otros  elementos  del  lenguaje  

    !   Palabras  reservadas  !   Palabras  propias  del  lenguaje  Java  !   Con  significado  específico  !   El  resaltado  de  sintaxis  las  iden7fica  ! class,  public,  void,  int…  

    !   Sensibilidad  a  mayúsculas  y  minúsculas  (case  sensi4ve)  !   Java  hace  dis7nción  entre  mayúsculas  y  minúsculas  !   Importante  tanto  para  palabras  reservadas  como  para  

    iden7ficadores  

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Variables  y  7pos  

    Variables  

    !   Representan  can7dades,  cualidades  y/o  objetos  del  programa  

    !   Es  una  región  de  memoria  donde  se  guarda  un  valor  que  posteriormente  será  u7lizado  por  el  programa  

    !   Antes  de  usarlas  debemos  declararlas  para  que  el  compilador  conozca:  !   Su  nombre  !   Su  ámbito  de  vida  !   Su  visibilidad  !   Su  7po  asociado  

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Tipo  y  valor  

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Tipo:  Zapatos  Valor:  El  par  de  zapatos  concreto  

     que  contenga  

    Tipo:  Líquido  Valor:    El  líquido  concreto  que  

     contenga  

  • 18/01/12  

    3  

    Declaración  de  variables  

    !   Simple  

     tipo identificador;

    !   Múl7ple  

     tipo identificador1, identificador2;  

    !   Con  asignación  

     tipo identificador = valor;

     

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Tipos  básicos  

    !   Booleano:    verdadero,  falso  

    !   Carácter:    a,  A,  z,  Z,  1,  9,  #,  ?,  …  

    !   Número  entero:  -‐1,  33  

    !   Número  real:  3.14,  5E-‐10      

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Booleano  

    !   Para  representar  valores  lógicos:  cierto  o  falso  

    !   Se  u7liza  para  representar  el  resultado  de  las  operaciones  lógicas  y  de  comparación  

    !   Tipo  boolean

    !   Valores  true o  false

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Carácter  

    !   Valores  numéricos  que  se  usan  para  representar  caracteres  (letras,  números,  símbolos)  usando  la  tabla  ACII  o  La7n  1  

    !   Tipo  char

    !   Se  expresan  entre  comillas  simples:  ‘a’,  ‘4’,  ‘#’  

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Número  entero  

    !   Para  contar  o  numerar  

    !   Diferentes  bases  de  representación    Decimal  (10):    0,  -‐1,  65184    Octal  (8):    00,  -‐01,  0177240    Hexadecimal  (16):  0x0,  -‐0x1,  0xFEA0  

    !   Tres  niveles  de  precisión:  short,  int  y  long

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Número  real  

    !   Números  reales,  posi7vos  o  nega7vos  y  con  o  sin  decimales  

    !   Coma  flotante  !   Representación  interna  dis7nta  a  la  de  los  enteros  

    !   Notación  decimal  o  cienqfica  

    !   Dos  niveles  de  precisión:  float  y  double

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

  • 18/01/12  

    4  

    Tipos  básicos  

    Tipo   Tamaño  en  bits   Valores  

    boolean true  o  false

    char 16   De  \u0000  a  \uFFFF  

    byte 8   De  -‐128  a  127  

    short 16   Número  entero  de  -‐32768  a  32767  

    int 32   Número  entero  de  -‐231  a  231  -‐  1  

    long 64   Número  entero  de  -‐263  a  263  -‐  1  

    float 32   Número  real  en  coma  flotante  

    double 64   Numero  real  en  coma  flotante  

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Declaraciones  de  ejemplo  

    int i;

    float i, j, k;

    char a = ‘x’, b = ‘4’, c = a;

    boolean b = false;

    double k = -0.25;

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    ¿Son  a  y  b  iguales?  

    !   Caso  1   int a = 1; char b = ‘1’;  

    !   Caso  2   int a = 1; long b = 1;  

    !   Caso  3   int a = 1; double b = 1.0;  

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Conversión  de  7pos  

    !   ¿Qué  pasa  cuando  combinamos  7pos  diferentes?  !   Tipos  compa7bles:  Aquellos  que  almacenan  información  similar  !   Tipos  incompa7bles:  Aquellos  que  almacenan  información  

    diferente  

    !   2  mecanismos  !   Conversión  automá7ca  !   Conversión  explícita  

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Conversión  automá7ca  

    !   La  hace  automá7camente  el  compilador  

    !   Es  segura  

    !   Solo  entre  7pos  compa7bles  

    !   Se  realiza  por  promoción:  de  un  7po  “menor”  a  uno  “mayor”  

    int a = 2;

    float valor = a;  

     

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Conversión  explícita  

    !   Cas7ng:  mecanismo  para  explicitar  el  cambio  de  7po  de  una  expresión  o  variable  

    !   Le  indicamos  al  compilador  que  asumimos  la  responsabilidad  

    !   Sintaxis:  

    (tipo nuevo) expresión  

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

  • 18/01/12  

    5  

    Conversión  de  7pos  

    long a = 1; int b = a;

     

    !   Forma  correcta:   long a = 1; int b = (int)a;  

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Entrada/salida  básica  

    Entrada/salida  estándar  

    !   Mecanismos  sencillos  para  leer  y  escribir  información  por  la  terminal  

    !   La  clase  String:  !   Representa  una  cadena  de  caracteres  !   Ser  verá  en  profundidad  más  adelante  !   Se  pueden  definir  y  usar  variables  (objetos)  de  clase  String:  

    String cadena = “mi cadena de texto”;

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Salida  de  datos  básica  

    !   Para  mostrar  una  línea  de  texto  por  la  terminal  se  usa:   System.out.print(expr)

    System.out.println(expr)

    !   Donde  expr  es  una  expresión  de  Java  que  queramos  mostrar.  

    !   Ejemplo:   int a = 0;

    String cadena = “Hola”;

    System.out.println(a);

    System.out.print(cadena);

     Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Secuencias  de  escape  

    !   Sirven  para  tener  mayor  control  sobre  el  formato  de  la  salida  de  los  datos  

    !   Secuencias  especiales  de  caracteres  en  las  cadenas  de  texto  

     \n  Salto  de  línea  

     \t  Tabulador  

     \r  retorno  de  carro  

     \\  Barra  inver7da  

     \”  Comillas  dobles  

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Entrada  de  datos  básica  

    !   Clase  de  biblioteca  java.u7l.Scanner    import java.util.Scanner; public class EntradaInteractiva {

    public static void main(String [] args) { /∗ stdIn es un identificador, puede llamarse como queramos. Recordad llamarlo igual después ∗/ Scanner stdIn = new Scanner(System.in); System.out.print(”Escribe un número:”); int num = stdIn.nextInt();

    System.out.println(num);

    } }

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

  • 18/01/12  

    6  

    Entrada  de  datos  básica  

    !   Leyendo  cadenas  de  caracteres  con  java.u7l.Scanner    import java.util.Scanner; public class EntradaInteractiva {

    public static void main(String [] args) {

    Scanner stdIn = new Scanner(System.in); System.out.print(”Dime tu nombre:”); String nombre = stdIn.next();

    System.out.println(nombre);

    } }

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Operadores  y  expresiones  

    Operadores  

    !   Permiten  realizar  operaciones  sobre  las  variables  y  su  valor  

    !   Operador  de  asignación  =   variable = valor

    !   Asigna  el  valor  a  una  variable  !   Se  puede  usar  en  la  declaración  de  una  variable  

    int a = 0, b;

    b = 10;

    a = b;

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Operadores  aritmé7cos  

    !   Se  usan  para  calcular  operaciones  matemá7cas  entre  datos  y  variables  del  mismo  7po  

    !   El  resultado  se  puede  almacenar  en  otra  variable  del  mismo  7po  

    !   Expresión:  Uso  conjunto  de  uno  o  mas  valores,  variables  y/o  operadores  que  se  evalúa  para  obtener  su  valor  final  

    +

    suma

    -

    resta

    *

    multiplicación

    /

    división

    %

    módulo (resto)

    ++

    auto-incremento

    (pre ó post)

    --

    auto-decremento

    (pre ó post)

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Expresiones  aritmé7cas  

    ! int a = 5 - (2 * 2);

    !   a++;

    /* a = a + 1 */

    !   a=3; b=a++;

    /* a=4

    b=3 */

    !   a=3; b=++a;

    /* a=4

    b=4 */

    !   a=3; b=a--;

    /* a=2

    b=3 */

    !   f=4/3;

    /* == 1 Div. entera */

    !   b=4%3;

    /* == 1 == (4 – (4/3)*3) */

    !   f=4.0/3;

    /* == 1.333 Div. real */

    !   f=(float)4/3;

    /* == 1.333 Div. real */

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Auto-‐incremento  y  auto-‐decremento  

    !   Son  operadores  unarios  (se  aplican  sobre  una  única  variable)  

    !   Suman  o  restan  1  al  valor  de  la  variable  

    !   Los  ‘pre’  se  aplican  antes  de  evaluar  la  expresión  y  los  ‘post’  después  

    int a = 0; a++; // Ahora a vale 1 a--; // Ahora a vale 0 int b = (2*a++) // b vale 0 y a 1 int c = 2*(++a) // c vale 4 y a 2

     

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

  • 18/01/12  

    7  

    Precedencia  de  operador  

    !   Tiene  preferencia  *,  /,  %  frente  a  +,  -‐  

    !   Se  evalúa  de  izquierda  a  derecha  

    !   Se  pueden  usar  paréntesis  

    num = 2 * 10 + 5; // num = 25 num = 2 * (10 + 5); // num = 30  

     

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Asignación  combinada  

    !   Se  combina  un  operador  aritmé7co  binario  con  una  asignación  

    variable op= expresión; // op es +,-,*,/,%

    !   Equivale  a  

    variable = variable op expresión;  

    !   Ejemplos   int a = 10; a += 10; // a = a + 10 a /= 5; // a = a / 5 a %= 6; // a = a % 6  

     Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])  

    Operadores  de  comparación  

    !   Se  usan  para  comparar  datos  y  variables  de  7pos  compa7bles  

    !   Producen  expresiones  de  7po  boolean

    ==  igual  

    !=  dis7nto  

    >  Mayor  

    <  menor  

    >=  mayor  o  igual  

    b); // d es false e = (b

  • 18/01/12  

    8  

    Operador  condicional  

    !   A  ?  B  :  C  

    !   Si  (A)  entonces  vale  B,  si  no  vale  C  

    int a = 10; int b = 20, c; char d;

    c = a > b ? 5 : 6;

    d = c < a ? ‘X’ : ‘Y’;

    Sintaxis  básica,  variables  y  7pos  -‐  Jesús  Montes  Sánchez  ([email protected])