Está en la página 1de 14

Estructura de Datos IDAT

Tema 1: Introduccin a Java

Luis Arias Hidalgo

Qu es Java Inicialmente Java fue creado por un grupo de investigadores de Sun Microsystems como un lenguaje de programacin multipropsito y que funcionara no slo en computadoras, sino que en cualquier dispositivo electrnico que necesite de una programacin, desde su creacin Java mostr ser muy slido, pero no haba un medio en el cual se poda encontrar una aplicacin real, se intent con juegos de video, equipos digitales, pero no se poda difundir, hasta que lleg la oportunidad esperada: Internet y la World Wide Web, el equipo de desarrollo de Java adapt este nuevo lenguaje para que funcionara en la Web, logrando as encontrar un medio ideal para su difucin. Java surgi como una respuesta por parte Sun Microsystems para el creciente mundo del desarrollo de aplicaciones internet, donde haba un caos tremendo en el cual cada empresa lder trataba de implantar su propio estndar, donde una aplicacin funcionaba en un servidor y no en otro debido a diferencias en el sistema operativo, incompatibilidades de software y hardware. Caractersticas de Java Simple. Orientado a Objetos. Distribuido. Robusto. Seguro. Arquitectura Neutral. Portable. Interpretado. Ahora es compilado JIT. Alto rendimiento. Multithread. Dinmico. Lenguaje de objetos: No basado en objetos. Todo lo que existe en java son objetos, debido a que la tecnologa de objetos es segura y se toma con gran importancia para el desarrollo de sistemas modernos, funcionales como los tipos Cliente Servidor. Multiplataforma: El cdigo generado puede ser interpretado por diferentes tipos de dispositivos (Hardware y Sistema Operativo) y actuar en todos ellos por igual. Sencillo: Para enternder el funcionamiento de este lenguaje de programacin no es necesario tener grandes conocimientos o dominios de programacin avanzada. Familiar: Sintaxis parecida a C / C++, lo que lo hace fcil de identificar. Para los nuevos en este lenguaje les da una idea general de cmo se trabaja con el lenguaje C. Robusto: El compilador de Java puede detecta errores que impiden la creacin de programas con fallos y avisa sobre los mismos para poder corregirlos. Seguro: Cuando se programa para aplicaciones web (applets), se crean programas que no atentan contra la informacin del usuario al no permitir leer o escribir en el disco duro. Portable: La implementacin de programas Java siguen los estandares y se respetan para toda aplicacin creada con ste lenguaje , aumentando el alcance de la caracterstica multiplataforma. De alto rendimiento: La creacin de programas Java puede estar sujeta al uso de libreras existentes que no necesitan ser declaradas en cada uso, sino, solo referenciadas para usarlas libremente.

-1-

Estructura de Datos IDAT

Luis Arias Hidalgo

Multithread: Soporta de modo nativo los threads, sin necesidad del uso de de libreras especficas. Le permite adems que cada Thread de una aplicacin java pueda correr en una CPU distinta, si la aplicacin se ejecuta en una mquina que posee varias CPU. Estructura de un Programa en Java Todo programa en Java consta de una o ms funciones, una de las cuales se llama main. Para crear un programa o aplicacin en java es necesario aparte de definir e implementar las clases que generarn el programa definir una clase que contenga un mtodo especial que indica el punto de entrada que es : public static void main (String[ ] args) Sintaxis: class NombreAplicacion { public static void main (String[] args) { // Cdigo que crea los objetos necesarios para que funcione la aplicacin } } Este ejemplo se puede usar como plantilla para todas las aplicaciones en java pues slo basta con cambiar el nombre de la clase con el de la aplicacin. El siguiente paso es compilar y ejecutar el programa, pasos que dependen de la herramienta de desarrollo. Palabras Clave Reservadas Las palabras clave reservadas son identificadores especiales que el lenguaje Java se ha reservado para controlar cmo est definido su programa. Se utilizan para identificar los tipos, modificadores y mecanismos para control de secuencia incorporados. Estas palabras clave slo se pueden utilizar para su propsito original y no se pueden utilizar como identificadores de nombres de variable, clase o mtodo. Las palabras reservadas en este lenguaje se muestran a continuacin. Las siguientes palabras estn reservadas en Java: boolean break byte case catch char class const continue do double else extends final finally float for goto implements import instanceof int interface long native new package protected public return short static strictfp super switch synchronized throw throws transient try void volatile while

-2-

Estructura de Datos IDAT


Variables

Luis Arias Hidalgo

La variable es la unidad bsica de almacenamiento en un programa en Java. Una variable se define mediante la combinacin de un identificador, un tipo y un mbito. La forma bsica de una declaracin de variable es: tipo identificador [= valor] [,identificador [= valor] ... ]; El tipo puede ser: byte, short, int, long, char, float, double, boolean o el nombre de una clase o interfaz.

Declaracin de Variables y Tipo de Datos En Java existen bsicamente cuatro tipos de datos, aunque como se ver despus, podremos definir nuestros propios tipos de datos a partir de estos cuatro. String Cadenas int Numero Entero float Entero y Decimales double Entero y Decimales mas grande Aqu un listado mas completo: TIPO LO QUE ALMACENA false y true de -128 a 127 de -32768 a 32767 de -2147483648 a 2147483647 de -2
-63

RANGO

boolean variable booleana de 1 byte (8 bits) byte short int long float double char String entero de 1 byte (8 bits) entero de 2 byte (16 bits) entero de 4 byte (32 bits) entero de 8 byte (64 bits) entero de 4 byte (32 bits) entero de 8 byte (64 bits)

a2

63

-1
-46

6 dgitos significativos (10

, 10 ) , 10
308

38

15 dgitos significativos (10

-324

carcter UNICODE 2 bytes (16 bits) Comprende el cdigo ASCII Juego de caracteres.

Declaracin de variables Pare declarar una variable primero se pone el tipo y luego el nombre de la variable, ejemplo: int a, b; en este ejemplo se estn declarando 2 variables de tipo int a y b. Importante : se puede inicializar una variable al momento de declararla por ejemplo: int a=10,b=20 String cad=hola;

-3-

Estructura de Datos IDAT

Luis Arias Hidalgo

Operadores Aritmticos, de Asignacin, relacionales y Lgicos Operadores Aritmticos Existen dos tipos de operadores aritmticos: Los binarios: + Suma Resta * Multiplicacin / Divisin % Mdulo (resto) Ejemplo z = b + c; z va a ser igual a b mas c z = b % c; z va a ser igual a b mod de c y los unarios: ++ Incremento (suma 1) -Decremento (resta 1) Ejemplo: a++; aqu la variable a se esta incrementando en 1 es lo mismo que decir a = a + 1,lo ,mismo sucede para decrementar una variable seria a--; aqu la variable a se esta disminuyendo en 1 que es lo mismo que decir a= a 1; Operadores de Asignacin = Asignacin simple += Suma -= Resta *= Multiplicacin /= Divisin %= Mdulo (resto) Con estos operadores se pueden escribir, de forma ms breve, expresiones del tipo: n=n+3 se puede escribir n+=3 k=k*(x-2) lo podemos sustituir por k*=x-2 x =x/3 se puede escribir x/=3 Operadores relacionales Los operadores relacionales se utilizan para comparar el contenido de dos variables. En Java existen seis operadores relacionales bsicos: > Mayor que < Menor que >= Mayor o igual que <= Menor o igual que == Igual que != Distinto que Operadores Lgico Los operadores lgicos bsicos son tres: && AND || OR ! NOT (El valor contrario) Nota : A la hora de programar es conveniente aadir comentarios (cuantos ms mejor) para poder saber que funcin tiene cada parte del cdigo, en caso de que no lo utilicemos durante algn tiempo. Adems facilitaremos el trabajo a otros programadores que puedan utilizar nuestro archivo fuente. Para poner comentarios en un programa escrito en Java usamos los smbolos /* y */: /* Este es un ejemplo de comentario */ // Este tambien es un comentario

-4-

Estructura de Datos IDAT


/* Un comentario tambin puede estar escrito en varias lneas */

Luis Arias Hidalgo

El smbolo /* se coloca al principio del comentario y el smbolo */ al final. El comentario, contenido entre estos dos smbolos, no ser tenido en cuenta por el compilador. Puntos Importantes Toda instruccin lleva punto y coma(;) Al final. Cuando se abre una llave ({) quiere decir que se van a ejecutar una serie de sentencias hasta cuando se cierre la llave(}) Las palabras reservadas se escriben tal como son es decir no es lo mismo escribir main() que MAIN() o que Main() son sensibles a las maysculas y minsculas. Casi todas las palabras se escriben en minsculas. Si el teclado no esta configurado debemos configurarlo en el panel de control, teclado, idiomas y escogemos espaol-Per Funcion System.Out.Println Esta funcin permitir visualizar algo por consola Ejemplo 1 : System.out.println("Hola Mundo); //Esto visualizara hola mundo Ejemplo 2 : String cad=Ana; System.out.println("Hola " + cad); //Esto visualizara hola Ana Librera JOptionPane Es un componente de la librera swing que muestra cuadros de dialogo, entre los cuales se pueden ingresar datos o visualizar datos Se necesita importar a la librera : import javax.swing.JOptionPane; String Nombre; Nombre=JOptionPane.showInputDialog("Ingrese Nombre "); //Esto mostrara una ventana en la cual se ingresara un nombre y ese nombre se guardara en la variable Nombre int Num; Num=JOptionPane.showInputDialog("Ingrese Numero "); (OJO esto dara un errorrrrrrr) //Aqui se ingresa un numero y se guarda en la variable Num OJO: Esto dar un error debido a que todo lo que se ingresa por JOptionPane siempre ser cadena y tendremos que convertirlo a numero para poder guardarlo en la variable Num Num=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Numero);(Esto esta bien) El JOptionPane tambin sirve para visualizar datos: Ejemplo 1: JOptionPane.showMessageDialog(null,Hola Mundo); //Esto imprimir Hola Mundo Ejemplo 2: String Nombre=Ana; double prom=15.5; Resultado = "Nombre de Alumno : " + Nombre + "\nPromedio :" + prom; JOptionPane.showMessageDialog(null,Resultado); //Esto imprimir Nombre de Alumno :Ana Promedio : 15.5

-5-

Estructura de Datos IDAT


Conversin de Datos Integer.parseInt .- Convierte una cadena a Entero Tambin tendremos: Double.parseDouble .- Convierte a double.

Luis Arias Hidalgo

-6-

Estructura de Datos IDAT


Ejercicios de conocimiento resueltos 1. Clasifique los siguientes datos en simples y compuestos El nmero de botones de una camisa. La altura de una torre. El nmero de pasajeros de un avin. El resultado de hacer una apuesta (ganar o perder). La letra 'b' escrita en mayscula. Los datos de una cuenta bancaria. La capital de Canad. Solucin Datos simples: Por ejemplo: 8 > Dato numrico entero. Por ejemplo: 120,5 > Dato numrico real. Por ejemplo: 227 > Dato numrico entero. Dato lgico 'B' > Dato de tipo carcter. Datos compuestos: Dato compuesto por: nombre, apellidos, etc. "Ottawa" > Dato de tipo cadena.

Luis Arias Hidalgo

2. De las siguientes palabras, Cules son reservadas y cules no los son?: cadena carcter compuesto entero falso lgico numrico real simple verdadero Solucin Son palabras reservadas en Java: cadena entero real verdadero No lo son: carcter debera ser caracter (sin tilde)

-7-

Estructura de Datos IDAT


compuesto es un tipo de dato, pero no una palabra reservada faslo debera ser falso lgico debera ser logico (sin tilde) numerico es un tipo de dato, pero no una palabra reservada simple es un tipo de dato, pero no una palabra reservada 3. De la lista siguiente, Cules son tipos de datos simples? dato booleano dato cadena dato enumerado dato estructurado dato numrico dato ordinal dato real dato verdadero Solucin Son tipos de datos simples: dato booleano dato enumerado dato numrico dato ordinal dato real No lo son:

Luis Arias Hidalgo

dato cadena, ya que, una cadena est formada por varios caracteres. dato estructurado, ya que, es compuesto, es decir, contrario a simple. dato verdadero. verdadero es un valor de tipo lgico, pero no un tipo en s mismo.

-8-

Estructura de Datos IDAT


Ejercicios practicos resueltos

Luis Arias Hidalgo

Hacer un programa java que permita mostrar el mensaje en pantalla. Solucin

class Mensaje{ public static void main(String[]args){ System.out.println("Mensaje a mostrar"); } }

Hacer un programa que permita mostrar varias lneas en consola con una sola lnea de comando. Solucin

public class MultipleLinea{ // el mtodo main empieza la ejecucin de la aplicacin de Java public static void main( String args[] ) { System.out.println("Bienvenido\na\nla programacion\nen Java!"); }// fin del mtodo main }//

Realice un cdigo Java que permita mostrar el rea de un triangulo dada su base 3.5 y altura 4.2 Solucin

class AreaTrianguloRectanguloApli{ public static void main(String[]args){ double a,b,c; a=3.5;b=4.2; c=(a*b)/2; System.out.println(" Area igual a " + c); } } Hacer un programa que permita el ingreso de un numero y muestre su doble y triple. Solucin Forma 1: usando la clase Scanner import java.util.Scanner; public class ejercicio { public static void main(String[] args) { //llamando a Scanner para permitir el ingreso desde consola

-9-

Estructura de Datos IDAT


Scanner scan = new Scanner(System.in); //imprimir mensaje inicial System.out.print("Ingrese numero: "); //capturando el valor String Numero = scan.nextLine(); //convirtiendo el valor string a entero int n = Integer.parseInt(Numero); //mostrando los resultados System.out.print("El doble del numero es: " + n*2); System.out.print("El triple del numero es: " + n*3); } }

Luis Arias Hidalgo

Forma 2: usando la clase IO import java.io.*; public class ejercicio { public static void main(String[] args) { String Num; int n; //creacin del flujo para leer datos InputStramReader Lectura = new InputStramReader(System.in); //creacin del filtro para optimizar la lectura de datos BufferedReader leer = new BufferedReader(Lectura); //Pidiendo ingreso de nmero System.out.print("Ingrese nmero: "); //capturando el valor Num = leer.Readline(); //convirtiendo el valor string a entero n = Integer.parseInt(Num); //mostrando los resultados System.out.print("El doble del numero es: " + n*2); System.out.print("El triple del numero es: " + n*3); } }

NOTA

La creacin del filtro para capturar datos desde teclado puede hacerse en una sola lnea de comando:
BufferedReader leer=new BufferedReader(new InputStreamReader(System.in));

- 10 -

Estructura de Datos IDAT


Ejercicios practicos resueltos con JOptionPane: Ejercicio 1:Ingresar un numero y mostrar el doble

Luis Arias Hidalgo

import javax.swing.JOptionPane; //Se llama a esta librera para poder utilizar el JOptionPane public class Ejercicio1 { public static void main(String[] args){ String N1; int n; //Aqu se ingresa un numero mediante el JOptionPane //Hay que recordar que todo lo que se ingresa es cadena N1=JOptionPane.showInputDialog("Ingrese Numero "); //Aqu se convierte lo que se ingreso a Numero Entero n=Integer.parseInt(N1); //Aqui se visualiza un resultado(primero se pone null y de ah lo que se quiere visualizar JOptionPane.showMessageDialog(null,"El Doble es " + n*2); //Tambin podramos visualizar con System.out //System.out.println("El doble es " + n*2); } }

Ejercicio 2: Ingresar el nombre y las 2 notas de un alumno , mostrar su nombre y su promedio import javax.swing.JOptionPane; public class Ejercicio2 { public static void main(String[] args){ String Nombre; String Resultado; int n1,n2; double prom; Nombre=JOptionPane.showInputDialog("Ingrese Nombre "); n1=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Nota 1 ")); n2=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Nota 2 ")); prom = (n1+n2) /2; Resultado = "Nombre de Alumno : " + Nombre + "\nPromedio :" + prom; JOptionPane.showMessageDialog(null,Resultado); } }

- 11 -

Estructura de Datos IDAT

Luis Arias Hidalgo

Ejercicio 3: Ingresar el nombre , precio y cantidad , mostrar el monto. import javax.swing.JOptionPane; public class Ejercicio3 { public static void main(String[] args){ String Nombre; int Cant; double Precio,Monto; Nombre=JOptionPane.showInputDialog("Ingrese Nombre "); Cant=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Cantida ")); Precio=Double.parseDouble(JOptionPane.showInputDialog("Ingrese Precio ")); Monto =Precio * Cant; System.out.println("Monto es : " + Monto); } } Ejercicio 4: Ingresar un numero de 4 cifras y mostrar la suma de sus cifras laterales y centrales import javax.swing.JOptionPane; public class Ejercicio4 { public static void main(String[] args){ String Resultado; int num,u,d,c,m; num=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Numero ")); m=num/1000; c=(num%1000)/100; d=((num%1000)%100)/10; u=num%10; Resultado = "El numero ingresado fue :" + num + "\nSumade Cifras Centrales es : " +(c+d) + "\nSuma e cifras Laterales es :" + (m+u); JOptionPane.showMessageDialog(null,Resultado); } }

- 12 -

Estructura de Datos IDAT


Laboratorio 1 : Estructuras Basicas

Luis Arias Hidalgo

1. Que tipo de datos resulta ms adecuado para representar cada uno de los conceptos siguientes : El sueldo de un trabajador La edad de una persona El nmero de hijos El estado civil El estado de caducado no de un producto El n de telfono La direccin. 2. Para cada uno de los puntos siguientes escribir un programa que pida los datos necesarios y calcule el rea y el permetro de la figura indicada Un cuadrado Un rectngulo Un tringulo Un crculo 3. Un edificio tiene 14 escalones entre pisos. Calcule cuantos pisos sube una persona que ha recorrido 86 escalones. 4. Escribir un programa para calcular el importe de una venta en un supermercado. El usuario debe indicar el nombre del producto, el precio por unidad y el n de unidades y el programa sacar por pantalla el nombre del producto, el n de unidades vendidas y el precio total. Preste especial atencin a qu tipo de datos resulta ms adecuado para cada representar cada cantidad. 5. Se ingresa el valor de costo de un producto y la cantidad comprada, mostrar el subtotal, IGV, y total a pagar. 6. Se sabe que el lado de un cuadrado es 53.21 y se desea mostrar su rea y permetro. 7. Desarrolle un programa que solucione el enunciado siguiente: Se ingresa el nombre de un empleado, sueldo y tiempo servicio de un trabajador. Por cada ao de servicio recibe S/.50 soles. Mostrar el descuento (5%) y el sueldo total. 8. Construya un algoritmo para convertir dlares en soles. 9. Ingrese tres nmeros, calcule su producto y suma y el resultado de la diferencia de estos resultados. 10. Ingrese un nmero entero de 2 cifras y muestre cada una de sus cifras por separado. 11. Desarrolle un algoritmo para mostrar cada una de las cifras de un nmero de 4 cifras ingresado por pantalla y muestre tambin la suma de sus cifras. 12. Una empaquetadora recibe un nmero de libros para colocar en cajas. Se sabe que cada caja puede contener 14 libros. Se ingresa el nmero de libros y el precio de cada libro. El programa debe mostrar: El nmero de cajas. El precio de cada caja. El sub total del importe El IGV (19%) El total a pagar

- 13 -

Estructura de Datos IDAT

Luis Arias Hidalgo

13. Escribir un programa que calcule la nmina de un trabajador de la manera siguiente. El trabajador cobra un precio fijo por hora y se le retiene un 5% en concepto de IRPF. El programa debe pedir el nombre del trabajador, las horas trabajadas y el precio que cobra por hora. Como salida debe imprimir el sueldo bruto, la retencin y el sueldo neto.

- 14 -

También podría gustarte