Fundamentos de Programación Tipos de Datos en Java

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
PROF. ING. JULIO CESAR CANO RAMIREZ
Informática I – 4to año Volumen II.
Fundamentos de la Programación Estructurada
Técnico en programación de Software
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Programación Orientada a Objetos
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Temas Operaciones básicas Operaciones Operadores Aritméticos
3. INTRODUCCIÓN A LA PROGRAMACIÓN
ESTRUCTURAS DE SECUENCIA
Ingeniero Anyelo Quintero
Conceptos Básicos de Java
Material Elaborado por: Lic. Saily González. CONTENIDO 2.1- Estructura de una Aplicación JAVA 2.2- Elementos básicos de la Programación JAVA Comentarios.
Programación.
POO Java Módulo 3 Elementos de programas Identificadores
Tema 6: Clases Antonio J. Sierra.
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
Características de “C”
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
CARACTERÍSTICAS DE LOS PROGRAMAS
El lenguaje de programación Java
JAVA J.A.C..
FUNDAMENTOS DE PROGRAMACIÓN
Unidad III Elementos del lenguaje C++
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
Tema 2: Los tipos de datos
Algoritmos y Desarrollo de Programas I
INGENIERIA EN SISTEMAS COMPUTACIONALES
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Programa Vespertino de Automatización Equipos y Sistemas de Control Digital Lenguaje C Profesor: Felipe Páez Mejías D e p a r t a m e n t o d e I n g e.
Tipo de Datos Básicos.
Programación en Pascal
ESTRUCTURA DE DATOS ESD-243
Programación Básica con NQC Patricio A. Castillo Pizarro 25/08/2007.
COMPONENTES DE UN ALGORITMOS
Resumen Fundamentos de Programación/ Programación I
VBA – Elementos del Lenguaje
El Concepto de Tipo Los tipos permiten indicar la característica de los valores (datos) manipulados en un programa. Toda variable tiene asociado un tipo.
Programación en C para electrónicos
Algoritmo Ing. Maria Rosana Heredia
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
Introducción a la programación
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Alto Nivel. Y Es un compilador. YContiene un conjunto de palabras.
IDENTIFICADORES Un identificador es un "nombre" que nos permite dirigirnos específicamente a una de las entidades propias del lenguaje, es decir, son los.
FUNDAMENTOS DE PROGRAMACIÓN
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
UNIVERSIDAD TECNICA PERTICULAR DE LOJA
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
Computación I (CI-2125) Clase 2 Prof. Mireya Morales.
PRINCIPIOS DE PROGRAMACIÓN

Presente un cuestionario con los aspectos mas importantes sobre los
Fundamentos de Programación
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
Lic. Carla Aguirre Montalvo
Programación de Computadores
Lenguaje de programación c
EL TIPO DE DATO LOGICO y constantes.
Informática Ingeniería en Electrónica y Automática Industrial
1 Definición y Conversión de datos Agustín J. González ELO-329.
Características de “C” Esta conformado por un Ambiente Integrado. Es un Lenguaje de Nivel medio.Es un compilador. Contiene un conjunto de palabras reservadas.
Unidad Temática II Algoritmia Elemental Operadores aritméticos: son símbolos que le indican al compilador la operación de cálculo a realizar entre los.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Ing. Barros Rodriguez D. Ronald Introducción a la Programacón.
Transcripción de la presentación:

Fundamentos de Programación Tipos de Datos en Java

Concepto de Variable y constante.   Variable: Es un espacio de memoria reservado para almacenar un valor, dicho valor va cambiando durante el flujo de un programa. Constante: Es similar a una variable, sin embargo la constante no asignará un valor al inicio de un programa y este no cambiará durante el flujo de un programa. Nota: El espacio de memoria reservado dependerá del tipo de variable, estos tipos y su peso (espacio que ocupan) depende del lenguaje en el que se declaren.

Datos Primitivos.   Son aquellos tipos de datos que pueden utilizarse directamente en un programa sin necesidad de utilizar POO. pueden ser divididos en dos grupos: Boléanos. Numéricos.

Datos No Primitivos (Objetos).   Incluyen todos los tipos de datos que pueden ser instanciados a partir de las clases. Los objetos, a diferencia de los tipos primitivos, representan un conjunto de datos como una única unidad que además posee estados y comportamientos.

Declaración de una variable.   Sintaxis: Tipo_de_dato identificador = [valor][, identificador] [=valor]… ; Ejemplos: int contador = 1; int contador = 1, suma = 0, promedio = 0;

Datos numéricos primitivos.   byte: Almacena datos de tipo entero de tamaño 8 bits. intervalo de valores entre el -128 y + 127. Ej: byte a = 1+1*2; short: Tiene una capacidad de 16 bits y permite almacenar un valor entero entre -32768 y +32767 (al igual que el entero en C). Ej: short a = 0, b=0;

Datos numéricos primitivos.   int: El tipo de dato entero tiene una capacidad de 32 bits y permite almacenar un valor entero entre -2147483648 y +2147483647. Ej: int a = 0; int b= 0; long: Tiene una capacidad de 64 bits y permite almacenar un valor entero entre -9.223.372.036.854.775.808 y +9.223.372.036.854.775.809. Ej: long a = 100;

Datos numéricos primitivos.   float: Tiene una capacidad de 32 bits y permite almacenar un valor real en coma flotante (decimales) entre -3,4*10-38 hasta 3,4*1038 . Los valores expresados en float deben ir acompañados de una letra f minúscula al final. Ej: float a = 100f;

Datos numéricos primitivos.   double: Tiene una capacidad de 64 bits y permite almacenar un valor real entre -1,7*10-308 y +1,7*10308. Es el tipo de dato que asume Java al escribir un real, por ello no va acompañado de ningún carácter como en el caso del float. Ej: double a = 100;

Datos no numéricos primitivos.   boolean: El tipo de dato booleano es utilizado para conocer el resultado de una evaluación booleana, los dos posibles valores son true (verdadero) y false (falso). Si su valor de inicio no es especificado, el valor por defecto es false. Ej: boolean a = true;

Datos no numéricos primitivos.   char: Tipo de datos que permite almacenar un caracter, sin embargo el valor que en realidad almacena es un entero equivalente entre los valores del 0 al 127 de la tabla de caracteres ASCII. La forma de declarar un char es la siguiente: Ej: char letra1 = ‘a’; char letra2=97;

Datos no numéricos no primitivos.   String: Es en realidad una clase, que almacena como atributo un arreglo de caracteres. No es un tipo de dato primitivo, su uso es muy habitual en los programas y adicionalmente se puede utilizar de la misma forma en la que se declaran los tipos primitivos. Ej: String palabra1 = “iceberg”;

Representación de sentencias de instrucciones.   Operación de entrada. Operación de salida. Operación de asignación. Operadores aritméticos: son aquellos que permiten realizar operaciones matemáticas y son:

Jerarquías de los operadores.   Paréntesis, comenzando por el más interno. Potencias. Productos y divisiones. Sumas y restas. Concatenación. Relacionales. Lógicos.

Ejercicios. Indicar el valor de x en cada uno de los siguientes casos. x = ( 2 + 3 ) * 6; x = ( 12 + 6 ) / 2 * 3; x = ( 2 + 3 ) / 4; x = ( 2 + 3 ) % 4 x = ( 2 + 3 ) / 4 x = ( 3 * 4 + 2 ) * ( 15 / 2) x = 2 ^ 2 + 3 – 2 * ( 5 % 2 ) x = 3 * 6 * 2 / 8 – 3 * ( 19 / 6)

Ejercicios. Realizar el siguiente cálculo respetando prioridades. 4 + 2 * 5 23 * 2 / 5 46 / 5 3 + 5 * (10 - (2 + 4)) 3 + 5 * (10 - 6) 3.5 + 5.09 - 140 / 40 3.5 + 5.09 - 3.5 2.1* (1.5 + 3.0 * 4.1)

Ejercicios. Reconozca el tipo de datos más apropiado para los siguientes casos: La edad de una persona. La distancia entre dos puntos. El color de un vehículo. La cantidad de kilos que pesa una bolsa de fruta. El estado de un interruptor. La raza de un animal El nombre de una persona. La cantidad de ruedas de un camión El tipo de licencia que tiene un conductor. El valor de pi

Ejercicios. Expresar en formato computacional utilizando los operadores aritméticos las siguientes expresiones.

Conversión entre tipos. En Java existen dos tipos de conversiones, la implícita y explicita. La implícita es aquella que no necesita de alguna intervención por parte del programador para que se lleve a cabo, siendo Java el encargado de realizarla. El ejemplo más común es la operación aritmética de dos tipos de datos distintos, ¿en una variable de qué tipo debo almacenar el resultado entre la suma entre un float y un double?

Conversión entre tipos. Java siempre dará como resultado el tipo más grande, con ello se asegura de que no exista perdida de precisión en el resultado. La conversión implícita es aplicada en la dirección de izquierda a derecha entre los datos presentados en el siguiente diagrama, lo que significa que un byte, puede almacenarse en una variable de tipo short o char o cualquiera de las 3 puede almacenarse en un int.

Conversión entre tipos. La conversión explícita o también conocida como cast consiste en forzar la conversión entre un tipo de dato a cualquier otro (excepto desde booleanos a enteros o reales), la sintaxis para realizar una conversión explicita es la siguiente: (Tipo destino) expresión o variable A=(int)promedio;

Conversión entre tipos. En el siguiente ejemplo, se convierte una expresión que da como resultado un float (debido a que es más grande que un short y un long) en un entero, dando como resultado el valor de 3.

Conversión entre tipos. Muchas veces se piensa que el resultado es 4, debido a que la suma de las tres variables da en realidad 3.8f sin embargo convertir este resultado a un entero no implica una aproximación, sino que sólo tomar la parte entera del valor resultante (también conocido como truncar datos)

Vida y ámbito de una variable Las variables cuando son declaradas, tienen lo que se conoce como un ámbito, el cual define las fronteras dentro de las cuales las variables pueden ser utilizadas. Tradicionalmente la programación estructurada tiene dos niveles de visibilidad distintos: las variables locales y globales, sin embargo en la programación orientada a objetos el ámbito de una variable dentro de una clase es algo más complejo. Las variables siempre deben ir dentro de una estructura que los contenga, para cada estructura existe un inicio y cierre de bloque que la delimita.

Vida y ámbito de una variable Como ejemplo la siguiente imagen muestra una clase con su respectivo inicio y cierre de bloque. public class Persona{ }

Vida y ámbito de una variable La clase Persona posee además un comportamiento llamado correr y descansar, los cuales también tienen limitado su bloque. Podemos decir entonces que la clase Persona contiene dentro un comportamiento llamado correr y descansar. public class Persona{ public void correr(){ } public void descansar(){

Vida y ámbito de una variable En este caso, la variable cansancio es una variable de instancia debido a que está definida dentro de la clase, pero fuera de sus comportamientos, por ende los métodos descansar y correr (que también son parte de la clase) tienen visibilidad sobre cansancio, aumentando en este caso su valor al correr y disminuyéndola al descansar.

Vida y ámbito de una variable public class Persona{ private int cansancio=0; public void correr(){ cansancio = cansancio + 1; } public void descansar(){ cansancio = cansancio – 1;

Vida y ámbito de una variable El ámbito de una variable siempre dependerá de del lugar donde se produzca su declaración, por ejemplo, ya vimos que si declaramos la variable dentro de los bloques que limitan la clase persona, pero fuera de correr o descansar, la variable se denomina una variable de instancia y está disponible para todos los métodos que la clase contenga.

Vida y ámbito de una variable En el siguiente ejemplo la variable cansancio es ahora una variable declarada dentro del comportamiento correr, esto se denomina variable local del método. Para este caso la visibilidad de dicha variable son los límites donde fue declarada, vale decir el inicio y bloque de correr, el siguiente ejemplo causa un error debido a que descansar no tiene una visibilidad sobre la variable cansancio.

Vida y ámbito de una variable public class Persona{ public void correr(){ int cansancio=0; cansancio = cansancio + 1; } public void descansar(){ cansancio = cansancio – 1; => ERROR!!!

Vida y ámbito de una variable IMPORTANTE. Las variables de instancia son capaces de mantener el valor durante toda la vida de un objeto, sin embargo las declaradas dentro de un comportamiento son creadas, utilizadas y eliminadas al finalizar la ejecución del comportamiento que la contiene.

Vida y ámbito de una variable También es posible crear límites dentro de los comportamientos correr, si bien la técnica que se presenta en el siguiente no es muy común, es reconocida por el lenguaje Java. public class Persona{ public void correr(){ { int a; }

Vida y ámbito de una variable Esto tiene un error: public class Persona{ public void descansar(){ int a; { }

Vida y ámbito de una variable En el segmento de código anterior se muestran dos casos a considerar. En el interior del método correr existe una delimitación dentro que contiene la declaración de una variable entera cuyo identificador es “a”, sin embargo al terminar el límite donde fue declarada la variable ha vuelto a ser declarada, a primera vista da la idea de que correr tiene dos variables llamadas “a”, pero sabemos que eso es imposible. Recordemos que el identificador de una variable debe ser único en un mismo ámbito, lo que en realidad sucede es que la variable que se declara primero tiene una vida útil desde que se declara hasta el cierre de bloque en el que fue declarada, por ende al ser declarada la segunda variable llamada “a”, la primera ya ha sido eliminada.

Vida y ámbito de una variable En descansar en cambio, se produce un error debido a que se declara primero una variable entera dentro de los límites del comportamiento descansar, lo que provoca que también esté disponible para el ámbito que existe en el interior del método, por lo tanto, en el ámbito interior, no es posible declarar la variable entera con el identificador “a”, debido a que ya existe en él.

Operadores Aritméticos. Los operadores aritméticos son aquellos que permiten realizar operaciones matemáticas y son:

Operadores Aritméticos. El siguiente ejemplo muestra una operatoria aritmética que incluye una conversión explicita cuyo resultado es 4: long resultado = ( long ) ( (8%3) * 2.1);

Operadores unarios y de auto asignación Este tipo de operadores son una forma reducida de utilizar los operadores aritméticos tradicionales.

Operadores unarios y de auto asignación Debes prestar especial atención cuando uses los operadores -- y ++ dentro de una expresión aritmética, debido a que el orden en el que se utilizan cambia el resultado de la operación. -- y ++ pueden ser utilizados como sufijos o como prefijos, lo que implica la jerarquía con la que se ejecuta, por ejemplo, en este caso ++ está antes de la variable “a” lo que implica que previo a cualquier operación que vaya ejecutarse sobre él la prioridad es incrementarlo en 1, siendo el resultado para este caso igual a 6 dado que a es 1 antes de ejecutar la suma.

Operadores Lógicos Relacionales Se usan para formar expresiones booleanas, es decir expresiones que al ser evaluadas producen un valor booleano: verdadero o falso. Se utilizan para establecer una relación entre dos.

Operadores Lógicos Relacionales (continuación) Cuando la comparación se hace con datos alfanuméricos, opera de acuerdo a las siguientes reglas: Se compara uno a uno de izquierda a derecha. Si son de diferente longitud pero exactamente iguales hasta el último carácter del más corto, entonces el más corto es el menor. Sólo son iguales dos datos alfanuméricos si son iguales su contenido y su longitud. Las letras minúsculas tienen mayor valor que las mayúsculas. (tabla ascii)

Operadores Lógicos Booleanos: Combinan sus operandos de acuerdo al álgebra de Boole para producir un nuevo valor que se convierte en el valor de la expresión. || OR u O: es un operador binario, afecta a dos operadores. La expresión que forma es verdadera cuando al menos uno de sus operandos es verdadero. Es un operador de disyunción (suma lógica). Ejemplo: estudiamos o vamos al estadio

Operadores Lógicos && AND o Y. También es un operador binario. La expresión formada es cierta cuando ambos operadores son ciertos al mismo tiempo. Es el operador lógico de conjunción (producto lógico) Ejemplo: si es verano y hace calor vamos a la playa. ! NOT o NO. Es un operador unario, afecta a un solo operando. Cambia el estado lógico de la expresión (negación); si es verdadera la transforma en falsa y al revés. Ejemplo: no es verano. El orden de prioridad de estos operadores es: !, && y ||.

Ejercicios. PARTE 1. Indicar si son ciertas o falsas las expresiones “12” + “12” = “24” “12” + “12” = “1212” “hola” = “hola” “hola” = “hola ” 12 + 12 = 24 verdadero and verdadero not falso (verdadero and verdadero) or falso (falso or falso) and falso not (verdadero and falso)

Ejercicios. PARTE 2. Resuelva las siguientes concatenaciones: “12” + “12” “El resultado ” + “es” “Método”+”lógico” “123”+”.24-“+”A”

Ejercicios. PARTE 3. Resuelva las siguientes concatenaciones: “12” + “12” “El resultado ” + “es” “Método”+”lógico” “123”+”.24-“+”A”

Ejercicios. PARTE 4. Si a = 10, b = 20, c = 30, entonces: (a + b) > c (a – b) < c (a – b) = c (a * b) != c

Ejercicios. PARTE 5. Calcular el valor de las siguientes expresiones aritméticas: 21 % 7 9/2+15 % 2 (3+6)/2+1.5 32/3 - Math.pow(2,2) 2*3+5*6/2*3 Math.pow ( (25-7*3) ,3) / 4 * 5 10+38/(14-(10-12/(2*3)))

Ejercicios. PARTE 6. Calcular el resultado de las siguientes expresiones lógicas. ! (5>6) && 7<=4 7>4 && 5<=5 || 4=5 ! (7=7) && (7>=8 || 8=6) (5+2)<=5 && 3*2==5 or 7<=2*2 or 2*2<=(2+2) (! (14/2>8) || 5>5) && (5<=27/3 || 5+3<=3/2) (3+5*2)==12/3 && ((5+3)==18/9 || 10/2<=9) || !(9>=2)

Ejercicios. PARTE 7. Expresar el resultado de las siguientes expresiones: "PEDRO " + "GOMEZ " "GARCIA " + " - GONZALEZ " "CALLE- " + "-MAYOR " “12.465”+”.450”+”-k”

Ejercicios. PARTE 8. Escriba los siguientes intervalos numéricos en sus correspondientes intervalos lógicos: [5,15] ]120,200] [0,50[ ]15,30[ ]-∞,15] and [30, ∞+[