Está en la página 1de 14

Estructura de Datos Luis Arias Hidalgo

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.

-1-
Estructura de Datos Luis Arias Hidalgo

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

-2-
Estructura de Datos Luis Arias Hidalgo

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”;

-3-
Estructura de Datos Luis Arias Hidalgo

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

-4-
Estructura de Datos Luis Arias Hidalgo

/* 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

-5-
Estructura de Datos Luis Arias Hidalgo

Conversión de Datos

Integer.parseInt .- Convierte una cadena a Entero


También tendremos:

Double.parseDouble .- Convierte a double.

-6-
Estructura de Datos Luis Arias Hidalgo

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)


• compuesto es un tipo de dato, pero no una palabra reservada
• faslo debería ser falso

-7-
Estructura de Datos Luis Arias Hidalgo

• 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.

-8-
Estructura de Datos Luis Arias Hidalgo

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

-9-
Estructura de Datos Luis Arias Hidalgo

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

NOTA

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

- 10 -
Estructura de Datos Luis Arias Hidalgo

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

- 11 -
Estructura de Datos 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 Luis Arias Hidalgo

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.

- 13 -
Estructura de Datos Luis Arias Hidalgo

 El precio de cada caja.


 El sub total del importe
 El IGV (19%)
 El total a pagar

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.

- 14 -

También podría gustarte