Sunteți pe pagina 1din 10

ESCUELA SUPERIOR POLITCNICA DE CHIMBORAZO

FACULTAD DE FSICA Y MATEMTICA


Carrera:
Ingeniera en estadstica e informtica
Paralelo:
B
Nombre:
Marco Antonio Orozco Brito
Cdigo:
644
Nombre del docente:
Ing. Lourdes Paredes
Periodo acadmico:
Abril-Agosto 2016

Introduccin
Java es un lenguaje de programacin de propsito general, concurrente, orientado a objetos que fue
diseado especficamente para tener tan pocas dependencias de implementacin como fuera posible. Su
intencin es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten

en cualquier dispositivo (conocido en ingls como WORA, o "write once, run anywhere"), lo que quiere
decir que el cdigo que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra.
Los operadores son una parte principal en las expresiones, el tipo y forma de uso es fundamental a la
hora de programas, pero para su uso se tiene que tener en cuenta una serie de normas, como lo son la
precedencia de los operadores.
Los operadores son ejecutados segn su precedencia, si cuentan con una precedencia mayor sern
evaluados primero que los de precedencia menor, si por casualidad se llegase a presentar operadores
con el mismo nivel de precedencia, estos se evaluaran de derecha a izquierda, si son operadores
binarios (menos los operadores de asignacin) se evaluaran de izquierda a derecha. A Java se le puede
indicar qu operadores debe evaluar primero sin importar su precedencia por medio de parntesis ( ), de
esta forma el compilador de java interpreta que primero ejecutara las operaciones que se encuentran
dentro de los parntesis, y luego continuara con los dems operadores. La siguiente tabla indicara en
nivel de precedencia de los operadores utilizados en java, teniendo en cuenta que el nivel de precedencia
est indicado de arriba a abajo, siendo arriba el nivel ms alto

Java como todo lenguaje de programacin orientado a objetos utiliza los llamados mtodos. A
continuacin
veremos
cmo
se
crea
un
mtodo
y
como
se
utilizan.
Se podra decir que existen 2 grandes tipos de mtodos, el primer tipo de mtodo son mtodos que
realizan procesos, puedes realizar cualquier operacin con ellos, sin embargo el propsito es manipular
variables existentes. El segundo tipo de mtodos son los que realizan un proceso o calculo, y calculan
una variable especfica, un ejemplo podra ser un mtodo para obtener el valor de una multiplicacin.
Los mtodos en java pueden tener parmetros, es decir, que un mtodo puede utilizar variables
predefinidas para ser utilizadas en sus procesos.

. Objetivos
3.1 objetivo general:
Conocer acerca de las diferentes funciones que java ofrece para la creacin de programas.
3.2 objetivos especficos

Analizar las diferentes ventajas que nos presta dichas funciones en el momento de desarrollar

algoritmos.
Aprender acerca de la misma para poder implementarles o ponerlas en prctica en el presente
semestre.

Marco Terico
Mtodo equals
El mtodo equals es un mtodo incorporado en la clase Object (padre de todas las clases en java) y que
por tanto toda clase en java va a heredar. De forma predeterminada este mtodo comparara los objetos
por sus ubicaciones en memoria y no por su contenido. Para variar este compartimiento deberemos de
sobrescribir este mtodo.
El mtodo equals, est estrechamente relacionado con la funcin hashCode:
Si sobrescribimos equals deberemos de sobrescribir tambin hashCode.
HashCode debe cumplir que si dos objetos son iguales, segn la funcin equals, debe de dar el mismo
valor para ambos objetos.
HashCode solo ser de vital importancia cuando los objetos sean almacenados en colecciones de
objetos List, Set o Map.
Nosotros aqu nos vamos a centrar en la implementacin solo del mtodo equals, este mtodo debe de
cumplir las siguientes propiedades:
Reflexiva: cualquier objeto
verdadero. (obj.equals (obj))

que

se

compar

con

si

mismo

debe

de

devolver

siempre

Simtrica: si tenemos dos objetos a y b, y se cumple a.equals(b) entonces se debe de cumplir


b.equals(a).
Transitiva: como su nombre indica para tres objetos a, b y c si se cumple que a.equals(b) y b.equals(c)
debe de cumplirse tambin que a.equals(c).

Nula: siempre que comparemos cualquier objeto con null el resultado debe de ser falso.
Teniendo en cuenta lo anteriormente explicado aqu os dejo el esqueleto bsico para este mtodo:
1

@Override

public boolean equals(Object obj){

if ( obj == null) return false;

if ( this == obj ) return true;

if ( ! obj instanceof <Clase> ) return false;

Clase c = (Clase) obj;

Codigo correpondiente a comparar el contenido del objeto

Operadores condicionales
Los operadores condicionales
Los
operadores && y || realizan
las
operaciones AND-Condicional y OR-Condicional sobre
dos
expresiones booleanas. Estos operadores muestran un comportamiento de cortocircuito, lo que
significa que el segundo operando solamente se evala si es necesario.
&& AND-Condicional
|| OR-Condicional
Otro de los operadores condicionales es que se puede considerar una abreviatura de una sentencia ifthen-else (tratada en la seccin Sentencias de esta leccin). Este operador tambin se conoce como
el operador ternario porque utiliza tres operados. En el siguiente ejemplo este operador se debe leer
como: Si una Condicin es true (verdadera), asigna el valor de valor1 a resultado. Si no, asigna el valor
de valor2 a resultado.
Puesto que una Condicin es true (verdadera), este programa imprime 1 en la pantalla. Utilice el
operador? En lugar de una sentencia if-then-else si hace que su cdigo sea ms legible, por ejemplo
cuando las expresiones con compactas y no tienen efectos secundarios (como asignaciones).
El operador de comparacin de tipos instanceof
El operador instanceof compara un objeto con un tipo indicado. Puede utilizarlo para comprobar si un
objeto es una instancia de una clase, una instancia de una subclase o una instancia de una clase que
implementa una interfaz en concreto.
El siguiente programa, InstanceofDemo, define una clase padre (llamada Parent), una interfaz sencilla
(llamada MyInterface), y una clase hija (llamada Child) que hereda del padre e implementa la interfaz.
Al usar el operador instanceof, tenga en cuenta que null no es una instancia de nada.
Mtodo comparato
El mtodo compareTo se usa para comparar dos cadenas, indicando que cadena es mayor que otra. Esto
es un ejemplo del mtodo, cadena1.compareTo(cadena2);

Esto es lo que puede devolver:


Nmero positivo: la cadena 1 es mayor que la cadena 2.
0: las cadenas son iguales.
Nmero negativo: la cadena 1 es menor que la cadena 2.
Recuerda que no sigue el alfabeto original sino segn la tabla ASCII, es decir, que a es menor que z.
Veamos un ejemplo:
1

public class PruebaApp {

2
3

public static void main(String[] args) {

4
5

String cadena1="americano";

String cadena2="coche";

7
8

System.out.println(cadena1.compareTo(cadena2));

9
10

11
12

En el ejemplo anterior, devolver -2 ya que americano es menor que coche. En realidad, es como si
comparase entre a y c.

La clase Math tiene miembros dato y funcin miembro estticas, vamos a conocer algunas de estas
funciones, cmo se llaman y qu tarea realizan.
Miembros dato constantes
La clase Math define dos constantes muy tiles, el nmero p y el nmero e.
public final class Math {
public static final double E = 2.7182818284590452354;
public static final double PI = 3.14159265358979323846;
//...
}
El modificador final indica que los valores que guardan no se pueden cambiar, son valores constantes
Se accede a estas constantes desde la clase Math, de la siguiente forma
System.out.println("Pi es " + Math.PI);

System.out.println("e es " + Math.E);

Funciones miembro
La clase Math define muchas funciones y versiones distintas de cada funcin.
Por ejemplo, para hallar el valor absoluto de un nmero define las siguientes funciones. Se llama a una u
otra dependiendo del tipo de dato que se le pasa en su nico argumento.
public final class Math {
public static int abs(int a) {
return (a < 0) ? -a : a;
}
public static long abs(long a) {
return (a < 0) ? -a : a;
}
public static float abs(float a) {
return (a < 0) ? -a : a;
}
public static double abs(double a) {
return (a < 0) ? -a : a;
}
//...
}
Por ejemplo, hallar el valor absoluto de los siguientes nmeros
int i = -9;
double x = 0.3498;
System.out.println("|" + i + "| es " + Math.abs(i));
System.out.println("|" + x + "| es " + Math.abs(x));
Math.abs(i), llama a la primera versin, y Math.abs(x) llama a la ltima versin.

Funciones trigonomtricas
En las funciones trigonomtricas los argumentos se expresan en radianes. Por ejemplo, el ngulo 45 se
convierte en radianes y luego se halla el seno, el coseno y la tangente
double angulo = 45.0 * Math.PI/180.0;

System.out.println("cos(" + angulo + ") es " + Math.cos(angulo));


System.out.println("sin(" + angulo + ") es " + Math.sin(angulo));
System.out.println("tan(" + angulo + ") es " + Math.tan(angulo));
Para pasar de coordenadas rectangulares a polares es til la funcin atan2, que admite dos argumentos,
la ordenada y la abscisa del punto. Devuelve el ngulo en radianes.
double y=-6.2; //ordenada
double x=1.2; //abscisa
System.out.println("atan2(" + y+" , "+x + ") es " + Math.atan2(y, x));
Funciones exponencial y logartmica
La funcin exponencial exp devuelve el nmero e elevado a una potencia
System.out.println("exp(1.0) es " + Math.exp(1.0));
System.out.println("exp(10.0) es " + Math.exp(10.0));
System.out.println("exp(0.0) es " + Math.exp(0.0));
La funcin log calcula el logaritmo natural (de base e) de un nmero
System.out.println("log(1.0) es " + Math.log(1.0));
System.out.println("log(10.0) es " + Math.log(10.0));
System.out.println("log(Math.E) es " + Math.log(Math.E));
Funcin potencia y raz cuadrada
Para elevar un nmero x a la potencia y, se emplea pow(x, y)
System.out.println("pow(10.0, 3.5) es " + Math.pow(10.0,3.5));

Para hallar la raz cuadrada de un nmero, se emplea la funcin sqrt


System.out.println("La raz cuadrada de " + x + " is " + Math.sqrt(x));
Aproximacin de un nmero decimal
Para expresar un nmero real con un nmero especificado de nmeros decimales empleamos la
funcin round. Por ejemplo, para expresar los nmeros x e y con dos cifras decimales escribimos
double x = 72.3543;
double y = 0.3498;
System.out.println(x + " es aprox. " + (double)Math.round(x*100)/100);
System.out.println(y + " es aprox. " + (double)Math.round(y*100)/100);
Se obtiene 72.35 y 0.35 como cabra esperar. Fijarse que round devuelve un nmero entero int que es
necesario promocionar a double para efectuar la divisin entre 100.
Si empleamos la funcin floor en vez de round obtendramos

System.out.println(x + " es aprox. " + Math.floor(x*100)/100);


System.out.println(y + " es aprox. " + Math.floor(y*100)/100);
Se obtiene 72.35 y 0.34. La aproximacin del primero es correcta ya que la tercera cifra decimal es 4
inferior a 5. La aproximacin del segundo es incorrecta ya que la tercera cifra decimal es 9 mayor que 5.
En la mayor parte de los clculos se cometen errores, por lo que la diferencia entre floor y round no es
significativa.

El mayor y el menor de dos nmeros


Para hallar el mayor y el menor de dos nmeros se emplean las funciones min y max que comparan
nmeros del mismo tipo.
int i = 7;
int j = -9;
double x = 72.3543;
double y = 0.3498;
// para hallar el menor de dos nmero
System.out.println("min(" + i + "," + j + ") es " + Math.min(i,j));
System.out.println("min(" + x + "," + y + ") es " + Math.min(x,y));
// Para hallar el mayor de dos nmeros
System.out.println("max(" + i + "," + j + ") es " + Math.max(i,j));
System.out.println("max(" + x + "," + y + ") es " + Math.max(x,y));
Nmeros aleatorios
La clase Math define una funcin denominada random que devuelve un nmero pseudoaleatorio
comprendido en el intervalo [0.0, 1.0). Existe otra alternativa, se pueden generar nmeros
pseudoaleatorios a partir de un objeto de la clase Random, que llame a la funcin miembro nextDouble.
System.out.println("Nmero aleatorio: " + Math.random());
System.out.println("Otro nmero aleatorio: " + Math.random());

Diferencia entre round,ceil y floor

Funcin ceil
Devuelve el argumento redondeado hacia arriba.
Sintaxis
ceil(z)
Descripcin

La funcin ceil devuelve el nmero entero ms pequeo que sea mayor que el argumento z. As, z puede
ser cualquier expresin algebraica que evale a un nmero real o a un nmero complejo. Ejemplo:
ceil(pi)=4.
Si z es un nmero complejo, ceil(z)=ceil(re(z))+ceil(im(z))i.
Funcin floor
Devuelve el argumento redondeado hacia abajo.
Sintaxis
floor(z)
Descripcin
La funcin floor devuelve el nmero entero ms grande que sea menor que el argumento z. As, z puede
ser cualquier expresin algebraica que evale a un nmero real o a un nmero complejo. Ejemplo:
floor(pi)=3.
Si z es un nmero complejo, floor(z)=floor(re(z))+floor(im(z))i
Funcin round
Devuelve el primer argumento con el nmero de decimales indicado por el segundo argumento.
Sintaxis
round(z,n)
Descripcin
La funcin round redondea el argumento z hasta el nmero de posiciones decimales indicado por n.
As, z puede ser cualquier expresin algebraica que evale a un nmero real o a un nmero complejo.
Por otra parte, n puede ser cualquier expresin algebraica que evale a unnmero entero. Observa que
cuando n<0, z se redondea n posiciones decimales a la izquierda del separador decimal.
Si z es un nmero complejo, round(z)=round(re(z),n)+round(im(z),n)i.
Ejemplos
round(412.4572,3) = 412.457
round(412.4572,2) = 412.46
round(412.4572,1) = 412.5
round(412.4572,0) = 412
round(412.4572,-2) = 400

Conclusiones:

La clase Math nos permita realizar diversas operaciones y funciones como son las funciones

trigonomtricas, aplicar races, etc.


Con los mtodos equls y comparato podemos relaciones lneas de cdigo, algo q es muy til al
momento de realizar programas de usuario y contrasea.

Recomendaciones:

Se recomienda utilizar la funcin math para ahorrar lneas de cdigos y hacer clculos ms rpido

y sencillos.
Se recomiendo el uso del mtodo equales para la creacin de programas de seguridad o ms
conocido como programas de usuario/contrasea.

Bibliografa
Arellano, J. (06 de 12 de 2012). Sofware para la enseanza y aprendizaje de algoritmos estructurados.

Obtenido de Sofware para la enseanza y aprendizaje de algoritmos estructurados:


https://www.academia.edu/2960749/Software_para_la_enseanzaaprendizaje_de_algoritmos_estructurados
Gonzales, R. (21 de enero de 2015). Tecnologia Facil. Obtenido de Tecnologia Facil: http://tecnologiafacil.com/que-es/que-es-una-impresora-wi-fi-o-inalambrica/
Naquid, J. (04 de 09 de 2014). Introduccion a la programacion con raptor. Obtenido de Introduccion a la
programacion con raptor: http://es.slideshare.net/josuenaquid/manual-de-raptor-40077561
Ponce, J. (26 de noviembre de 2013). Ciencias de computos. Obtenido de Ciencias de computos:
http://ponce.inter.edu/vl/computing/soft5.html
Romero, M. (06 de 09 de 2012). Diagramas de flujo con raptor. Obtenido de Diagramas de flujo con
raptor: http://es.slideshare.net/MaryRomero77/ejercicios-de-diagramas-de-flujo-en-raptor

S-ar putea să vă placă și