Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Programacin en Java
Prctica 1
El entorno de desarrollo integrado
Tipos de datos
Tipos de sentencias
Operadores
Conversiones de tipo
Ejecucin
Compilacin
P1Ej1.java
Programa fuente en
Java (alto nivel)
Compilador
Traduce de Java a
cdigo de bytes
(bytecode)
P1Ej1.class
Programa en bytecode
(bajo nivel) de la mquina
virtual de Java, ejecutable
por un intrprete
Intrprete
Existe un interprete
Java para cada sistema
operativo (Windows,
Solaris, Linux y Mac OS
X)
Intrprete = Mquina Virtual de Java (JVM; Java Virtual Machine) = Entorno de Ejecucin Java (JRE;
Java Runtime Environmet)
Enteros
Tipo
N bits
Formato
byte
-128 a +127
short
16
-32768 a +32767
int
32
long
64
9223372036854775808 a +9223372036854775807
float
32
Ca2
IEEE 754
Reales
double
64
Caracteres
char
16
Lgicos
boolean
-2147483648 a +2147483647
0 a 65535
true / false
Tipos referenciados
Clase
Cadenas de caracteres
Rango
String
Constantes en Java
Literales
Tipo
Ejemplos
int
double
char
'0', 'A', 'a', '*', ';', '$', ' ', '\n', ...
String
boolean
true, false
Ejemplos predefinidos
int
Integer.MIN_VALUE = -2147483648
Integer.MAX_VALUE = +2147483647
double
Ejemplos
int edad, numHermanos;
double peso;
boolean trabajo;
String dni;
char letraDni;
El nombre de una variable debe comenzar forzosamente con una letra, seguida de una secuencia
de letras, dgitos o caracteres especiales ($, _). En el caso de las tetras hay que tener en cuenta
que se diferencia las maysculas de las minsculas. No se puede utilizar el espacio en blanco.
Se aconseja utilizar nombres de variables significativos, no abreviados, para facilitar la lectura y
comprensin del programa. Si el nombre consiste en una sola palabra debe escribirse en
minsculas, y si se compone de varias, cada una de las siguientes debe empezar con una letra
mayscula.
Utilizaremos los siguientes mtodos del objeto teclado segn el tipo del dato a leer:
Entero: nextInt()
Real: nextDouble() (por defecto utiliza como separador de la parte decimal el definido en la
configuracin regional del SO)
Lgico: nextBoolean()
Cadena: next() o nextLine() (admite la cadena vaca o con espacios)
Carcter: next().charAt(0) (lee una cadena y obtiene el primer carcter)
Considerando los caracteres como cadenas de un solo carcter pueden leerse utilizando next()
Ejemplos
...
System.out.print("Tu edad es: ");
System.out.println(edad);
System.out.print("N de hermanos: ");
System.out.println(numHermanos);
...
Ejemplo
int b, h, per;
...
per = (b + h) * 2;
...
En lenguaje Java es posible realizar operaciones (y asignaciones) con datos de distinto tipo, pero
procuraremos evitarlas para estar seguros del tipo de dato del resultado.
Ms adelante se comentar cules son los tipos de datos que pueden operarse entre s, as como el
tipo de dato del resultado.
Operador
Significado
Resultado
*
/
%
- (unario)
Suma
Resta
Multiplicacin
Divisin
Resto (solo para enteros)
Cambio de signo
Funcin
Significado
Argumentos y resultado
Math.abs(a)
...
Valor absoluto de a
...
Entero
Math.abs(a)
Math.pow(a, b)
Math.sqrt(a)
Math.sin(a)
Math.atan(a)
...
Valor absoluto de a
Eleva a al exponente b
Raiz cuadrada de a
Seno de a
Arcotangente de a
...
Real
Relacionales
Operador
Significado
==
!=
<
<=
>
>=
Igual
Distinto
Menor
Menor o igual
Mayor
Mayor o igual
Resultado
boolean (lgico)
Relacionales
Operador
Significado
==
!=
<
<=
>
>=
Igual
Distinto
Menor
Menor o igual
Mayor
Mayor o igual
Resultado
boolean (lgico)
Relacionales
Significado
+
s1.compareTo(s2) ==
s1.compareTo(s2) !=
s1.compareTo(s2) <
s1.compareTo(s2) <=
s1.compareTo(s2) >
s1.compareTo(s2) >=
0
0
0
0
0
0
El mtodo compareTo() de la
cadena s1 permite compararla
con otra s2, dando como
resultado un valor:
= 0 si s1 es igual que s2
< 0 si s1 es menor que s2
> 0 si s1 es mayor que s2
La comprobacin de igualdad de
dos cadenas s1 y s2 se puede
realizar tambin de la forma:
s1.equals(s2)
Resultado
String (cadena)
Comparacin lexicogrfica:
s1 es igual que s2 ?
s1 es distinta de s2 ?
s1 es menor que s2 ?
s1 es menor o igual que s2 ?
s1 es mayor que s2 ?
s1 es mayor o igual que s2 ?
boolean (lgico)
Operador
Significado
Resultado
&&
||
!
Y
O
NO
boolean (lgico)
Molde
Real a entero
(int)num
Entero a real
(double)num
Cadena a entero
Cadena a real
Nmero, carcter
o lgico a cadena
Integer.parseInt(str)
o
Integer.valueOf(str)
Double.parseDouble(str)
o
Double.valueOf(str)
String.valueOf(dato)
long
float
double
short
Ejemplo
La expresin 9/5.0 dara con resultado 1.8
() (conversin explcita)
*
+
<
>
<=
==
>=
!=
&&
||
Cuando aparezcan varios operadores binarios de igual precedencia en la misma expresin se asociarn
(evaluarn) de izquierda a derecha