2.1. Sintaxis básica.pptx

2.1. Sintaxis básica.pptx 2.1. Sintaxis básica.pptx

laurel.datsi.fi.upm.es
from laurel.datsi.fi.upm.es More from this publisher
13.07.2015 Views

09/03/11 Contenidos Sintaxis básica, variables y 7pos Curso de Programación en Java ! Sintaxis básica ! Variables y 7pos ! Entrada/Salida básica ! Operadores y expresiones Jesús Montes Sánchez jmontes@fi.upm.es Marzo 2011 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 Sintaxis básica ! El programa debe tener una clase principal, que defina un punto de entrada ! Cuando se ejecuta el programa, la JVM crea un objeto de la clase principal y lo ejecuta desde su punto de entrada Clase principal Programa de ejemplo ! 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. // Esto es un comentario de una linea/**/Esto es un comentario demultiples lineas// Clase holaMundopublic class holaMundo {}/* El metodo main es el punto de comienzo del programa */public static void main(String[] args) {}Clase principal System.out.println("Hola mundo");Comentarios Punto de entrada 1

09/03/11 Contenidos <strong>Sintaxis</strong> básica, variables y 7pos Curso de Programación en Java ! <strong>Sintaxis</strong> básica ! Variables y 7pos ! Entrada/Salida básica ! Operadores y expresiones Jesús Montes Sánchez jmontes@fi.upm.es Marzo 2011 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 <strong>Sintaxis</strong> básica ! El programa debe tener una clase principal, que defina un punto de entrada ! Cuando se ejecuta el programa, la JVM crea un objeto de la clase principal y lo ejecuta desde su punto de entrada Clase principal Programa de ejemplo ! 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. // Esto es un comentario de una linea/**/Esto es un comentario demultiples lineas// Clase holaMundopublic class holaMundo {}/* El metodo main es el punto de comienzo del programa */public static void main(String[] args) {}Clase principal System.out.println("Hola mundo");Comentarios Punto de entrada 1


09/03/11 Comentarios Bloques de código ! 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 */ ! Zonas de texto entre { } ! Sucesión de sentencias ! Las sentencias terminan en ; ! Preferiblemente una sentencia por línea ! Se pueden anidar bloques {sentencia1;sentencia2;{// Comentariosentencia3;}}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… Variables y 7pos ! 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 Variables Declaración de 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 ! Simple tipo identificador;! Múl7ple tipo identificador1, identificador2; ! Con asignación tipo identificador = valor;2


09/03/11 Tipos básicos Booleano ! Booleano: verdadero, falso ! Carácter: a, A, z, Z, 1, 9, #, ?, … ! Número entero: -­‐1, 33 ! Número real: 3.14, 5E-­‐10 ! 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 falseCarácter Número entero ! 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’, ‘#’ ! 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 longNúmero real Tipos básicos ! 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 doubleTipo Tamaño en bits Valores booleantrue o falsechar 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 -­‐2 31 a 2 31 -­‐ 1 long 64 Número entero de -­‐2 63 a 2 63 -­‐ 1 float 32 Número real en coma flotante double 64 Numero real en coma flotante 3


09/03/11 Declaraciones de ejemplo ¿Son a y b iguales? int i;float i, j, k;char a = ‘x’, b = ‘4’, c = a;boolean b = false;double k = -0.25;! 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; Conversión de 7pos Conversión automá7ca ! ¿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 ! 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; Conversión explícita Conversión de 7pos ! Cas7ng: mecanismo para explicitar el cambio de 7po de una expresión o variable ! Le indicamos al compilador que asumimos la responsabilidad long a = 1;int b = a;! <strong>Sintaxis</strong>: (tipo nuevo) expresión ! Forma correcta: long a = 1;int b = (int)a; 4


09/03/11 Entrada/salida estándar ! Mecanismos sencillos para leer y escribir información por la terminal Entrada/salida básica ! 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”;Salida de datos básica Secuencias de escape ! 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);! 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 Entrada de datos básica 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 llamarsecomo queramos. Recordad llamarlo igualdespués ∗/Scanner stdIn = new Scanner(System.in);System.out.print(”Escribe un número:”);int num = stdIn.nextInt();System.out.println(num);}! 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);5


09/03/11 Operadores ! Permiten realizar operaciones sobre las variables y su valor Operadores y expresiones ! 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;Operadores aritmé7cos Expresiones aritmé7cas ! 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) ! 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 */ Auto-­‐incremento y auto-­decrementoPrecedencia de operador ! 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 1a--; // Ahora a vale 0int b = (2*a++) // b vale 0 y a 1int c = 2*(++a) // c vale 4 y a 2! Tiene preferencia *, /, % frente a +, -­‐ ! Se evalúa de izquierda a derecha ! Se pueden usar paréntesis num = 2 * 10 + 5; // num = 25num = 2 * (10 + 5); // num = 30 6


09/03/11 Asignación combinada Operadores de comparación ! 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 + 10a /= 5; // a = a / 5a %= 6; // a = a % 6 ! Se usan para comparar el datos y variables de 7pos compa7bles ! Producen expresiones de 7po boolean== igual != dis7nto > Mayor < menor >= mayor o igual b); // d es falsee = (b b ? 5 : 6;d = c < a ? ‘X’ : ‘Y’;7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!