Вы находитесь на странице: 1из 41

Datos y variables

Julio Garca Martn


2011-2012

Datos y variables

Mi primer programa de Java


Qu son datos?
Qu son variables?
Variables en Java

Mi primer programa de Java


Vamos a escribir nuestro primer programa en Java
Recuerda que el cdigo fuente siempre se encuentra
en un archivo con extensin .java
En nuestro ejemplo, vamos a guardar el programa en
un archivo llamado HolaMundo.java

Componentes de un programa
class HolaMundo {
// comentario, no hace parte del programa
public static void main(String[] args) {
// aqu se escriben las instrucciones

} // fin de main
} // fin de HolaMundo

El primer programa
class HolaMundo {
// comentario, no hace parte del programa
public static void main(String[] args) {
// aqu se escriben las instrucciones
System.out.println(Hola Mundo!);
} // fin de main
} // fin de HolaMundo

Qu son datos?
Los datos representan informacin que queremos
recordar, comparar, o manipular
Pueden ser nmeros, textos, imgenes o sonidos
Un dato puede estar compuesto de varios otros datos
Ejemplo de un dato compuesto:
Apellido:
Telfono:
Foto:

GARCIA
915422602
[imagen]

Datos en la computadora
Recuerda que los datos se guardan en la memoria de
la computadora en forma de bytes
Cada dato ocupa un cierto espacio en la memoria
Para manipular datos, la CPU tiene que saber dnde
recuperarlos de la memoria

Qu son variables?
Una variable es un nombre o identificador asociado
con un dato
Ejemplos: apellido, telefono, foto

Para cada variable, el programa reserva un espacio


suficiente para guardar el dato en la memoria RAM
Para recuperar el dato asociado con una variable, la
CPU tiene que buscar en el espacio reservado
Variable indica que se puede cambiar el dato
asociado con un identificador
No obstante, la ubicacin en la memoria nunca cambia

Variables y la memoria
RAM
direccin en memoria

contenido

126
127
128 55

telefono

129 193
130 105
131 104
132
133
134

Variables en Java
En Java, se necesita una variable para cada
dato que se quiera guardar en la memoria
El programador escoge el identificador de cada
variable
Java es strongly typed (basado en tipos): para cada
variable, debe definirse el tipo del dato asociado:

nmero entero
texto
imagen
etc.

Variables en Java

Identificadores
Tipos de datos
Declaracin
Inicializacin y asignacin
Conversin de tipos

Identificadores

No pueden coincidir con una palabra reservada


Distincin entre maysculas y minsculas
Secuencia de letras, dgitos, _ (subrayado) y $
No se puede poner acentos
Siempre empiezan con una letra
Ejemplos:
Correcto: apellido, aula219, dos_veces, cantidad$250
Incorrecto: class, nmero, re-100, 80s

Normas para identificadores

Los programadores de Java se han acordado de


normas para identificadores
Ayuda leer un programa escrito por otra persona
Normas adoptadas:
1.
2.
3.
4.

Los archivos .java siempre empiezan con una mayscula


Los identificadores de variables siempre empiezan con una
minscula
Si el identificador est compuesto de ms que una
palabra, cada palabra subsiguiente empieza con
mayscula (Ej: HolaMundo.java, unaVariableLarga)
Los identificadores deben describir de forma no ambigua
el dato asociado

Palabras reservadas
class
public
static
void

Empieza un programa en Java


Aparece en el mtodo main
Aparece en el mtodo main
Aparece en el mtodo main

Tipos de datos bsicos

Enteros:
Reales:
Caracteres:
Boolean:

int, byte, short, long


float, double
char
boolean valor true o false

Tipos enteros
Tipo
Java

Tamao

Nmero de
valores

Rango de valores

byte

1 byte

28 = 256

-128..+127

short

2 bytes

216 = 65,536

-32768..+32767

int

4 bytes

232 =
4,294,967,296

-2147483648..
+2147483647

long

8 bytes

264 = 18.4 x 1018 -9223372036854775808 ..


+9223372036854775807

Tipos reales
Tipo
Java

Tamao Nmero de Rango de


valores
valores

Precisin

float

4 bytes

7 dgitos

double 8 bytes

232 =
4,294,967,296

-3.4 x 1038
.. 3.4 x 1038

264 = 18.4 x
1018

-1.7 x 10308 15 dgitos


.. 1.7 x 10308

Declaracin
Antes de utilizar una variable, siempre hay que
declararla
Cuando declaramos una variable, indicamos el tipo
de su dato asociado y su identificador
Como resultado, el programa reserva un espacio
suficiente para guardar el dato en la memoria RAM
Todava no hemos indicado que dato queremos
guardar

Declaracin
La declaracin de una variable siempre sigue el modelo
<tipo> <identificador> ;
Se puede declarar varias variables a la vez:
<tipo> <identificador>, <identificador> [] ;
Ejemplos:
boolean estaEstudiando;
int numeroDeAlumnos;
char myChar1, myChar2, myChar3;
int indice1, indice2;

Ejercicio 5 (cuadernillo)
Ejemplos de variables para:

Valor absoluto de un nmero


Doble de un nmero entero
Mayor de 2 enteros
I simo dgito

Ejercicio 6 (cuadernillo)
Ejemplos de variables para:

Radio de un circulo
Longitud de circunferencia
rea de un rectngulo
rea de crculo
Superficie de cilindro

Ejercicio 7 (cuadernillo)
Ejemplos de variables para:
Ser par
Ser mltiplo

Inicializacin
Para asociar un dato con una variable, hay que
inicializar la variable
La inicializacin se hace mientras una operacin que
se llama asignacin
Slo se puede inicializar una variable con un dato del
tipo correcto (sino el programa no compila)
Como resultado, el dato queda guardado en el
espacio respectivo

Asignacin
La asignacin de una variable sigue el modelo
<identificador> = <expresin> ;
<expresin> puede ser reemplazado con
un valor bsico (literal)
otra variable
el resultado de una operacin ms compleja

El resultado de <expresin> tiene que ser del


mismo tipo que la variable!
El carcter = no significa igualdad!

Asignacin
La asignacin se puede combinar con la declaracin:
<tipo> <identificador> = <expresin> ;
Ejemplos:
boolean estaEstudiando = true;
int numeroDeAlumnos;
numeroDeAlumnos = 31;
int indice1 = 12;
int indice2 = indice1;

Asignacin
Siempre se puede cambiar el dato asociado con una
variable
Para cambiar el dato asociado, hay que asignar otro
valor a la variable (puede ser el valor de otra
variable !)
Ejemplo:
int numeroDeAlumnos;
int n = 23;
numeroDeAlumnos = 31;
numeroDeAlumnos = 26;
numeroDeAlumnos = n + 23;

Ejercicio 8 (cuadernillo)
Ejemplos de asignacin de variables para:
Ser par
Ser mltiplo

Ejercicio 9 (cuadernillo)
Ejemplos de asignacin de variables para:

Radio de un circulo
Longitud de circunferencia
rea de un rectngulo
rea de crculo
Superficie de cilindro

Problema
Cmo intercambiar los valores de 2 variables?
Entrada: valor1 es igual a 10 y valor2 a 20
Salida: valor1 es igual a 20 y valor2 a 10
Para la solucin, ver Intercambio.java

Literales
Algunos valores bsicos se pueden expresar
directamente en Java
Las palabras que describen estos valores se llaman
literales
Hay varios literales en Java:
Enteros:
10
Reales:
18.54
Caracteres:
d
Cadenas de caracteres:
Hola
Boolean:
true y false

Literales enteros
Un nmero entero se escribe normalmente slo:
short aShort = 12;
int anInt = 51;
Excepcin: un entero del tipo long fuera del rango
del tipo int necesita una L al final:
long aLong = 562;
long badLong = 5124723163;
long goodLong = 5124723163L;

Literales de punto flotante


Un nmero de punto flotante literal es compatible con
el tipo double:
double goodDouble = 12.7;
Un nmero de punto flotante literal seguido de una F
es compatible con el tipo float:
float goodFloat = 12.7F;
float badFloat = 12.7;

Literales de punto flotante

Se puede utilizar exponentes


Por ejemplo, 12 700 es igual a 1.27*104 y a 12.7*103
En un literal de punto flotante, e3 significa *103
Ejemplos:
float goodFloat = 12.7e3F;
// se imprime 12700.0
double goodDouble = 73e-4;
// se imprime 0.0073
El literal 0.14 se puede escribir tambin .14

Precisin y aproximacin
Cuando asignamos un valor a una variable de tipo
float (o double) un literal de punto flotante con
ms de 7 dgitos (o 15), su representacin en la
variable es una aproximacin.
Con menos de 7 (o 15) dgitos, su representacin en
la variable es precisa.

Caracteres
Carcter almacenado en 2 bytes = 16 bits
En teora, permite representar 216 = 65,536
caracteres distintos
Tabla Unicode recoge ms de 30 000 caracteres
distintos procedentes de lenguas escritas distintas
(Ej: griego, rabe)
Los primeros 28 = 256 corresponden a los de la tabla
ASCII
Declaracin e inicializacin:
char letra = A;
char respuesta = Y;

Caracteres literales especiales


Cdigos
\n
\r
\t
\
\
\\

Significado
Nueva lnea
Retorno de carro
Tabulacin
Comilla simple
Comilla doble
Barra inclinada inversa

Boolean
Variable con valor lgico
Acepta dos literales posibles: true y false
Ejemplo:
boolean ojosNegros = true;
Almacenado en 1 bit de memoria

Cadenas de caracteres: String


El tipo String ( string) no es bsico
String no es una palabra reservada
Declaracin e inicializacin:
String saludo = Hola Jefe;
El literal cadena es un conjunto de caracteres
Dentro de una cadena se puede utilizar caracteres
especiales:
\Hola\nJefe\:
Hola
Jefe

Conversin de tipos
Para enteros, se puede cambiar el tipo de un dato
La conversin de tipos se puede hacer solo en este
sentido:
byte short int long
No se pierde informacin
1 byte 2 bytes 4 bytes 8 bytes

Conversin de tipos
// Inicializa una variable con un entero
int goodInt = 79124;
// Convierte el entero al tipo long
long goodLong = goodInt;
// Si se convierte al tipo short
// se pierde informacin!
short badShort = goodInt;

Palabras reservadas
class
public, static, void
byte, short, int, long
float, double
char
boolean
true, false

inicio de programa
mtodo main
enteros
reales
caracteres
tipo Boolean
literales Boolean

Вам также может понравиться