Variables, Operaciones y Jerarqua en las Operaciones
En Java existen dos categoras de tipos de datos:
Tipos Primitivos. Los cuales se definen abajo. Referencias. Las cuales corresponden a clases y objetos ue se tratar!n posteriormente. Tipos primitivos Los tipos primitivos son los ue permiten manipular valores num"ricos #con distintos grados de precisi$n%& caracteres y valores bol"anos #verdadero ' falso%. Los Tipos Primitivos son: boolean: Puede contener los valores true o false. byte: Enteros. Tama(o )*bits. +alores entre *,-) y ,-.. short: Enteros. Tama(o ,/*bits. Entre *0-./) y 0-./.. int: Enteros. Tama(o 0-*bits. Entre *-,1.1)0/1) y -,1.1)0/1.. long: Enteros. Tama(o /1*bits. Entre *2--00.-30/)41..4)3) y 2--00.-30/)41..4)3.. float: 56meros en coma flotante. Tama(o 0-*bits. double: 56meros en coma flotante. Tama(o /1*bits. char: 7aracteres. Tama(o ,/*bits. 8nicode. 9esde :;u3333: a :;uffff: inclusive. Esto es desde 3 a /4404 Variables 8na variable es un !rea en memoria ue tiene un nombre y un Tipo asociado. El Tipo es o bien un Tipo primitivo o una Referencia. Es obligatorio declarar las variables antes de usarlas. Para declararlas se indica su nombre y su Tipo& de la siguiente forma: tipo_variable nombre ; Ejemplos: int i; // 9eclaracion de un entero char letra; // 9eclaracion de un caracter boolean flag; // 9eclaracion de un booleano El; es el separador de instrucciones en Java. El smbolo '' indica comentarios de lnea& se ponen despu"s de una instrucci$n para <. <ntroducci$n a la programaci$n orientada a objetos y al lenguaje J=+= comentarla& el compilador no las toma al detectarlas. En Java las may6sculas y min6sculas son significativas. 5o es lo mismo el nombre letra ue Letra. Todas las palabras reservadas del lenguaje van en min6sculas. >e pueden asignar valores a las variables mediante la instrucci$n de asignaci$n #?%. Por ejemplo: i ? 4@ '' a la variable i se le asigna el valor 4 letra ? :c:@ '' a la variable letra se le asigna el valor :c: flag ? false@ '' a la variable flag se le asigna el valor false La declaraci$n y la asignaci$n se pueden combinar en una sola expresi$n: int i ? 4@ cAar letra ? :c:@ boolean flag ? false@ Operaciones Bsicas En java al igual ue en 7BB se tienen una serie de operadores ue ayudan a obtener c!lculos& dependiendo de los valores a utiliCar& Java trabaja con los siguientes operadores: Operadores !ritm"ticos Operador en Java #ignificado B suma * resta D multiplicaci$n ' divisi$n E residuo Todos los operadores ue se muestran en esta tabla son binarios@ es decir& trabajan con dos operandos. Los operadores $& % y & funcionan de la manera conocida. El operador / funciona de diferente manera si trabaja con datos de tipo entero o de tipo flotante. 7on datos de tipo flotante funciona de la manera tradicional@ pero al realiCarse una divisi$n entre dos n6meros enteros& el operador / regresa el cociente de la divisi$n entera@ es decir& regresa la parte entera del resultado #si Aay fracci$n la elimina%. Por ejemplo: -'0 da como resultado 3 pero -.3'0.3 da como resultado 3.///// 8na manera de visualiCar esto es a trav"s de un applet ue dibuje el resultado de una operaci$n entera& en este caso utiliCaremos el m"todo draF>tring#% como lo Aicimos antes& y Aacemos uso del operador B ue cuando es utiliCado despu"s de un >tring #cadena de caracteres% en Java funciona como concatenaci$n. Tenemos entonces ue la siguiente codificaci$n: import java.aFt.D@ import java.applet.D@ '' Gapplet FidtA?H-33H AeigAt?H-33H code?HPruHIG'appletI public class Pru extends =pplet J public void paint#KrapAics g% J int x@ x ? - ' 0@ g.draF>tring#H- ' 0 ? HBx& ,33& ,33%@ L L 9ar! como resultado: Mbserva como utiliCamos dentro del applet Pru.java el comentario '' Gapplet FidtA?H-33H AeigAt?H-33H code?HPruHIG'appletI Esto lo Aacemos para no tener ue Aacer un arcAivo de tipo NTOL aparte& ya ue un navegador o visualiCador de applets lo ue reuiere para ejecutar el applet es solamente la directiva GappletI& Aacemos uso de esta lnea como comentario dentro del applet& de manera ue al compilar no da un error por esta instrucci$n y al usar el visualiCador de applets& se utiliCa el mismo arcAivo& como se muestra en la ventana de comandos de 9M> donde se compilo y uso la clase anterior: =l estar Aaciendo operaciones& si Aay operandos de diferentes tipos de datos& se convierten al tipo de datos m!s amplio y el tipo del valor resultante es del tipo m!s amplio. Por ejemplo& si Aay enteros y flotantes& todos los n6meros se convierten a flotantes y el resultado se calcula como flotante. Por ejemplo: 1'0.3 da como resultado ,.0000
El operador ' calcula el residuo de la divisi$n entera y s$lo existe para datos de tipo entero Por ejemplo: ,3E0 da como resultado ,
Otros operadores de !signaci(n En Java& como en 7BB& es posible abreviar algunas expresiones de asignaci$n como se muestra en la siguiente tabla: Operador )*presi(n equivalente v B ? e v ? v B e v * ? e v ? v P e v D ? e v ? v D e v ' ? e v ? v ' e v E ? e v ? v E e Otros Operadores aritm"ticos En Java& al igual ue en 7BB& existen tambi"n los siguientes operadores aritm"ticos: BB incremento ** decremento Es decir: xBB $ BBx es euivalente a x ? xB, x** $ **x es euivalente a x ? x*, Estos operadores son unitarios& es decir& trabajan con un solo operando y solamente se pueden utiliCar con variables de tipo entero. Los operadores se pueden utiliCar antes o despu"s del nombre de la variable y funcionan de diferente manera: >i se ponen antes& primero se realiCa la operaci$n #incremento o decremento% y luego se utiliCa el valor de la variable en la expresi$n en la ue se encuentre.
>i se pone despu"s& primero se utiliCa el valor de la variable en la expresi$n y luego se lleva a cabo la operaci$n #incremento o decremento%. Por ejemplo: >up$n ue a ? ,3 y c ? 1 La operaci$n v ? a D cBB@ v toma el valor de 13 y c ueda con el valor de 4 La operaci$n v ? a D BBc@ v toma el valor de 43 y c ueda con el valor de 4 Jerarqua de los operadores aritm"ticos +rioridadOperadores !sociatividad , # % EmpeCando por los par"ntesis m!s internos - BB& **& B#positivo%& * #negativo% 9e derecAa a iCuierda& BB y ** dependiendo de la posici$n 0 D&'&E 9e iCuierda a derecAa 1 B& * 9e iCuierda a derecAa 4 ?&B?&*?&D?& '?&E? 9e derecAa a iCuierda !lgunos ,"todos ,atemticos +redefinidos Java contiene una serie de m"todos matem!ticos ue puedes utiliCar en tus clases& para realiCar alg6n c!lculo& son tomados de la clase OatA& esta viene dentro del pauete java.lang& entonces para poder tomarlos dentro de una clase debes de usar la instrucci$n import java.lang.OatA@ =ntes de iniciar tu applet o aplicaci$n. =lgunos de los m"todos a utiliCar son: public final static double e da el valor de e. public final static double +- da el valor de pi. public static int abs#int a% da el valor absoluto de un entero dado. public static long abs#float a% da el valor absoluto de un numero de punto flotante. public static double cos#double a% ue te da el coseno de un valor de doble precisi$n. public static double e*p#double a% te da el valor de e a para un valor a de doble precisi$n. public static double po.#double a& double b% te da el valor de a b para a y b de doble precisi$n. public static double sqrt#double a% obtiene el valor de la raC cuadrada de un valor a de doble precisi$n. Q/(mo se utili0an1 Lo anterior es la definici$n de cada uno de los m"todos de la clase OatA& tu aun no estar familiariCado con esta definici$n& pero poco a poco entender!s su uso& vamos a entender el uso de uno de ellos. public static double sqrt#double a% obtiene el valor de la raC cuadrada de un valor a de doble precisi$n. La definici$n anterior describe ue srt es un m"todo de tipo double y el par!metro ue toma es un double& entonces algunos ejemplos de su uso son: Ejemplo, double a& b@ a ? -4.3 b ? OatA.srt#a%@ Ejemplo - int a@ double b@ a ? -4@ b ? OatA.srt#a%@ En ejemplo , vemos claramente como a b le ser! asignado el valor real 4.3& ya ue esa es la raC cuadrada de -4.3 En ejemplo - pensaramos ue sera un error el tener el uso de una variable entera en lugar de una real& pero es valido asignarle a una variable real un valor entero& pero lo contrario es un error.