Sei sulla pagina 1di 15

Fundamentos de Programacin

Unidad III

TIPOS DE DATOS Todos los lenguajes de programacin soportan algn conjunto de diferentes tipos de datos. Un tipo de dato es un conjunto de valores y un conjunto de operaciones definidas para esos valores. Un tipo de dato describe un conjunto de objetos con la misma representacin. Existe un nmero de operaciones asociadas con cada tipo, por ejemplo: es posible realizar aritmtica sobre tipos de datos enteros y reales, concatenar con los datos de tipo cadena o recuperar o modificar el valor de un elemento de un arreglo. Un tipo de dato proporciona una descripcin de sus instancias que indican al compilador cosas como cuanta memoria se debe asignar para una instancia, cmo representar los datos en memoria y qu operaciones son permisibles sobre esos datos. Por ejemplo, cuando se escribe la siguiente declaracin: float z Se est declarando una instancia denominada z del tipo de dato float. El tipo de dato float, indica al compilador que reserve para l una localidad de 32 bits de memoria y que operaciones tales como sumar, restar, multiplicar le estarn permitidas. Sin embargo no necesitamos escribir la definicin del tipo float, el autor del compilador lo hizo por nosotros y se construyen en el compilador. Los tipos de datos que se construyen en el compilador, se conocen como tipos de datos fundamentales o predefinidos. Cada lenguaje de programacin incorpora una coleccin de tipos de datos fundamentales, que incluyen normalmente enteros, reales, carcter, etc. Los lenguajes soportan tambin un nmero de constructores de tipos de datos estructurados o compuestos, que son tipos ms complejos, por ejemplo: los registros y los arreglos.

SIMPLES O PRIMITIVOS (Bsicos, Fundamentales o predefinidos): Son aquellos que reconoce directamente el lenguaje, sirven de base para otros tipos de datos (complejos), ocupan solo una localidad de memoria, para el almacenamiento de un valor simple, no de objetos complejos. Por lo tanto la variable que lo identifica hace referencia a un valor nico a la vez., este tipo de datos se clasifican de la siguiente manera: Numricos: Son aquellos que solamente aceptan caracteres numricos y el caracter punto en el caso de aquellos valores fraccionarios. Enteros: Son aquellos que consideran solamente valores enteros (sin fracciones decimales) pudiendo ser precedidos por el caracter (-), para asignarle el signo a los valores negativos. A este grupo pertenecen los siguientes tipos.

Fundamentos de Programacin

Unidad III

Tipo Long Int Short Byte

Tamao 64 bits 32 16 8

Rango -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 -2,147,483,648 a 2,147,483,647 -32,768 a 32,767 -128 a 127

Nota: Se emplearon comas en la tabla con el nico objetivo de clarificar el rango, pero es conveniente aclarar que el tipo de dato entero solo acepta caracteres numricos y el signo menos para los valores negativos. Coma Flotante o Reales: Tambin pueden estar precedidos por el signo (-), pero a diferencia de los enteros, pueden contener fracciones decimales, por ello incluyen el carcter punto como separador de la parte entera y la fraccionaria. Tipo Tamao Double 64 bits Float 32 Rango 1.7e-308 a 1.7e+308 3.4e-038 a 3.4e+038

Caracter o char: Ocupan 16 bits, con un rango de 0 a 65,536. Este rango tan amplio, le permite al lenguaje representar cualquier carcter alfabtico, numrico (sin signo) o especial de cualquier lenguaje o idioma de cualquier parte del mundo, garantizando con esto la portabilidad. El carcter debe estar delimitado por comillas simples (apostrofes). Ejemplos: A 7 Es posible tambin, en lugar del caracter, incluir el nmero de cdigo en ASCII que le corresponde a un determinado caracter. Ejemplo: b = 64; Nota: En este caso b tomara el carcter @ como su valor asignado.

Lgicos o Booleanos: Java los define como Boolean y son aquellos que solamente pueden tomar uno de dos posibles valores: 1. Falso (False) 2. Verdadero (True)

Fundamentos de Programacin

Unidad III

NO PRIMITIVOS (Estructurados o compuestos): Son aquellos que no estn considerados por el lenguaje y tendrn que ser definidos por el programador, empleando para ello los tipos de datos simples o bsicos, a ellos pertenecen los siguientes: Cadena de caracteres o String: Las cadenas en Java no son un tipo de dato simple, ni tampoco un arreglo de caracteres como lo manejan otros lenguajes, sin embargo si se manejan en Java pero como objetos con propiedades y atributos especiales que facilitan mucho la manipulacin de hileras. Por ahora veremos las cadenas en su forma ms simple compuestas por un conjunto de caracteres delimitados por comillas dobles. Ejemplos: String cadena; cadena = Cd. Victoria; cadena = Juan Martnez;

Matrices: (En otros lenguajes se les conoce tambin como arreglos o formaciones) Permiten almacenar un conjunto finito de datos homogneos (de un mismo tipo) y pueden ser unidimensionales o multidimensionales. Una matriz entonces puede definirse como un conjunto de localidades de memoria que comparten un mismo nombre. Las matrices pueden ser lineales (unidimensionales) y no lineales (matrices multidimensionales). Ejemplos: int matrizLineal; matrizLineal = {5,8,10,0,7,1}; Referencias: Cualquier variable cuyo tipo de dato es de una clase definida en las libreras de JAVA o de una clase escrita por el programador. Ejemplos: Date fecha; fecha=new Date();

Fundamentos de Programacin

Unidad III

EJERCICIOS TIPOS DE DATOS De acuerdo al documento ledo y considerando adems los rangos de valores para los tipos de datos numricos analice la siguiente lista de valores e identifique y seale a qu tipo de dato pertenecen (byte, short, int, long, double, float, boolean, char, String):

No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Valor 21 False s 32768 3.4 e+038 423158 -32769 )!)(!? True 42.61 32767 18 Anaya # 201 6 $1,426.00 0 1.7e-308

Tipo de Dato

IDENTIFICADORES, VARIABLES Y CONSTANTES Algunos de los principales componentes de un programa en Java son los identificadores, las variables y las constantes. Identificadores: Se emplean para asignarle un nombre a una clase, objeto, atributo, etc. Y se puede emplear en el, cualquier secuencia de caracteres alfabticos en maysculas o minsculas, numricos, los caracteres de subrayado (guin bajo), el de dlar ($) y no se permiten los espacios en blanco como separadores de palabras. Ejemplos vlidos Cuenta Cal_1 promedioGeneral salarioMinimo Ejemplos NO vlidos Cuenta de cheques *calificacin /contador

Fundamentos de Programacin

Unidad III

Existe un conjunto de consideraciones o reglas que deben cuidarse al elegir un identificador, como son las siguientes: Los identificadores pueden tener cualquier longitud, aunque se recomienda que sean cortos y den una idea de para que son. No se pueden emplear palabras clave o reservadas como identificadores Ejemplo: else sera un identificador no vlido Java es sensible a las maysculas por lo tanto distingue a unas de otras Ejemplo: Num es diferente de num Los nombres de variables se escriben con minsculas o se combinan con maysculas como separadores, cuando se componen de varias palabras Ejemplos: cveFact contador Los nombres de constantes se escriben con maysculas Ejemplo: IMPUESTO Los nombres de los mtodos combinan minsculas y maysculas ya que generalmente emplean palabras compuestas donde la primer palabra indica la accin y la segunda que inicia con mayscula indica sobre quien recae la accin Ejemplos: imprimeFactura() calculaPrecioVenta() Los nombres de las clases incluyen en el primer carcter una mayscula Ejemplos: Factura Circulo Los nombres de los objetos incluyen solo minsculas Ejemplo: obrero Variables: Se considera la unidad bsica de almacenamiento de Java, su valor puede cambiar durante la ejecucin del programa y se define mediante la declaracin del tipo de dato a almacenar en ella, seguido del identificador de la variable y un valor inicial opcional compatible con el tipo que se le haya asignado a la variable, si se requiere declarar a un conjunto de variables del mismo tipo, estas se deben separar utilizando el carcter coma ( , ). En otros lenguajes, las declaraciones se sitan siempre al inicio del programa, mientras que en Java, las declaraciones se pueden mezclar con sentencias ejecutables y su mbito es el bloque en el que estn declaradas es decir: Puede declararse en una clase como miembro de la misma. Puede declararse al inicio de un mtodo como variable local para ese mtodo. Puede declararse en algn punto especfico del programa con una sentencia ejecutable, como en una estructura for. Formato de declaracin: tipo identificador;

Fundamentos de Programacin

Unidad III

o tambin: tipo identificador = valor ;

NOTA : Recuerde que el valor puede ser opcional, si este no se requiere, simplemente se declara sin inicializarlo. Ejemplos: int int byte double char

a, b, c; d = 5, e, f = 8 ; edad = 27 ; precio = 286.65; x = 5;

Constantes: Son valores que permanecen fijos durante la ejecucin del programa, estos pueden o no contener identificador, cuando no lo tienen se les conoce como literales y cuando lo tienen se deben declarar de modo muy similar a como se hace con una variable pero con las siguientes diferencias: 1. El identificador solo puede contener maysculas y caracteres de subrayado (guin bajo). 2. Necesariamente se debe inicializar con un valor (literal); 3. Se debe anteponer al tipo de dato la palabra reservada final. Ejemplos: final double VALOR_DE_ PI = 3.1416; final double A = 22570; final double CM_POR_PULGADA = 2.54; final int MESES_DEL_AO = 12; Cuando se emplean literales numricas en una expresin, si no contiene punto decimal son del tipo int por defecto y si cuenta con el ser double por defecto. Si se desea modificar el tipo de la literal, se debe aadir en seguida del valor, la inicial del tipo por el que se desea cambiar. Ejemplo: float valor_1; byte valor_2; final byte V_CONSTANTE = 2b; valor_1 = 275.67f ; valor_2 = 4b * V_CONSTANTE;

Fundamentos de Programacin

Unidad III

EJERCICIOS DE IDENTIFICADORES, VARIABLES Y CONSTANTES De la siguiente lista de identificadores seale con una X los identificadores validos en Java para nombres de clases: Alumnos Cuenta de cheques BoletaDeCalificaciones b trabajos_finales De la siguiente lista de identificadores seale con una X los identificadores validos en Java para nombres de objetos: Calificaciones 1er.calificacin empleado 6 circulo De la siguiente lista de identificadores seale con una X los identificadores validos en Java para nombres de mtodos: Mover() calculaPrecio() precio de lista() lecturaDeValores() Calcula impuesto() De la siguiente lista de identificadores seale con una X los identificadores validos en Java para nombres de variables: resultado *nombre precioVenta _contador 8 De la siguiente lista de identificadores seale con una X los identificadores validos en Java para nombres de constantes: COLORES Colores colores 567 MAXIMO

Fundamentos de Programacin

Unidad III

OPERADORES Se les llama al conjunto de smbolos que permiten realizar con ellos operaciones de asignacin, aritmticas, relacionales y lgicas. Operador de Asignacin: Sirve para asignarle un valor a una variable o igualar una constante con una literal, el signo esta dado por el carcter igual (=). La variable o constante que recibir el valor se coloca a la izquierda del signo y el valor que habr de tomar se colocar a la derecha del mismo. Ejemplos: final int A = 7; byte b = 3; a = b*3/2; Operandos: Son los valores involucrados en una operacin aritmtica, pudiendo estar representados por variables y/o constantes. Expresiones: Es la combinacin de constantes, variables, operadores aritmticos, operandos y el operador de asignacin que sirven para expresar o representar una operacin aritmtica. Ejemplo: a = b*3/2; Operadores aritmticos: Son empleados por las expresiones para llevar operaciones matemticas, siendo estos las siguientes: Operadores bsicos: + * / % Suma Resta Multiplicacin Divisin Mdulo a cabo

Estos operadores tienen un orden de ejecucin (jerarqua de operaciones) que ayuda a determinar en qu orden habrn de ejecutarse las operaciones.

Jerarqua de Operaciones 1. 2. *,/,% +,-

Fundamentos de Programacin

Unidad III

NOTAS: Las operaciones se ejecutan siempre de izquierda a derecha respetando la jerarqua de los operadores. La jerarqua puede ser alterada mediante el uso de parntesis. En caso de usarse estos, primero se ejecutaran las operaciones que se encuentren dentro de ellos y si hubiera anidamiento de parntesis primero se ejecutarn los mas internos. Las operaciones aritmticas son expresadas en una sola lnea. Java proporciona otro conjunto de operadores especiales que permiten combinar una operacin aritmtica con una asignacin, cuando se emplea la misma variable en ambos lados del operador de asignacin, estos operadores son los siguientes: ++ -+= -= *= /= %= Incremento Decremento Suma y asignacin Resta y asignacin Multiplicacin y asignacin Divisin y asignacin Mdulo y asignacin

Ejemplos: a = a + 1; se puede escribir como a ++; b = b + 5; se puede escribir como b += 5; c = c * 2; se puede escribir como c *= 2; Este tipo de operadores ayudan a abreviar las expresiones y el intrprete de Java implementa de una manera ms eficiente este tipo de operaciones.

Operadores relacionales: Los operadores relacionales son smbolos que se usan para comparar o relacionar dos valores. Si el resultado de la comparacin es correcto la expresin considerada es verdadera, en caso contrario es falsa. Por ejemplo, 8>4 (ocho mayor que cuatro) es verdadera y se representa por el valor true del tipo bsico boolean, en cambio, 8<4 (ocho menor que cuatro) es falsa, por lo que se representa como false. En la primera columna de la tabla estn los smbolos de los operadores relacionales, la segunda contiene el nombre de dichos operadores, y a continuacin su significado mediante un ejemplo. Operador < Nombre menor que Ejemplo a<b Significado a es menor que b

Fundamentos de Programacin

Unidad III

> == != <= >=

mayor que igual a no igual a menor que o igual a mayor que o igual a

a>b a==b a!=b a<=5 a>=b

a es mayor que b a es igual a b a no es igual a b a es menor que o igual a b a es menor que o igual a b

Se debe tener especial cuidado en no confundir el operador asignacin con el operador relacional igual a. Las asignaciones se realizan empleando una vez el smbolo igual (=), mientras que en las relaciones de igualdad se emplea el mismo signo pero 2 veces (==). Ejemplo: Si consideramos que a tiene un valor de 10 y b tiene un valor de 8 los resultados para las siguientes expresiones serian: (a > b) (b ! = 8) verdadero falso

Operadores lgicos: Los operadores lgicos ms comunes empleados en las operaciones booleanas son las siguientes:

&& AND (el resultado es verdadero si ambas expresiones son verdaderas) || OR (el resultado es verdadero si alguna expresin es verdadera) ! NOT (el resultado invierte la condicin de la expresin)

AND y OR evalan dos condiciones simples y retornan un valor lgico basadas en las denominadas tablas de verdad. El operador NOT acta sobre un operando. Estas tablas de verdad son conocidas y usadas en el contexto de la vida diaria, por ejemplo: "si hace sol Y tengo tiempo, ir a la playa", "si NO hace sol, me quedar en casa", "si llueve O hace viento, ir al cine". Las tablas de verdad de los operadores AND, OR y NOT se muestran en las tablas siguientes Al X Y Resultado emplear True True True el operador True False False lgico False True False AND False False False

Fundamentos de Programacin

Unidad III

Al X Y Resultado emplear True True True el operador True False True lgico False True True OR False False False Al emplear el operador lgico NOT Al X emplear True el operador lgico False NOT Resultado False True

Los operadores AND y OR combinan expresiones relacionales cuyo resultado viene dado por la ltima columna de sus tablas de verdad. Por ejemplo: (a<b) && (b<c) es verdadero (true), si ambas son verdaderas. Si alguna o ambas son falsas el resultado es falso (false). En cambio, la expresin (a<b) ||(b<c) es verdadera si una de las dos comparaciones lo es. Si ambas, son falsas, el resultado es falso. La expresin " NO a es menor que b" !(a<b) es falsa si (a<b) es verdadero, y es verdadera si la comparacin es falsa. Por tanto, el operador NOT actuando sobre (a<b) es equivalente a (a>=b)

Fundamentos de Programacin

Unidad III

La expresin "NO a es igual a b" !(a==b) es verdadera si a es distinto de b, y es falsa si a es igual a b. Esta expresin es equivalente a (a!=b)

FUNCIONES ARITMTICAS Existen funciones o mtodos que el sistema pone a disposicin del usuario llamadas funciones internas, definidas o de biblioteca (Para este caso los mtodos de la biblioteca estndar de clases de Java) y se podr hacer uso de ellas haciendo referencia a su nombre y entre parntesis los parmetros que requiera para su ejecucin. La clase Math en Java: Con frecuencia es necesario utilizar otro tipo de operadores adems de los aritmticos en las operaciones matemticas, ya que muchos clculos requieren el uso de funciones matemticas como raz cuadrada, seno, coseno, etc. La clase Math en el paquete java.lang contiene los mtodos de clase frecuentemente usados en las funciones matemticas. La siguiente tabla contiene un listado parcial de los mtodos de clases disponibles en la clase Math:

Mtodos de la clase y su(s) parmetro(s) abs ( a )

Tipo de parmetro Int long float

Tipo de resultado Int Long Float Double double double double double double

Descripcin

acos ( a ) asin ( a ) atan ( a ) ceil ( a ) cos ( a ) exp ( a )

double double double double double double

Devuelve el valor absoluto entero de a Devuelve el valor absoluto long de a Devuelve el valor absoluto float de a Devuelve el arco coseno de a Devuelve el arco seno de a Devuelve el arco tangente de a Devuelve el nmero mas bajo cuyo valor sea > = que a Devuelve el coseno trigonomtrico de a Devuelve el valor natural del nmero e(2.718) elevado a la

Fundamentos de Programacin

Unidad III

floor (a ) log ( a ) max ( a,b )

double double Int long float

double double Int Long float Int Long float double double

min ( a,b )

Int long float

pow ( a,b) random ( )

double ninguno

round ( a )

float double

Int Long

sin ( a ) sqrt ( a ) tan ( a )

double double double

double double double

potencia de a Devuelve el nmero mas grande cuyo valor es < = que a Devuelve el logaritmo natural (base e) de a Devuelve el valor ms grande entre ayb Devuelve el valor ms grande entre ayb Devuelve el valor ms grande entre ayb Devuelve el valor ms pequeo entre a y b Devuelve el valor ms pequeo entre a y b Devuelve el valor ms pequeo entre a y b Devuelve el nmero a elevado a la potencia de b Genera un nmero aleatorio ms grande o igual a 0.0 y menor que 1.0 Devuelve el valor entero de a redondeado al nmero ms cercano Devuelve el valor flotante de a redondeado al nmero entero ms cercano Devuelve el seno trigonomtrico de a Devuelve la raz cuadrada de a Devuelve la tangente trigonomtrica de a

NOTA: La clase Math tiene tambin dos constantes: PI y E, para el nmero 3.14159 y el nmero natural e, respectivamente.

Recuerde que la sintaxis para hacer referencia a los mtodos de una clase es la siguiente: <nombre de clase>. <nombre de mtodo> (<argumentos>)

Especficamente para los mtodos y constantes de la clase Math es como sigue:

Fundamentos de Programacin

Unidad III

Math. <nombre de mtodo> (<argumento(s)>) o Math. <constante de clase>

Ejemplo: p = (1.0 / 2.0) * Math.sin ( x - Math.PI / Math.sqrt (y) )

Ejercicios de Operadores Aritmticos Considerando la jerarqua de operaciones, encontrar el valor que se obtendra de las siguientes expresiones: a=3*5+6+1; El valor que tomara a sera de:

b=3*(5+6)+1; El valor que tomara b sera de:

c=3*((5+6)*2)+1; El valor que tomara c sera de:

d = 3.0 * 6 ; El valor que tomara d sera de:

x = 2; y = 3; z =x * y x ;

El valor que tomara z sera de:

Fundamentos de Programacin

Unidad III

x = Math.round ( ( 6 * 3 + 5 ) / 5 ) ; El valor que tomara x sera de:

Ejercicios: Escribir computacionales: a +1 b

las

siguientes

operaciones

matemticas,

en

expresiones

a+b c+d

a b c

(a+b) c a

sen(a)+cos(b) tan(c)

Ejercicios de Operadores Lgicos y Relacionales Encontrar el valor que se obtendra (false o true) al evaluar las siguientes expresiones. Suponga que las variables a y b que aparecen son del tipo int y tienen el valor de 5 y 3 respectivamente. (a > b) ( a * b + 2 == 17 ) (a > b && 2 * a <= b) b++ > 3 || a+b <= 8 && (a>b) (a++ /2 < b && !(a++/2 > b) ) (a<=2*b && a>b || (a*3 <= b) )

Potrebbero piacerti anche