Introducción: Java
Introducción: Java
JAVA
1
Estructura de un programa en java
2
Hola Mundo en Java
●
El nombre del fichero igual que el
nombre de la clase con la
extensión .java: Saludo.java
●
Compilador (javac) genera el fichero
bytecode con extensión .class
– javac Saludo.java
●
El programa en bytecode se ejecuta en la
máquina virtual (Java Virtual Machine, JVM)
– java Saludo
3
Variables
●
Una variable es un nombre que contiene
un valor que puede cambiar a lo largo del
programa
– Tipos primitivos
●
char, byte, short, int, long, float, double, boolean
– Nombres de variables
●
Cualquier conjunto de caracteres numéricos o
alfanuméricos
– Empezar por una letra
– No usar caracteres especiales (, . + - / etc)
●
Distingue mayúsculas y minúsculas
– Variable variable VariaBle variabLe …. Son nombres distintos
4
Tipos primitivos de variables
5
Palabras reservadas
●
Hay una serie de palabras que tienen un significado especial
y por tanto no se pueden usar como nombres de variables
6
Definición e inicialización de
variables
●
Definición
– Especificación de tipo y nombre de variable
●
tipo nombre
7
Constantes
●
Se le asignan un valor y no se puede cambiar
●
Se definen al principio de la clase con las
palabras reservadas static y final
8
Operadores
●
Operadores aritméticos
– Suma +
– Resta -
– División /
– Multiplicación *
– Resto de la división %
9
Operadores de asignación
●
Operador igual =
– Variable = expresion;
●
a = 3 * 7 + 14;
●
Otros operadores de asignación
10
Operadores relacionales
11
Operadores lógicos
12
Operadores incrementales ++ y --
●
El operador ++ incrementa en una
unidad la variable
●
El operador -- decrementa en una
unidad la variable
●
Se pueden colocar precediendo o
siguiendo a la variable
– v++ siguiendo a la variable (primero se usa y
luego se incrementa)
– ++v precediendo a la variable (primero se
incrementa y luego se usa)
13
Ejemplo
14
Operador condicional
●
Es un operador ternario
●
expresion_booleana ? valor1 : valor2
15
Operadores cadenas
●
Concatenar cadenas +
●
Obtención del carácter
– charAt(n)
●
Longitud de cadena
– Length
●
Comparación de cadenas
– Equals
●
Convertir tipos numéricos a cadenas
– Valueof
16
Ejemplos
17
Precedencia de operadores
18
Comentarios
●
Comentario de una línea
– //
●
Comentario de varias líneas
– /* …………. */
19
Clase Scanner
●
Leer datos de teclado
– import java.utils.Scanner;
●
Siempre que se lea una cadena después de un
número hay que limpiar el buffer de entrada
– nextLine() sin asignarlo a ninguna variable
20
Leer datos de teclado: Scanner
●
El constructor de Scanner recibe un objeto InputStream.
– Scanner sc = new Scanner(System.in);
●
Se lee la cadena hasta la pulsación de la tecla “enter”.
●
La cadena es dividida en “tokens”.
●
El separador de tokens es por defecto el espacio en
blanco.
– String next(): devuelve el siguiente token.
– String nextLine(): devuelve toda la cadena hasta el salto de línea.
– boolean hasNext(): indica si existe o no un token.
– xxx nextXxx(): devuelve el token como un tipo básico especificado
por Xxx, por ejemplo, nextInt() o nextFloat().
– boolean hasNextXxx(): indica si existe un token de tipo Xxx.
– void useDelimiter(String d): establece un nuevo delimitador.
21
Leer datos de teclado: Scanner
●
Supongamos que en el siguiente programa
el usuario introdujera la cadena “José Luis”.
Al intentar convertir un token a un tipo que no le corresponde, los métodos de la clase Scanner
lanzan la excepción InputMismatchException.
22
Leer datos de teclado: Scanner
●
El siguiente programa valida un dato de entrada de
tipo entero en un rango establecido:
23
UD2
Programación
estructurada
24
Sentencias y bloques
●
Sentencias
– Todas las sentencias terminan en ;
●
Bloques
– Un bloque de sentencias son varias sentencias
encerradas entre llaves
25
Estructuras de control de flujo
●
Secuenciales
●
Selectivas o condicionales
– Simples → if
– Dobles → if….else
– Múltiples → switch
●
Repetitivas o iterativas
– While
– Do while
– For
26
Sentencia if
●
Sentencia de bifurcación
– Permite ejecutar una de entre varias acciones
en función del valor de una expresión lógica
27
Ejemplo
28
Sentencia if else
●
Si se cumple la
condición se
ejecuta el el
primer bloque
de sentencias,
sino se ejecuta
el otro
29
Ejemplo
30
Sentencia if else if … else
●
Se pueden concatenar
31
La instrucción switch en Java
●
Permite ejecutar diferentes bloques de instrucciones en función
del resultado de una expresión.
●
Se puede sustituir por instrucciones if-else anidadas.
●
Puede contener cualquier número de case pero no puede haber
dos con el mismo valor.
●
La sentencia break se emplea para provocar la finalización del
switch.
●
El bloque default es opcional y se ejecuta si el resultado de la
expresión no coincide con ningún case.
switch(expresión){
case valor1:
sentencias;
break;
case valor2:
sentencias;
break;
default:
sentencias;
}
32
Sentencia switch
33
Ámbito de una variable
●
Trozo de código dónde una variable se
conoce y puede ser referenciada
●
Empieza desde que se declara y afecta
al bloque en la que esté contenida
34
Es correcto este ejemplo?
35
Bucles
●
Un bucle se utiliza para realizar un
proceso repetidas veces
●
El código encerrado entre llaves se
repetirá mientras se cumpla una serie
de condiciones
– Si sólo se va a repetir una sola instrucción no
necesita llaves
●
Es necesario que la condición del bucle
llegue al final en algún momento
– Sino se producirían bucles infinitos
36
Tipos de bucles
●
While
– Primero pregunta y después se ejecuta
●
Do … while
– Primero se ejecuta y después pregunta
●
For
– Bucle controlado por un contador
37
While
●
Comprueba una expresión booleana y
si es cierto pasa a ejecutar el interior
del bucle. Cuando llega al final vuelve
al principio y pregunta nuevamente
– while(expresionboleana){
sentencia1;
sentencia2;
….
sentencian;
}
38
Ejemplo
39
do ... while
●
Ejecuta el contenido del bucle y al
final comprueba una expresión
booleana, si es cierta vuelve a
ejecutar el bucle desde su inicio
– do{
sentencia1;
sentencia2;
….
sentencian;
}while(expresionboleana);
40
Ejemplo
41
for
●
Ejecución
– La primera vez que se ejecuta inicializa la variable
– Pregunta condición
– Ejecuta el bucle si procede
– Incrementa la variable
for(inicialización; condición; incremento){
sentencia1;
sentencia2;
….
sentencian;
}
42
Ejemplo
43
Diagrama de flujo bucles
44
Clase Scanner
●
Leer datos de teclado
– import java.util.Scanner;
●
Siempre que se lea una cadena después de un
número hay que limpiar el buffer de entrada
– nextLine() sin asignarlo a ninguna variable
45
Ejemplo
46