Sei sulla pagina 1di 21

Fundamentos de Informtica

Programacin en Java

Prctica 1
El entorno de desarrollo integrado
Tipos de datos
Tipos de sentencias
Operadores
Conversiones de tipo

Programa ejemplo en lenguaje Java

Desarrollo de un programa en Java


Compilacin y ejecucin

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)

Software para la realizacin de las prcticas

Kit de Desarrollo en Java (JDK; Java Develpment Kit) Edicin


Estndar (SE; Standard Edition)
http://www.oracle.com/technetwork/java/javase/downloads/index.html

Entorno de Desarrollo Integrado (IDE; Integrated Development


Environment) NetBeans en idioma espaol
http://netbeans.org/downloads/index.html

Tutorial de Java y documentacin

Para introducirnos en el lenguaje Java y ampliar conocimientos


se encuentra disponible este tutorial en ingls:
http://docs.oracle.com/javase/tutorial/

Adems, se puede consultar la documentacin del API


(Application Program Interface) de Java SE, que contiene una
explicacin detallada de cada una de las clases disponibles
organizadas por paquetes.
http://docs.oracle.com/javase/7/docs/api/

Tipos de datos en Java


Tipos primitivos

Enteros

Tipo

N bits

Formato

byte

-128 a +127

short

16

-32768 a +32767

int

32

long

64

9223372036854775808 a +9223372036854775807

float

32

signo; 6-7 dgitos significativos;


-38 a +38 de exponente

Ca2

IEEE 754

Reales

double

64

Caracteres

char

16

Lgicos

boolean

-2147483648 a +2147483647

signo; 15 dgitos significativos;


-308 a +308 de exponente
Unicode

0 a 65535

true / false

Tipos referenciados
Clase
Cadenas de caracteres

Rango

String

Otros tipos referenciados son los


arrays y el resto de clases de Java

Constantes en Java
Literales
Tipo

Ejemplos

int

-123432, 0, -1, 65432, 25, ...

double

0.0, -3.7, 2.37e-2, 0.0001, ...

char

'0', 'A', 'a', '*', ';', '$', ' ', '\n', ...

String

"0.0", "A", "", "\nHola mundo", ...

boolean

true, false

Con nombre (simblicas)


Tipo

Ejemplos predefinidos

int

Integer.MIN_VALUE = -2147483648
Integer.MAX_VALUE = +2147483647

double

Double.NEGATIVE_INFINITY = Cualquier valor ms pequeo que el menor real representable


Double.POSITIVE_INFINITY = Cualquier valor ms grande que el mayor real representable
Math.PI = Valor de la constante matemtica

Declaracin de variables en Java

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.

Sentencia de lectura en Java


Ejemplos
...
Scanner teclado = new Scanner(System.in);
teclado.useLocale(Locale.US); //Establece el punto como separador decimal
System.out.print("Introduce tu edad: ");
edad = teclado.nextInt();
System.out.print("Introduce n de hermanos: ");
numHermanos = teclado.nextInt();
...
Procuraremos leer cada dato mediante una sentencia de lectura precedida por la escritura de un mensaje
informativo. De esta forma, la persona que ejecute el programa sabr qu dato deber introducir en cada
momento.

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()

Sentencia de escritura en Java

Ejemplos
...
System.out.print("Tu edad es: ");
System.out.println(edad);
System.out.print("N de hermanos: ");
System.out.println(numHermanos);
...

Procuraremos mostrar en pantalla cada variable precedida por un mensaje explicativo.


Tambin se puede utilizar el mtodo System.out.printf() que permite escribir uno o varios datos
con formato personalizable.

Programa ejemplo de lectura y escritura en Java

Sentencia de asignacin Java

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.

Operadores aritmticos para enteros y reales en Java

Operador

Significado

Resultado

*
/
%
- (unario)

Suma
Resta
Multiplicacin
Divisin
Resto (solo para enteros)
Cambio de signo

Entero (si operandos enteros)


Real (si operandos reales)

Funciones matemticas para enteros y reales en Java

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

Operadores relacionales para enteros, reales y caracteres en


lenguaje Java

Relacionales

Operador

Significado

==
!=
<
<=
>
>=

Igual
Distinto
Menor
Menor o igual
Mayor
Mayor o igual

Resultado

boolean (lgico)

Operadores para caracteres en lenguaje Java

Relacionales

Operador

Significado

==
!=
<
<=
>
>=

Igual
Distinto
Menor
Menor o igual
Mayor
Mayor o igual

Resultado

boolean (lgico)

Operadores para cadenas en Java


Operador
Concatenacin

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

Concatena dos cadenas

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)

Operadores lgicos en Java

Operador

Significado

Resultado

&&
||
!

Y
O
NO

boolean (lgico)

Conversiones de tipo explcitas en Java

Molde
Real a entero

(int)num

Se convierte el valor del real num a entero


perdiendo la parte decimal.

Entero a real

(double)num

Se convierte el valor del entero num a real.


La parte decimal es cero.

Cadena a entero

Cadena a real

Nmero, carcter
o lgico a cadena

Integer.parseInt(str)

Se convierte el valor de la cadena str a entero.

o
Integer.valueOf(str)

La cadena debe contener los caracteres


correspondientes a un nmero entero.

Double.parseDouble(str)

Se convierte el valor de la cadena str a real.

o
Double.valueOf(str)

La cadena debe contener los caracteres


correspondientes a un nmero real.

String.valueOf(dato)

Se convierte el valor de dato a cadena.

Conversiones de tipo implcitas en Java

En Java se pueden operar datos de distinto tipo (nmerico o carcter). En ese


caso, antes de realizar la operacin a bajo nivel, se convertir automticamente
uno de los operandos al tipo del otro en el sentido indicado en la figura:
char
int
byte

long

float

double

short

Ejemplo
La expresin 9/5.0 dara con resultado 1.8

En el caso de una concatenacin de cadenas con el operador +, se permite que uno


de los operandos sea de otro tipo, convirtindose automticamente a cadena antes
de la operacin.
Ejemplo
System.out.println("Tu edad es: " + edad); //La edad se convierte a String

Precedencia de los operadores y capacidad de asociacin


en Java

Precedencia de operadores de mayor a menor


(de arriba a abajo)
- (unario)

() (conversin explcita)
*

+
<

>

<=

==

>=

!=
&&
||

Cuando aparezcan varios operadores binarios de igual precedencia en la misma expresin se asociarn
(evaluarn) de izquierda a derecha

Potrebbero piacerti anche