14

Click here to load reader

Introducción a Java

Embed Size (px)

Citation preview

Page 1: Introducción a Java

Estructura de Datos Luis Arias Hidalgo IDAT

- 1 -

Tema 1: Introducción a Java Qué es Java Inicialmente Java fue creado por un grupo de investigadores de Sun Microsystems como un lenguaje de programación multipropósito y que funcionara no sólo en computadoras, sino que en cualquier dispositivo electrónico que necesite de una programación, desde su creación Java mostró ser muy sólido, pero no había un medio en el cual se podía encontrar una aplicación real, se intentó con juegos de video, equipos digitales, pero no se podía 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 difución. Java surgió como una respuesta por parte Sun Microsystems para el creciente mundo del desarrollo de aplicaciones internet, donde había un caos tremendo en el cual cada empresa líder trataba de implantar su propio estándar, donde una aplicación funcionaba en un servidor y no en otro debido a diferencias en el sistema operativo, incompatibilidades de software y hardware.

Características de Java

Simple.

Orientado a Objetos.

Distribuido.

Robusto.

Seguro.

Arquitectura Neutral.

Portable.

Interpretado. Ahora es compilado JIT.

Alto rendimiento.

Multithread.

Dinámico.

Lenguaje de objetos: No basado en objetos. Todo lo que existe en java son objetos, debido a que la tecnología de objetos es segura y se toma con gran importancia para el desarrollo de sistemas modernos, funcionales como los tipos Cliente Servidor. Multiplataforma: El código 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 programación no es necesario tener grandes conocimientos o dominios de programación avanzada. Familiar: Sintaxis parecida a C / C++, lo que lo hace fácil de identificar. Para los nuevos en este lenguaje les da una idea general de cómo se trabaja con el lenguaje C. Robusto: El compilador de Java puede detecta errores que impiden la creación 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 información del usuario al no permitir leer o escribir en el disco duro. Portable: La implementación de programas Java siguen los estandares y se respetan para toda aplicación creada con éste lenguaje , aumentando el alcance de la característica multiplataforma. De alto rendimiento: La creación de programas Java puede estar sujeta al uso de librerías existentes que no necesitan ser declaradas en cada uso, sino, solo referenciadas para usarlas libremente.

Page 2: Introducción a Java

Estructura de Datos Luis Arias Hidalgo IDAT

- 2 -

Multithread: Soporta de modo nativo los threads, sin necesidad del uso de de librerías específicas. Le permite además que cada Thread de una aplicación java pueda correr en una CPU distinta, si la aplicación se ejecuta en una máquina que posee varias CPU. Estructura de un Programa en Java Todo programa en Java consta de una o más funciones, una de las cuales se llama main. Para crear un programa o aplicación en java es necesario aparte de definir e implementar las clases que generarán el programa definir una clase que contenga un método especial que indica el punto de entrada que es : public static void main (String[ ] args) Sintaxis: class NombreAplicacion { public static void main (String[] args) { // Código que crea los objetos necesarios para que funcione la aplicación } } Este ejemplo se puede usar como plantilla para todas las aplicaciones en java pues sólo basta con cambiar el nombre de la clase con el de la aplicación. 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 cómo está definido su programa. Se utilizan para identificar los tipos, modificadores y mecanismos para control de secuencia incorporados. Estas palabras clave sólo se pueden utilizar para su propósito original y no se pueden utilizar como identificadores de nombres de variable, clase o método.

Las palabras reservadas en este lenguaje se muestran a continuación.

Las siguientes palabras están reservadas en Java:

boolean do implements protected throw break double import public throws byte else instanceof return transient case extends int short try catch final interface static void char finally long strictfp volatile class float native super while const for new switch continue goto package synchronized

Page 3: Introducción a Java

Estructura de Datos Luis Arias Hidalgo IDAT

- 3 -

Variables

La variable es la unidad básica de almacenamiento en un programa en Java. Una variable se define mediante la combinación de un identificador, un tipo y un ámbito.

La forma básica de una declaración 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. Declaración de Variables y Tipo de Datos En Java existen básicamente cuatro tipos de datos, aunque como se verá después, 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 RANGO

boolean variable booleana de 1 byte (8 bits) false y true

byte entero de 1 byte (8 bits) de -128 a 127

short entero de 2 byte (16 bits) de -32768 a 32767

int entero de 4 byte (32 bits) de -2147483648 a 2147483647

long entero de 8 byte (64 bits) de -2-63

a 263

- 1

float entero de 4 byte (32 bits) 6 dígitos significativos (10-46

, 1038

)

double entero de 8 byte (64 bits) 15 dígitos significativos (10-324

, 10308

)

char carácter UNICODE 2 bytes (16 bits) Comprende el código ASCII

String Juego de caracteres.

Declaración 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 están 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”;

Page 4: Introducción a Java

Estructura de Datos Luis Arias Hidalgo IDAT

- 4 -

Operadores Aritméticos, de Asignación, relacionales y Lógicos Operadores Aritméticos Existen dos tipos de operadores aritméticos: Los binarios: + Suma - Resta * Multiplicación / División % Módulo (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 Asignación = Asignación simple += Suma -= Resta *= Multiplicación /= División %= Módulo (resto) Con estos operadores se pueden escribir, de forma más 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 básicos: > Mayor que < Menor que >= Mayor o igual que <= Menor o igual que == Igual que != Distinto que Operadores Lógico Los operadores lógicos básicos son tres: && AND || OR ! NOT (El valor contrario) Nota : A la hora de programar es conveniente añadir comentarios (cuantos más mejor) para poder saber que función tiene cada parte del código, en caso de que no lo utilicemos durante algún tiempo. Además facilitaremos el trabajo a otros programadores que puedan utilizar nuestro archivo fuente. Para poner comentarios en un programa escrito en Java usamos los símbolos /* y */: /* Este es un ejemplo de comentario */ // Este tambien es un comentario

Page 5: Introducción a Java

Estructura de Datos Luis Arias Hidalgo IDAT

- 5 -

/* Un comentario también puede estar escrito en varias líneas */ El símbolo /* se coloca al principio del comentario y el símbolo */ al final. El comentario, contenido entre estos dos símbolos, no será tenido en cuenta por el compilador. Puntos Importantes

Toda instrucción 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 mayúsculas y minúsculas. Casi todas las palabras se escriben en minúsculas.

Si el teclado no esta configurado debemos configurarlo en el panel de control, teclado, idiomas y escogemos español-Perú

Funcion System.Out.Println Esta función 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

Librería JOptionPane Es un componente de la librería swing que muestra cuadros de dialogo, entre los cuales se pueden ingresar datos o visualizar datos Se necesita importar a la librería : 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 también 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

Page 6: Introducción a Java

Estructura de Datos Luis Arias Hidalgo IDAT

- 6 -

Conversión de Datos Integer.parseInt .- Convierte una cadena a Entero

También tendremos: Double.parseDouble .- Convierte a double.

Page 7: Introducción a Java

Estructura de Datos Luis Arias Hidalgo IDAT

- 7 -

Ejercicios de conocimiento resueltos 1. Clasifique los siguientes datos en simples y compuestos

El número de botones de una camisa.

La altura de una torre.

El número de pasajeros de un avión.

El resultado de hacer una apuesta (ganar o perder).

La letra 'b' escrita en mayúscula.

Los datos de una cuenta bancaria.

La capital de Canadá.

Solución

Datos simples:

Por ejemplo: 8 > Dato numérico entero.

Por ejemplo: 120,5 > Dato numérico real.

Por ejemplo: 227 > Dato numérico entero.

Dato lógico

'B' > Dato de tipo carácter.

Datos compuestos:

Dato compuesto por: nombre, apellidos, etc.

"Ottawa" > Dato de tipo cadena.

2. De las siguientes palabras, ¿Cuáles son reservadas y cuáles no los son?:

cadena

carácter

compuesto

entero

falso

lógico

numérico

real

simple

verdadero

Solución

Son palabras reservadas en Java:

cadena

entero

real

verdadero

No lo son:

carácter debería ser caracter (sin tilde)

Page 8: Introducción a Java

Estructura de Datos Luis Arias Hidalgo IDAT

- 8 -

compuesto es un tipo de dato, pero no una palabra reservada

faslo debería ser falso

lógico debería 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, ¿Cuáles son tipos de datos simples?

dato booleano

dato cadena

dato enumerado

dato estructurado

dato numérico

dato ordinal

dato real

dato verdadero

Solución

Son tipos de datos simples:

dato booleano

dato enumerado

dato numérico

dato ordinal

dato real

No lo son:

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 lógico, pero no un tipo en sí mismo.

Page 9: Introducción a Java

Estructura de Datos Luis Arias Hidalgo IDAT

- 9 -

Ejercicios practicos resueltos Hacer un programa java que permita mostrar el mensaje en pantalla.

Solución

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

Hacer un programa que permita mostrar varias líneas en consola con una sola línea de comando.

Solución

public class MultipleLinea{ // el método main empieza la ejecución de la aplicación de Java public static void main( String args[] ) { System.out.println("Bienvenido\na\nla programacion\nen Java!"); }// fin del método main }//

Realice un código Java que permita mostrar el área de un triangulo dada su base 3.5 y altura 4.2

Solución

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.

Solución

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

Page 10: Introducción a Java

Estructura de Datos Luis Arias Hidalgo IDAT

- 10 -

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); } }

Forma 2: usando la clase IO

import java.io.*; public class ejercicio { public static void main(String[] args) { String Num; int n; //creación del flujo para leer datos InputStramReader Lectura = new InputStramReader(System.in); //creación del filtro para optimizar la lectura de datos BufferedReader leer = new BufferedReader(Lectura);

//Pidiendo ingreso de número System.out.print("Ingrese número: "); //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); } }

La creación del filtro para capturar datos desde teclado puede hacerse en una sola

línea de comando:

BufferedReader leer=new BufferedReader(new InputStreamReader(System.in));

NOTA

Page 11: Introducción a Java

Estructura de Datos Luis Arias Hidalgo IDAT

- 11 -

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

import javax.swing.JOptionPane; //Se llama a esta librería 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); //También podríamos 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); } }

Page 12: Introducción a Java

Estructura de Datos Luis Arias Hidalgo IDAT

- 12 -

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); } }

Page 13: Introducción a Java

Estructura de Datos Luis Arias Hidalgo IDAT

- 13 -

Laboratorio 1 : Estructuras Basicas

1. Que tipo de datos resulta más adecuado para representar cada uno de los conceptos siguientes :

El sueldo de un trabajador La edad de una persona El número de hijos El estado civil El estado de caducado no de un producto El nº de teléfono

La dirección.

2. Para cada uno de los puntos siguientes escribir un programa que pida los datos necesarios y

calcule el área y el perímetro de la figura indicada Un cuadrado Un rectángulo Un triángulo Un círculo

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 atención a qué tipo de datos resulta más 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 perímetro. 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 año de servicio recibe S/.50 soles. Mostrar el descuento (5%) y el sueldo total.

8. Construya un algoritmo para convertir dólares en soles. 9. Ingrese tres números, calcule su producto y suma y el resultado de la diferencia de estos

resultados. 10. Ingrese un número 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 número de 4 cifras ingresado

por pantalla y muestre también la suma de sus cifras. 12. Una empaquetadora recibe un número de libros para colocar en cajas. Se sabe que cada caja

puede contener 14 libros. Se ingresa el número de libros y el precio de cada libro. El programa debe mostrar: El número de cajas. El precio de cada caja. El sub total del importe El IGV (19%) El total a pagar

Page 14: Introducción a Java

Estructura de Datos Luis Arias Hidalgo IDAT

- 14 -

13. Escribir un programa que calcule la nómina 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 retención y el sueldo neto.