Java para programadores
Java y Servicios Web I
Master en Ingeniería Matemática
Manuel Montenegro
Dpto. Sistemas Informáticos y Computación
Desp. 467 (Mat)
[email protected]
Contenidos
● Variables.
● Tipos de datos primitivos y literales.
● Operadores.
● Cadenas.
● Sentencias de control.
● Arrays.
● Procedimientos y funciones.
10/Mayo/2012
2. Java para programadores
2
Variables
● Toda variable ha de ser declarada con su tipo.
● La declaración de una variable ha de hacerse
antes de su primer uso.
Tipo
Nombre de variable
int a;
a = 5;
int b;
b = 3;
System.out.print(“a vale: “);
System.out.println(a);
10/Mayo/2012
2. Java para programadores
3
Variables
● Toda variable ha de ser declarada con su tipo.
● La declaración de una variable ha de hacerse
antes de su primer uso.
variables
Declaración de varias
int a, b;
a = 5;
b = 3;
System.out.print(“a vale: “);
System.out.println(a);
10/Mayo/2012
2. Java para programadores
4
Variables
● Toda variable ha de ser declarada con su tipo.
● La declaración de una variable ha de hacerse
antes de su primer uso.
int a = 5, b = 3;
Declaración e
inicialización
System.out.print(“a vale: “);
System.out.println(a);
10/Mayo/2012
2. Java para programadores
5
Contenidos
● Variables.
● Tipos de datos primitivos y literales.
● Operadores.
● Cadenas.
● Sentencias de control.
● Arrays.
● Procedimientos y funciones.
10/Mayo/2012
2. Java para programadores
6
Tipos de datos primitivos
Tipo
int
char
byte
short
long
float
double
boolean
void
Tamaño
4 bytes
2 bytes
1 byte
2 bytes
8 bytes
4 bytes
8 bytes
--
--
Rango
-231 … +231-1
Caracteres Unicode
-128 … 127
-215 … +215-1
-263 … +263-1
IEEE 754
IEEE 754
true, false
--
10/Mayo/2012
2. Java para programadores
7
Literales
● Literales de tipo entero:
Hex.
Octal
0 157 -23 0x2b5 023
10/Mayo/2012
2. Java para programadores
8
Literales
● Literales de tipo entero:
Hex.
Octal
0 157 -23 0x2b5 023
● Literales de tipo carácter:
Salto de
línea
0x41 = 65 = 'A'
'a' 'V' '&' '\n' '\u0041' '\\'
10/Mayo/2012
2. Java para programadores
9
Literales
● Literales de tipo entero:
Hex.
Octal
0 157 -23 0x2b5 023
● Literales de tipo carácter:
Salto de
línea
0x41 = 65 = 'A'
'a' 'V' '&' '\n' '\u0041' '\\'
● Literales de tipo float y double:
0.234f 4.30 3.54E+23
3,54 x 1023
10/Mayo/2012
2. Java para programadores
10
Literales
● Literales de tipo entero:
Hex.
Octal
0 157 -23 0x2b5 023
● Literales de tipo carácter:
Salto de
línea
0x41 = 65 = 'A'
'a' 'V' '&' '\n' '\u0041' '\\'
● Literales de tipo float y double:
0.234f 4.30 3.54E+23
3,54 x 1023
● Literales de tipo boolean: true, false
10/Mayo/2012
2. Java para programadores
11
Contenidos
● Variables.
● Tipos de datos primitivos y literales.
● Operadores.
● Cadenas.
● Sentencias de control.
● Arrays.
● Procedimientos y funciones.
10/Mayo/2012
2. Java para programadores
12
Operadores aritméticos
● Devuelven un número como resultado
Operador
Significado
+
-
*
/
%
Suma
Resta
Multiplicación
División
Módulo (resto)
int a = 4;
int c = a * 3;
System.out.println(c);
12
10/Mayo/2012
2. Java para programadores
13
Operadores aritméticos
● La división devuelve un número entero si sus
dos operandos son de tipo int
int a = 4;
float c = a / 3;
int a = 4;
float c = a / 3f;
c = 1.0
c = 1.333...
int a = 4;
int b = 3;
float c = a / (float) b;
c = 1.333...
Conversión
10/Mayo/2012
2. Java para programadores
14
Conversión de tipos
● Para asignar un valor a una variable de un tipo
más restrictivo, hay que hacer una conversión
explícita.
Conversión
implícita
int a = 3;
float b = 4.21f;
b = a;
a = b;
a = (int) b;
// Correcto
// Error
// Correcto
Conversión
explícita
10/Mayo/2012
2. Java para programadores
15
Operadores relacionales
● Devuelven un booleano como resultado
Operador
==
!=
<
>
<=
>=
Significado
Igual que
Distinto de
Menor que
Mayor que
Menor o igual que
Mayor o igual que
int a = 4;
int b = 3;
if (a > b)
System.out.println(“a es mayor”);
else if (a == b)
System.out.println(“a es igual”);
else
System.out.println(“a es menor”);
10/Mayo/2012
2. Java para programadores
16
Incremento y decremento
● Sintaxis: x++ x--
● Equivalen a: x=x+1 x=x-1
● Dos variantes:
● Preincremento (++x)
Devuelven el valor de x tras ser incrementada
● Postincremento (x++)
Devuelven el valor de x antes de ser incrementada
10/Mayo/2012
2. Java para programadores
17
Operador y asignación
a += 2
a *= c
a = a + 2
a = a * c
10/Mayo/2012
2. Java para programadores
18
Operadores lógicos
● Operan con booleanos.
Operador
Significado
&&
||
!
And
Or
Not
if ((x >= 10) && (x <= 20))
● Cortocircuito: && y || no evalúan el segundo
operando, a menos que sea necesario.
if ((x != 0) && (1/x > 3))
10/Mayo/2012
2. Java para programadores
19
Contenidos
● Variables.
● Tipos de datos primitivos y literales.
● Operadores.
● Cadenas.
● Sentencias de control.
● Arrays.
● Procedimientos y funciones.
10/Mayo/2012
2. Java para programadores
20
Cadenas
● Una cadena es una secuencia de caracteres.
● Los literales de tipo cadena se delimitan entre
comillas dobles (“).
● El tipo de datos de cadenas es String.
String texto = “Hola mundo”;
System.out.println(texto);
String texto = new String(“Hola mundo”);
System.out.println(texto);
10/Mayo/2012
2. Java para programadores
21
Operaciones con cadenas
● Concatenación de cadenas (+):
String texto1 = “Hola ”;
String texto2 = “ mundo”;
String texto3 = texto1 + texto2;
● Obtener la longitud de una cadena:
“Hola mundo”
String texto = “Cadena de prueba”;
System.out.println(texto.length());
16
● Conversión a tipos de datos numéricos:
String numero = “23”;
int a = Integer.parseInt(numero);
double b = Double.parseDouble(numero);
10/Mayo/2012
2. Java para programadores
22
Operaciones con cadenas
● Conversión desde tipos de datos numéricos:
int a = 23;
float b = 2.34f;
String cadena = String.valueOf(a);
String cadena2 = String.valueOf(b);
“23”
“2.34”
10/Mayo/2012
2. Java para programadores
23
Operaciones con cadenas
● ¡Ojo con la igualdad entre cadenas!
String a = “Cadena”;
String b = “Cadena”;
if (a == b)
System.out.println(“Las cadenas son iguales”);
false
a
b
“Cadena”
“Cadena”
10/Mayo/2012
2. Java para programadores
24
Operaciones con cadenas
● ¡Ojo con la igualdad entre cadenas!
String a = “Cadena”;
String b = a;
if (a == b)
System.out.println(“Las cadenas son iguales”);
true
a
b
“Cadena”
10/Mayo/2012
2. Java para programadores
25
Operaciones con cadenas
● ¡Ojo con la igualdad entre cadenas!
String a = “Cadena”;
String b = “Cadena”;
if (a.equals(b))
System.out.println(“Las cadenas son iguales”);
true
a
b
“Cadena”
“Cadena”
10/Mayo/2012
2. Java para programadores
26
Igualdad entre cadenas
● Las cadenas son objetos que se almacenan en
el heap.
● Las variables de tipo cadena son referencias a
estos objetos.
● El operador == comprueba si dos variables
hacen referencia al mismo objeto.
● Esto se aplica:
● a los tipos compuestos: objetos, String, arrays.
● pero NO a los tipos básicos: int, char, float, …
10/Mayo/2012
2. Java para programadores
27
Contenidos
● Variables.
● Tipos de datos primitivos y literales.
● Operadores.
● Cadenas.
● Sentencias de control.
● Arrays.
● Procedimientos y funciones.
10/Mayo/2012
2. Java para programadores
28
Sentencias de control
● Sentencia if
● Sentencia switch
● Sentencia while
● Sentencia do – while
● Sentencia for
10/Mayo/2012
2. Java para programadores
29
Sentencia if
if (condición) {
sentencias
}
if (condición) {
sentencias
} else {
sentencias
}
● Si sólo hay una sentencia, pueden omitirse las
llaves { }
if (condición)
sentencia;
else
sentencia;
10/Mayo/2012
2. Java para programadores
30
Sentencia if
Scanner sc = new Scanner(System.in);
System.out.print("Dime tu edad: ");
int edad = sc.nextInt();
boolean admitido;
if (edad <= 18) {
System.out.println("Eres demasiado joven");
admitido = false;
} else {
System.out.println("De acuerdo, pase");
admitido = true;
}
10/Mayo/2012
2. Java para programadores
31
Sentencia switch
● Solución elegante
alternativa a las
cadenas
if else if
else if...
→
→
switch(expresion) {
case valor1:
sentencias
break;
case valor2:
sentencias
break;
…
default:
sentencias
}
10/Mayo/2012
2. Java para programadores
32
Sentencia switch
int mes = new Scanner(System.in).nextInt();
String nombreMes;
switch (mes) {
case 1: nombreMes = “Enero”; break;
case 2: nombreMes = “Febrero”; break;
case 3: nombreMes = “Marzo”; break;
…
case 12: nombreMes = “Diciembre”; break;
default: System.out.println(“Mes no válido”);
}
10/Mayo/2012
2. Java para programadores
33
Sentencia switch
int mes = new Scanner(System.in).nextInt();
int numeroDias;
switch (mes) {
case 2:
numeroDias = 28; break;
case 4:
case 6:
case 9:
case 11:
numeroDias = 30; break;
default:
numeroDias = 31;
}
break, la ejecución continúa
Si no hay sentencia
por la rama siguiente
10/Mayo/2012
2. Java para programadores
34
Sentencia while
while (condición) {
sentencias
}
● Repite la secuencia de sentencias mientras la
condición sea cierta.
● Si la condición es falsa antes de entrar en el
bucle, la secuencia de sentencias no se ejecuta.
10/Mayo/2012
2. Java para programadores
35
Sentencia while
int n = 20;
while (n >= 0) {
System.out.print(“n = “);
System.out.println(n);
n--;
}
10/Mayo/2012
2. Java para programadores
36
Sentencia do-while
do {
sentencias
} while (condición)
● Ejecuta el conjunto de sentencias, y después se
evalúa la condición.
● Si la condición es cierta, se repite el
Comentarios de: Java para programadores - Java y Servicios Web I - Master en Ingeniería (0)
No hay comentarios