Está en la página 1de 20

TECNICAS DE PROGRAMACION

Universidad Catlica Los Angeles de Chimbote

PRESENTACION DE LA ASIGNATURA Y
METODOS DE CLASES DE JAVA

Aspectos Generales
El curso de Tcnicas de Programacin est orientado a la creacin de
aplicaciones bajo uso de la programacin orientado al objeto. En este curso se
har un estudio de los tipos de datos, variables, operadores, mtodos de tipos de
clase, recursividad y sobre carga de mtodos, herencias, clases abstractas,
polimorfismos entre otros temas. La asignatura se encuentra dividida en cuatro
unidades unidades: la primera es Uso y creacin de mtodos, la segunda es
Programacin orientado a objetos, la tercera es Clases, herencia, interfaces y
Polimorfismo y la cuarta es Paquetes, excepciones y desarrollo de un proyecto.
Todo se desarrollar usando como entorno de desarrollo NetBeans.

Docente: Ing. Martn Salcedo Quiones

Pagina: 1

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote
ESTRUCTURA DE UNA APLICACIN DE JAVA SENCILLA
public class HolaMundo{
public static void main(String args[])
{
System.out.println(! Hola Mundo ! );
}
}
Al escribir una aplicacin sencilla de Java se debe definir un mtodo main, que se
procesa cuando el programa inicia su ejecucin. En el mtodo main

se

especifican las funciones que realiza el programa.


Toda aplicacin se comienza declarando una clase con la palabra public class y
un nombre, y este nombre tiene que ser idntico al nombre del archivo que se va a
grabar pero con extensin Java.
En el ejemplo al colocar public class HolaMundo se esta declarando la clase
llamada HolaMundo.
El archivo se debe grabar como HolaMundo.java igual que el nombre de la clase.
Dentro de main, la aplicacin utiliza el metodo System.out.println para desplegar el
mensaje Hola Mundo! en la consola del Sistema.
Para compilar un programa de Java se hace lo siguiente
C:\JDK1.3\BIN>javac HolaMundo.java <Intro>
Al hacer esto se crea un archivo llamado HolaMundo.class que es un archivo que
se encuentra en bytecode
Despus de esto se utiliza el comando java para interpretar y ejecutar el bytecode
de la aplicacin.
C:\JDK1.3\BIN>java HolaMundo <Intro>
Hola Mundo !

Docente: Ing. Martn Salcedo Quiones

Pagina: 2

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote

Las instrucciones en un programa Java se escriben en minsculas

El smbolo de punto y coma (;) se utiliza para separar un instruccin de la


siguiente.

Un bloque de cdigo es una serie de instrucciones y/o declaraciones de


Java rodeadas por un par de llaves {}
Por ejemplo para comenzar la clase comienza con { y termina con }. Asi
mismo el mtodo main comienza con un { y termina con un }. El uso de los
bloque de cdigo es importante para indicar que se van a realizar un
conjunto de instrucciones.

La clase BufferedReader para entrada de datos


La E/S bsica por terminal con formato se lleva a cabo mediante readLine y println
. La entrada estndar es System.in y la salida estndar es System.out.
El mecanismo bsico para E/S con formato utiliza el tipo String. En la salida +
combina dos valores de tipo String. Si el segundo argumento no es un valor de
tipo String, se crea un valor temporal de tipo String para el, siempre que sea de
tipo primitivo. Estas conversiones al tipo String se pueden definir tambin para
objetos.
Ejemplo:
System.out.println(El resultado es +R);
Un modo sencillo de realizar una lectura de la entrada es leer una sola lnea
almacenndola en un objeto de tipo String, para lo que se emplea el mtodo
readLine. Este mtodo lee hasta que encuentra un final de lnea o el final del
fichero. Los caracteres ledos salvo el final de Lnea (en el caso de que se
encuentre), se devuelven como un nuevo String. Para emplear readLine, se debe
construir un objeto BufferedReader sobre un objeto InputStreamReader que a su
vez se crea a partir de System.in.
Ejemplo:

Docente: Ing. Martn Salcedo Quiones

Pagina: 3

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote
BufferedReader in = new BufferedReader( new InputStreamReader(System.in));
String nombre;
System.out.println(Introduzca una nombre : );
nombre = in.readLine();
En este ejemplo se ha declarado una variable nombre de tipo String y se esta
leyendo desde la consola utilizando un objeto llamado in el cual llama al mtodo
readLine para leer una cadena y asignarle a la variable nombre.
La clase Math
La clase Math representa la librera matemtica de Java. Las funciones que
contiene son las de todos los lenguajes, parece que se han metido en una clase
solamente a propsito de agrupacin, por eso se encapsulan en Math, y lo mismo
sucede con las dems clases que corresponden a objetos que tienen un tipo
equivalente (Character, Float, etc.). El constructor de la clase es privado, por los
que no se pueden crear instancias de la clase. Sin embargo, Math es public para
que se pueda llamar desde cualquier sitio y static para que no haya que
inicializarla.
Math tiene una referencia a las dos constantes ms utilizadas en matemtica con
una precisin de 15 decimales (suficiente para la mayora de los mortales). Si
ejecutamos:
System.out.println("e = " + Math.E);
System.out.println("pi = " + Math.PI);
veremos:
e = 2.718281828459045
pi = 3.141592653589793
Los mtodos que tiene la clase Math son:

Docente: Ing. Martn Salcedo Quiones

Pagina: 4

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote
Math.abs( x )
para int, long, float y double
Math.sin( double )
Math.cos( double )
Math.tan( double )
Math.asin( double )
Math.acos( double )
Math.atan( double )
Math.atan2( double,double )
Math.exp( double )
Math.log( double )
Math.sqrt( double )
Math.ceil( double )
Math.floor( double )
Math.rint( double )
Math.pow( a,b )
Math.round( x )
para double y float
Math.random()
devuelve un double
Math.max( a,b )
para int, long, float y double
Math.min( a,b )
para int, long, float y double
Math.E
para la base exponencial
Math.PI
para PI
La clase Integer
Cada tipo numrico tiene su propia clase de objetos. As el tipo int tiene el objeto
Integer. Se han codificado muchos mtodos tiles dentro de la clase Integer como
son:

String Integer.toString( int i,int base );

String Integer.toString( int i );


Por ejemplo:
int valor=38;
String cadena;
cadena=Integer.toString(valor); //no colcarle base se assume que es base 10

int I.parseInt( String s,int base );

int I.parseInt( String s );

Docente: Ing. Martn Salcedo Quiones

Pagina: 5

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote
Por ejemplo:
String dato=20;
int valor;
valor=Integer.parseInt(dato); //no colcarle base se assume que es base 10

Integer Integer.valueOf( String s,int base );

Integer Integer.valueOf( String s );

int I.intValue();

long I.longValue();

float I.floatValue();

double I.doubleValue();

String I.toString();

La clase Character
Al trabajar con caracteres se necesitan muchas funciones de comprobacin y
traslacin. Estas funciones estn empleadas en la clase Character . De esta clase
s que se pueden crear instancias, al contrario que sucede con la clase Math .
Declaraciones
La primera sentencia crear una variable carcter y la segunda un objeto
Character:
char c;
Character C;

Comprobaciones booleanas
Character.isLowerCase(c) //devuelve verdadero si el character est en minscula
Character.isUpperCase(c) //devuelve verdadero si el character est en mayscula
Character.isDigit(c) // devuelve verdaero si el carcter es un dgito numrico

Docente: Ing. Martn Salcedo Quiones

Pagina: 6

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote
Character.isSpace(c) //devuelve verdaero si el character es un espacio y falso todo lo contrario

En este caso, si tuvisemos un objeto Character C , no se podra hacer


C.isLowerCase , porque no se ha hecho un new de Character. Estas funciones
son estticas y no conocen al objeto, por eso hay que crearlo antes.
Traslaciones de caracteres
char c2 = Character.toLowerCase( c );
char c2 = Character.toUpperCase( c );

Traslaciones de carcter/dgito
int i = Character.digit( c,base );
char c = Character.forDigit( i,base );

Mtodos de la clase Character


C = new Character( 'J' );
char c = C.charValue();
String s = C.toString();

La clase Float
Cada tipo numrico tiene su propia clase de objetos. As el tipo float tiene el objeto
Float. De la misma forma que con la clase Character , se han codificado muchas
funciones tiles dentro de los mtodos de la clase Float .
Declaraciones
La primera sentencia crear una variable float y la segunda un objeto Float:
float f;
Float F;

Docente: Ing. Martn Salcedo Quiones

Pagina: 7

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote
Conversiones de Clase/Cadena
String s = Float.toString( f );
f = Float.valueOf( "3.14" );

Comprobaciones
boolean b = Float.isNaN( f );
boolean b = Float.isInfinite( f );

La funcin isNaN() comprueba si f es un No-Nmero . Un ejemplo de no-nmero


es raiz cuadrada de -2.
Conversiones de Objetos
Float F = new Float( Float.PI );
String s = F.toString();
int i = F.intValue();
long l = F.longValue();
float F = F.floatValue();
double d = F.doubleValue();

La clase Double
Cada tipo numrico tiene su propia clase de objetos. As el tipo double tiene el
objeto Double . De la misma forma que con la clase Character , se han codificado
muchas funciones tiles dentro de los mtodos de la clase Double .
Declaraciones
La primera sentencia crear una variable double y la segunda un objeto Double:
double d;
Double D;

Docente: Ing. Martn Salcedo Quiones

Pagina: 8

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote
Mtodos ms usados en Double
boolean D.equals();
String D.toString();
int D.intValue();
long D.longValue();
float D.floatValue();
double D.doubleValue();
Double V.valueOf( String s );

Clase String
Esta clase almacena una cadena de caracteres. Una cadena es una serie de caracteres que se
trata como una unidad. Una cadena puede incluir letras, dgitos y diversos caracteres
especiales como +,-,*,/,$ y otros.
Una cadena en Java es un objeto de la clase String.
Los literales de cadena o constantes de cadena en Java se escriben como una secuencia de
caracteres cerrada entre comillas.
Ejemplo:
Computacin, Java es fcil,
Los mtodos mas utilizados son:
cadena.length() : El mtodo length Devuelve el numero de Caracteres de una cadena.
Ejemplo:
String nombre = Francisco;
int n;
n = cadena.length();
System.out.println(El nombre : + nombre + tiene + n + Caracteres);

cadena1.equals(cadena2) : El mtodo equals devuelve true si las dos cadenas son iguales y
false en caso contrario..
cadena1.equalsIgnoreCase(cadena2) : El mtodo equalsIgnoreCase no toma en cuenta la
diferencia entre letras maysculas y minsculas de cada String al realizar la comparacin.

Docente: Ing. Martn Salcedo Quiones

Pagina: 9

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote

cadena1.compareTo(cadena2) : El mtodo compareTo devuelve un numero entero:


> 0 Si cadena1 es mayor que cadena2
= 0 Si las cadenas son exactamente iguales
< 0 Si cadena1 es menor que cadena2
Este mtodo emplea una comparacin lexicogrfica.
cadena1.compareToIgnoreCase(cadena2) : El mtodo compareToIgnoreCase no toma en
cuenta la diferecia entre las maysculas y minsculas de cada String al realizar la
comparacin.
cadena.charAt(indice) : El mtodo charAt delvuelve el carcter que indica el indice.
Ejemplo:
String nombre = Felipe;
Char x;
X=nombre.charAt(3); // x toma el valor del carcter i.
Los indices de una cadena comienzan en 0.
cadena.toUpperCase() : Convierte la cadena a maysculas
cadena.toLowerCase() : Convierte la cadena en minsculas
cadena.trim() : Elimina los espacios al inicio y al final de la cadena.
cadena1.startsWith(cadena2) : Devuelve verdadero si cadena1 comienza con cadena2.
cadena1.endsWith(cadena2) : Devuelve verdadero si cadena1 finaliza con cadena2.
cadena.indexOf(caracter) : Devuelve el ndice de la primera ocurrencia del carcter.
cadena.indexOf(carcter,posicion) : Devuelve el ndice de la primera ocurrencia del
carcter , comenzando la bsqueda a partir de posicin.
cadena1.indexOf(cadena2) : devuelve el ndice de la primera ocurrencia de cadena2 en
cadena1.

Docente: Ing. Martn Salcedo Quiones

Pagina: 10

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote
cadena1.indexOf(cadena2,posicin): Devuelve el ndice de la primera ocurrencia de la
cadena2 en cadena1, comenzado la bsqueda a partir de posicin.
cadena.lastIndexOf(caracter) : Devuelve el ndice de la ultima ocurrencia del carcter.
cadena.lastIndexOf(carcter,posicion) : Devuelve el ndice de la ultima ocurrencia del
carcter , comenzando la bsqueda a partir de posicin.
cadena1.lastIndexOf(cadena2) : devuelve el ndice de la ultima ocurrencia de cadena2 en
cadena1.
cadena1.lastIndexOf(cadena2,posicin): Devuelve el ndice de la ultima ocurrencia de la
cadena2 en cadena1, comenzado la bsqueda a partir de posicin.
cadena.substring(indice) : Devuelve una subcadena que esta conformada por todos los
caracteres que comienzan en indice e incluye todos los caracteres siguientes hasta el fin de
la cadena.
cadena.substring(indiceInicial, indiceFinal) : Devuelve una subcadena que esta
conformada por todos los caracteres cuyo indice comienza en indiceInicial e incluye todos
los caracteres hasta el IndiceFinal-1.
String.valueOf() : Convierte tipos primitivos a cadenas. La clase String sobrecarga el
mtodo valueOf para soportar cada uno de los tipos primitivos de Java.
Ejemplo:
String cad1 = String.valueOf(12);
String cad2 = String.valueOf(true);
String cad3 = String.valueOf(T);
String cad4 = String.valueOf(12.9867);

Aqu presentaremos algunas aplicaciones sencillas.

Docente: Ing. Martn Salcedo Quiones

Pagina: 11

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote
PROGRAMAS RESUELTOS
1) Hacer un programa para calcular el area de un triangulo dada la base y la
altura
import java.io.*;
public class AreaTriangulo{
public static void main(String arg[]) throws IOException
{
float base,altura,area;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Ingrese base del triangulo :");
base=Float.parseFloat(in.readLine());
System.out.print("Ingrese altura del triangulo :");
altura=Float.parseFloat(in.readLine());
area=base*altura/2;
System.out.println("El area del triangulo es : "+area);
}
}
Interpretacin de la programacin:
Al usar import.java.io.*; importamos el paquete io (input output) que permitir
luego para el ingreso y salida de datos. Tenemos la clase AreaTriangulo que
tienen al mtodo esttico llamado main que al colocar (String args[]) indica que no
hay argumento alguno para el mtodo y al colocar throws IOException son nuestra
indicacin al compilador de que estamos conscientes del hecho de que puede
ocurrir una excepcin (intercepcin de error) de entrada/salida cuando el programa
intente leer del teclado y que deliberadamente estamos haciendo caso omiso de
tales excepciones de entrada/salida en nuestro programa. Luego se declara las

Docente: Ing. Martn Salcedo Quiones

Pagina: 12

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote
variables base, altura y area de tipo float. Posteriormente se declara la variable in
del tipo BufferedReader y se crea el objeto in con el operador new usando el
mtodo constructor BufferedReader, la misma que usa el InputStreamReader,
clase o interfaz que permite la lectura de entrada a travs del teclado, es decir, la
variable objeto in es la permitir luego lograr ingresar datos. Luego con el mtodo
print usado a partir de System.out permite imprimir una expresin como por
ejemplo Ingrese la base del trigulo:. En la lnea de la programacin base=
Float.parseFloat(in.readLine()); se busca el ingreso de un dato que se lee con el
mtodo readLine() a partir del objeto in previamente creado. Dado que el dato
ingresado es de tipo String o cadena es necesario la conversin a un dato del tipo
de la variable que almacenar dicho dato, por lo que es necesario usar un mtodo
de conversin como es el caso de parseFloat() que hace que el dato ingresado
sea convertido al tipo de dato Float y luego asignado a la variable base. Lo mismo
se hace con respecto a la variable altura. En la variable rea se hace el clculo
del rea del triangulo para luego imprimir el rea del triangulo con la instruccin
System.out.println("El area del triangulo es : "+area); donde se observa el uso del
mtodo println() que permite imprimir una expresin y luego la impresin
continuanr en la siguiente lnea. Observa dentro del parntesis el uso del
operador + que se usa como concatenacin (no como operador de suma), es
decir, imprime la expresin El rea del triangulo es con el contenido de la
variable area.
2) Calcular el perimetro, el area y la diagonal de un rectangulo si se ingresan
los lados.
import java.io.*;
public class Rectangulo{
public static void main(String arg[]) throws IOException
{

Docente: Ing. Martn Salcedo Quiones

Pagina: 13

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote
double lado1,lado2,perimetro,area,diagonal;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Ingrese valor del primer lado :");
lado1=Double.parseDouble(in.readLine());
System.out.print("Ingrese valor del segundo lado :");
lado2=Double.parseDouble(in.readLine());
perimetro=2*(lado1+lado2);
area=lado1*lado2;
diagonal=Math.sqrt(Math.pow(lado1,2)+Math.pow(lado2,2));
System.out.println("El perimetro es : "+perimetro);
System.out.println("El area es : "+area);
System.out.println("La diagonal es : "+diagonal);
}
}
Interpretacin de la programacin:
La novedad en la segunda aplicacin es el uso del mtodo pow() que permite
calcular

la

potencia

dado

la

base

el

exponente,

as

por

ejemplo

Math.pow(lado1,2) calcula el cuadrado del contenido de la variable lado1. Con el


mtodo sqrt() se logra calcular la raz cuadrada del un nmero, as por ejemplo
Math.sqrt(4) calula la raz cuadrada de 4.

3) Calcular el salario neto de un trabajador. Se debe leer el nombre, horas


trabajadas, precio de la hora y sabiendo que los impuestos aplicados son el
10 por ciento sobre el salario bruto.
import java.io.*;
public class Trabajador{

Docente: Ing. Martn Salcedo Quiones

Pagina: 14

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote
public static void main(String arg[]) throws IOException
{
String nombre;
double sb,sn,ph,ht;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Ingrese nombre del trabajador :");
nombre=in.readLine();
System.out.print("Ingrese numero de horas trabajadas :");
ht=Double.parseDouble(in.readLine());
System.out.print("Ingrese precio de la hora :");
ph=Double.parseDouble(in.readLine());
sb=ph*ht;
sn=sb-0.10*sb;
System.out.println("El Salario neto del trabajador : "+nombre+ " es : "+sn);
}
}

4) Hacer un programa para convertir metros a pies y pulgadas


1 metro = 39.37 pulgadas

1 metro = 3.2 pies

public class Conversion{


public static void main(String arg[]) throws IOException
{
double metros,pies,pulgadas;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Ingrese valor en Metros :");
metros=Double.parseDouble(in.readLine());
pies=metros*3.2;
pulgadas=metros*39.37;

Docente: Ing. Martn Salcedo Quiones

Pagina: 15

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote
System.out.println("El valor en pies es : "+pies);
System.out.println("El valor en pulgadas es : "+pulgadas);
}
}
5) Ingresar una letra entre a y e y reportar el mensaje de acuerdo a:
a excelente
b
bueno
c regular
d
malo
e pesimo
import java.io.*;
public class p403{
public static void main(String arg[]) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String cadena;
char letra;
System.out.print("Ingrese letra (a-e) : ");
cadena=br.readLine();
letra=cadena.charAt(0);
switch(letra)
{
case 'a': case 'A':
System.out.println("EXCELENTE");
break;
case 'b': case 'B':
System.out.println("BUENO");
break;
case 'c': case 'C':
System.out.println("REGULAR");
break;

Docente: Ing. Martn Salcedo Quiones

Pagina: 16

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote
case 'd': case 'D':
System.out.println("MALO");
break;
case 'e': case 'E':
System.out.println("PESIMO");
break;
default :
System.out.println("letra equivocada");
}
}
}

EJECUTANDO LA PRIMERA APLICACION


1. Crea un proyecto denominado: Sesion01_Aplicaciones

Observa que debes crear la clase principal AreaTriangulo dentro del paquete
sesion01_aplicaciones. Luego dar clic en el botn de comando Terminar.
2. Ahora se observa el entorno de NetBeans listo para colocar la programacin de
la primera aplicacin.

Docente: Ing. Martn Salcedo Quiones

Pagina: 17

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote

3. Asi debe quedar luego de colocar las instrucciones de la primera aplicacin.

4. Luego proceder a ejecutar la aplicacin.

Docente: Ing. Martn Salcedo Quiones

Pagina: 18

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote

Posteriormente dar clic en Ejecutar archivo

Ingresar el valor de la base y luego de la altura y se lograr observar lo


siguiente:

Docente: Ing. Martn Salcedo Quiones

Pagina: 19

TECNICAS DE PROGRAMACION
Universidad Catlica Los Angeles de Chimbote

Docente: Ing. Martn Salcedo Quiones

Pagina: 20

También podría gustarte