Descargar

Datos y variables. Fundamentos de programación

Enviado por Pablo Turmero


    edu.red

    Datos y variables Mi primer programa de Java ¿Qué son datos? ¿Qué son variables? Variables en Java

    edu.red

    Mi primer programa de Java Vamos a escribir nuestro primer programa en Java Recuerda que el código fuente siempre se encuentra en un archivo con extensión .java En nuestro ejemplo, vamos a guardar el programa en un archivo llamado HolaMundo.java

    edu.red

    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’

    edu.red

    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’

    edu.red

    ¿Qué son datos? Los datos representan información que queremos recordar, comparar, o manipular Pueden ser números, textos, imágenes o sonidos Un dato puede estar compuesto de varios otros datos Ejemplo de un dato compuesto: Apellido: Jonsson Teléfono: 935422602 Foto: [imagen]

    edu.red

    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 dónde recuperarlos de la memoria

    edu.red

    ¿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 ubicación en la memoria nunca cambia

    edu.red

    Variables y la memoria (Gp:) telefono

    RAM dirección en memoria contenido

    edu.red

    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: número entero texto imagen etc.

    edu.red

    Variables en Java Identificadores Tipos de datos Declaración Inicialización y asignación Conversión de tipos

    edu.red

    Identificadores No pueden coincidir con una palabra reservada Distinción entre mayúsculas y minúsculas Secuencia de letras, dígitos, _ (subrayado) y $ No se puede poner acentos Siempre empiezan con una letra Ejemplos: Correcto: apellido, aula219, dos_veces, cantidad$250 Incorrecto: class, número, re-100, 80s

    edu.red

    Normas para identificadores Los programadores de Java se han acordado de normas para identificadores Ayuda leer un programa escrito por otra persona Normas adoptadas: Los archivos .java siempre empiezan con una mayúscula Los identificadores de variables siempre empiezan con una minúscula Si el identificador está compuesto de más que una palabra, cada palabra subsiguiente empieza con mayúscula (Ej: HolaMundo.java, unaVariableLarga) Los identificadores deben describir de forma no ambigua el dato asociado

    edu.red

    Palabras reservadas class Empieza un programa en Java public Aparece en el método ‘main’ static Aparece en el método ‘main’ void Aparece en el método ‘main’

    edu.red

    Tipos de datos básicos Enteros: int, byte, short, long Reales: float, double Caracteres: char Boolean: boolean – valor true o false

    edu.red

    Tipos enteros

    edu.red

    Tipos reales

    edu.red

    Declaración 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 Todavía no hemos indicado que dato queremos guardar

    edu.red

    Declaración La declaración 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;

    edu.red

    Inicialización Para asociar un dato con una variable, hay que inicializar la variable La inicialización se hace mientras una operación que se llama asignación Sólo 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

    edu.red

    Asignación La asignación de una variable sigue el modelo = ; puede ser reemplazado con un valor básico (literal) otra variable el resultado de una operación más compleja ¡El resultado de tiene que ser del mismo tipo que la variable! ¡El carácter ‘=’ no significa igualdad!

    edu.red

    Asignación La asignación se puede combinar con la declaración: = ; Ejemplos: boolean estaEstudiando = true; int numeroDeAlumnos; numeroDeAlumnos = 31; int indice1 = 12; int indice2 = indice1;

    edu.red

    Asignación 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;

    edu.red

    Problema ¿Cómo 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 solución, ver Intercambio.java

    edu.red

    Literales Algunos valores básicos 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

    edu.red

    Literales enteros Un número entero se escribe normalmente sólo: short aShort = 12; int anInt = 51; Excepción: 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;

    edu.red

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

    edu.red

    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 también .14

    edu.red

    Precisión y aproximación Cuando asignamos un valor a una variable de tipo float (o double) un literal de punto flotante con más de 7 dígitos (o 15), su representación en la variable es una aproximación. Con menos de 7 (o 15) dígitos, su representación en la variable es precisa.

    edu.red

    Caracteres Carácter almacenado en 2 bytes = 16 bits En teoría, permite representar 216 = 65,536 caracteres distintos Tabla Unicode recoge más de 30 000 caracteres distintos procedentes de lenguas escritas distintas (Ej: griego, árabe) Los primeros 28 = 256 corresponden a los de la tabla ASCII Declaración e inicialización: char letra = ‘A’; char respuesta = ‘Y’;

    edu.red

    Caracteres literales especiales

    edu.red

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

    edu.red

    Cadenas de caracteres: String El tipo String (? string) no es básico String no es una palabra reservada Declaración e inicialización: String saludo = “Hola Jefe”; El literal cadena es un conjunto de caracteres Dentro de una cadena se puede utilizar caracteres especiales: ““HolanJefe””: “Hola Jefe”

    edu.red

    Conversión de tipos Para enteros, se puede cambiar el tipo de un dato La conversión de tipos se puede hacer solo en este sentido: byte ? short ? int ? long No se pierde información 1 byte ? 2 bytes ? 4 bytes ? 8 bytes

    edu.red

    Conversión 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 información! short badShort = goodInt;

    edu.red

    Palabras reservadas class inicio de programa public, static, void método ‘main’ byte, short, int, long enteros float, double reales char caracteres boolean tipo Boolean true, false literales Boolean