Inicio Java

download Inicio Java

of 41

description

Datos y variables

Transcript of Inicio Java

  • 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: GARCIA Telfono: 915422602 Foto: [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

    126

    127

    128 55

    129 193

    130 105

    131 104

    132

    133

    134

    telefono

    RAM

    direccin en memoria contenido

  • 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. Los archivos .java siempre empiezan con una mayscula 2. Los identificadores de variables siempre empiezan con una

    minscula 3. Si el identificador est compuesto de ms que una

    palabra, cada palabra subsiguiente empieza con mayscula (Ej: HolaMundo.java, unaVariableLarga)

    4. Los identificadores deben describir de forma no ambigua el dato asociado

  • Palabras reservadas

    class Empieza un programa en Java public Aparece en el mtodo main static Aparece en el mtodo main void Aparece en el mtodo main

  • Tipos de datos bsicos

    Enteros: int, byte, short, long Reales: float, double Caracteres: char Boolean: 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 valores

    Rango de valores

    Precisin

    float 4 bytes 232 = 4,294,967,296

    -3.4 x 1038

    .. 3.4 x 1038 7 dgitos

    double 8 bytes 264 = 18.4 x 1018

    -1.7 x 10308

    .. 1.7 x 10308 15 dgitos

  • 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 ;

    Se puede declarar varias variables a la vez: , [] ;

    Ejemplos: boolean estaEstudiando; int numeroDeAlumnos; char myChar1, myChar2, myChar3; int indice1, indice2;

  • Ejemplos de variables para:

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

    Ejercicio 5 (cuadernillo)

  • Ejemplos de variables para:

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

    Ejercicio 6 (cuadernillo)

  • Ejemplos de variables para:

    Ser par Ser mltiplo

    Ejercicio 7 (cuadernillo)

  • 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 = ;

    puede ser reemplazado con un valor bsico (literal) otra variable el resultado de una operacin ms compleja

    El resultado de tiene que ser del mismo tipo que la variable!

    El carcter = no significa igualdad!

  • Asignacin

    La asignacin se puede combinar con la declaracin: = ;

    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;

  • Ejemplos de asignacin de variables para:

    Ser par Ser mltiplo

    Ejercicio 8 (cuadernillo)

  • Ejemplos de asignacin de variables para:

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

    Ejercicio 9 (cuadernillo)

  • 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 Significado \n Nueva lnea \r Retorno de carro \t 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 inicio de programa public, static, void mtodo main byte, short, int, long enteros float, double reales char caracteres boolean tipo Boolean true, false literales Boolean