Está en la página 1de 36

Datos y variables

Fundamentos de programacin/ Programacin I

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: Jonsson 935422602 [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
126 127 128 55

contenido

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
byte short int

Tamao
1 byte 2 bytes 4 bytes

Nmero de valores
28 = 256 216 = 65,536 232 = 4,294,967,296

Rango de valores
-128..+127 -32768..+32767 -2147483648.. +2147483647

long

8 bytes

264 = 18.4 x 1018 -9223372036854775808 ..+9223372036854775807

Tipos reales
Tipo Java
float

Tamao Nmero de Rango de valores valores


4 bytes
232 = 4,294,967,296

Precisin

-3.4 x 1038 .. 3.4 x 1038

7 dgitos

double 8 bytes

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;

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 Ejemplo: int numeroDeAlumnos; numeroDeAlumnos = 31; numeroDeAlumnos = 26;

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

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

También podría gustarte