Está en la página 1de 38

PROGRAMACION 1

Capítulo 3:
PROGRAMACIÓN ORIENTADA A
OBJETOS
Sesión 16
OBJETIVOS DEL TEMA
Capacitar al estudiante en el manejo del
lenguaje Java para el desarrollo de
aplicaciones
LENGUAJE JAVA
Historia
Aspectos generales
Elementos del lenguaje
Ambiente Integrado de
Desarrollo
ELEMENTOS LEXICOS DEL
LENGUAJE
Palabras reservadas
Identificadores
Literales
Operadores
Delimitadores
Comentarios
ELEMENTOS LEXICOS DEL
LENGUAJE
Token es un componente léxico de un
lenguaje de programación
PALABRAS RESERVADAS
ELEMENTOS LEXICOS DEL
LENGUAJE
IDENTIFICADORES
Palabras que podemos utilizar para denominar algo
en el lenguaje. Recordar reglas para los
identificadores.

LITERAL
Especificación
de un valor
concreto de un tipo
de dato
ELEMENTOS LEXICOS DEL
LENGUAJE
OPERADORES
Realizan una acción específica
ELEMENTOS LEXICOS DEL
LENGUAJE
DELIMITADORES
Símbolos usados como separadores de las
distintas construcciones de un lenguaje de
programación, son los signos de
puntuación del lenguaje.
ELEMENTOS LEXICOS DEL
LENGUAJE
COMENTARIOS
Sirven para incluir aclaraciones en el código:
// comentarios de una línea
/*comentarios
De varias líneas */
Es recomendable incluir comentarios que
expliquen lo que hace el programa y sus
características ( autor, fecha, algoritmos usados,
estructuras de datos, alguna singularidad)
//Solución de una ecuación de 2do grado
// Usando la Formula General
// Ma. Fernanda Granda , 2010
PROGRAMAS
Java es un lenguaje de programación orientado a
objetos y todo debe estar dentro de una clase,
incluida la función main:
public class MiPrimerPrograma
{
public static void main (String[] args)
{ //Declaraciones y sentencias escritas en Java

}
}
Las llaves delimitan bloques en Java (conjuntos de
elementos de un programa)
La máquina virtual Java ejecuta el programa
invocando a la función main.
OPERACIONES BASICAS DE
E/S
MOSTRAR RESULTADOS CON LA
FUNCIÓN System.out.println
int edad=35;
System.out.println(“Tengo ”+edad+” años”);
final double PI=3.1415927;
System.out.println(“Valor de PI= ”+pi);
En la función println se usa+ para
concatenar textos
OPERACIONES BASICAS DE
E/S
OBTENER DATOS DE ENTRADA A ATRAVES DE LOS
PARAMETROS DEL MAIN
La función main puede recibir parámetros:
public class MiPrimerPrograma
{
public static void main (String[] args)
{ //Declaraciones y sentencias escritas en Java
System.out.println(args[0]);
System.out.println(args[1]);
}
}
Los parámetros de al función main son de tipo
String. Si se ejecuta el programa con java
MiPrimerPrograma valor1 valor2, ejecuta:
OPERACIONES BASICAS DE
E/S
Con args.length podemos saber cuántos
parámetros le han pasado al programa.
EJEMPLO CON PASO DE
PARAMETROS DESDE LA
EJECUCIÓN
public class Bisiesto
{
public static void main (String args[])
{ //Declaración de variables
int year;
boolean bisiesto;
//Entrada de Datos
year=Integer.parseInt(args[0]);
//Cálculos
bisiesto=((year%4==0) && (year%100!=0)) || (year%400==0);
//Salida de Resultados
System.out.println(bisiesto);
}
}
EJEMPLO CON PASO DE
PARAMETROS DESDE LA
EJECUCIÓN
Para compilar
Javac Bisiesto
Para Ejecutarlo
Java Bisiesto 2000
Resultado
True
Para Ejecutarlo con otro año
Java Bisiesto 2005
Resultado
False
OPERACIONES BASICAS DE
E/S
LEER DATOS DESDE EL TECLADO
La realización de operaciones de entrada de datos no es
inmediata, por lo que utilizaremos una clase auxiliar Scanner.
Incluir el paquete:
import java.util.Scanner;
Declarar una variable entrada del tipo Scanner
Scanner entrada = new Scanner(System.in);
Int i= entrada.nextInt();
Byte b=entrada.nextByte();
Hay una lectura para cada tipo, o se puede leer como texto
y luego cambiar al tipo requerido con
Integer.parseInt(string), Double.parseDouble(string),
etc.
EJEMPLO CON LECTURA
DESDE EL TECLADO EN
MODO TEXTO
import java.util.Scanner;
public class MiPrimeraClase {
public static void main(String[] args) {
int i=0;
byte b=0;
short s=0;
double d=0.0;
float f=0.0f;
String cadena=null;
Scanner entrada = new Scanner(System.in);
System.out.println("Ingrese Entero \n");
i=entrada.nextInt();
EJEMPLO CON LECTURA
DESDE EL TECLADO EN
MODO TEXTO
System.out.println("Ingrese Byte \n");
b=entrada.nextByte();
System.out.println("Ingrese Short \n");
s=entrada.nextShort();
System.out.println("Ingrese Double \n");
d=entrada.nextDouble();
System.out.println("Ingrese Float \n");
f=entrada.nextFloat();
System.out.println("Ingrese String\n");
cadena=entrada.next();
i=Integer.parseInt(cadena);
System.out.println("Integer "+i); }}
E/S con interfaces gráficas de
usuario(GUIs): JOptionPane
La biblioteca de clases estándar de Java incluye una
amplia variedad de componentes para la
construcción de interfaces gráficas de usuario.
El componente javax.swing.JOptionPane se puede
emplear para obtener datos de entrada y mostrar
mensajes de salida:
ENTRADA DE DATOS CON SHOWINPUTDIALOG
String entrada;
entrada=JOptionPane.showInputDialog (“Introduzca un
valor”);
E/S con interfaces gráficas de
usuario(GUIs): JOptionPane
entrada=JOptionPane.showInputDialog
(null,”Introduzca un valor”, “Mi programa en
Java”, JOptionPane.QUESTION_MESSAGE);

entrada=JOptionPane.showInputDialog
(null,”Introduzca un valor”, “Otro programa en
Java”, JOptionPane.INFORMATION_MESSAGE);
E/S con interfaces gráficas de
usuario(GUIs): JOptionPane
SALIDA DE DATOS CON
SHOWMESSAGEDIALOG
JOptionPane.showMessageDialog
(null,”¡Bienvenido a Java!”);
JOptionPane.showMessageDialog
(null,”¡Bienvenido a Java!”, “Programa de
ejemplo”,
JOptionPane.INFORMATION_MESSAGE);
JOptionPane.showMessageDialog
(null,”¡Bienvenido a Java!”, “Programa de
ejemplo”,
JOptionPane.WARNING_MESSAGE);
E/S con interfaces gráficas de
usuario(GUIs): JOptionPane
JOptionPane.showMessageDialog
(null,”¡Bienvenido a Java!”, “Programa de
ejemplo”, JOptionPane.ERROR_MESSAGE);

Cuando se usa JOptionPane es aconsejable


llamar a System.exit(0); para terminar la
ejecución del programa.
EJEMPLO CON GUIs
import javax.swing.JOptionPane;
public class Hipoteca
{
public static void main (String args[])
{
double cantidad; // en dólares
double interes; // en porcentaje (anual)
int tiempo; // en años
double cuota; // en dólares (mensual)
double interesMensual ; // en tanto por uno
String entrada; // variable auxiliar
EJEMPLO CON GUIs
// Entrada de datos
entrada=JOptionPane.showInputDialog(“Importe
de la Hipoteca ($)”);
cantidad =Double.parseDouble(entrada);
entrada=JOptionPane.showInputDialog(“Tipo de
Interés(%)”);
interes =Double.parseDouble(entrada);
entrada=JOptionPane.showInputDialog(“Periodo
de amortización (años)”);
tiempo =Integer.parseInt(entrada);
EJEMPLO CON GUIs
//Calculo de la Cuota Mensual
interesMensual=interes/(12*100);
cuota=(cantidad*interesMensual)/(1.0-
1.0/Math.pow(1+interesMensual, tiempo*12));
cuota=Math.round(cuota*100)/100.0;
//Resultado
JOptionPane.showMessageDialog(null, “Cuota
Mensual = ”+ cuota+ “($)”);
System.exit(0);
}
}
EJEMPLO CON GUIs
Para Compilarlo
Javac Hipoteca.java
Para ejecutarlo
Java Hipoteca
Resultado
Estructuras de control
Las estructuras de control son construcciones hechas a partir
de palabras reservadas del lenguaje que permiten modificar
el flujo de ejecución de un programa.
De este modo, pueden crearse construcciones de alternativas
y bucles de repetición de bloques de instrucciones.
Hay que señalar que un bloque de instrucciones se encontrará
encerrado mediante llaves {……..} si existe mas de una
instrucción.
Hay tres clases de estructuras de Control:
Secuenciales
Condicionales
Repetitivas
Estructuras condicionales
Son construcciones que permiten alterar el
flujo secuencial de un programa, de forma
que en función de una condición o el valor
de una expresión, el mismo pueda ser
desviado en una u otra alternativa de
código.
Pueden ser:
If – else
switch
Estructuras condicionales
if (expresión) Bloque instrucciones
El “bloque de instrucciones” se ejecuta si, y
solo si, la expresión (que debe ser loóica) se
evalua a true, es decir, se cumple una
determinada condición.

Con cláusula else:


if (expresión)
{ Bloque instrucciones 1}
else
Bloque instrucciones 2}
Estructuras condicionales
Sentencia switch
Bucles
Los bucles son estructuras de repetición.
Bloques de instrucciones que se repiten un
número de veces mientras se cumpla una
condición o hasta que se cumpla una
condición.
Existen tres construcciones para estas
estructuras de repetición:
Bucle for.
Bucle do-while.
Bucle while.
Bucles
Bucle for. Tiene la siguiente forma:

Cualquiera de estas tres clausulas puede


estar vacía, aunque SIEMPRE hay que
poner los puntos y coma “;”.
Ejemplo:
Bucles
Bucle do-while: tiene la siguiente forma:

Ejemplo:
Bucles
Bucle while. Tiene la siguiente forma:

Ejemplo:
ESTILO Y DOCUMENTACIÓN
DEL CÓDIGO
Los comentarios han de aclarar y ayudar al lector en
las partes difíciles. Si es posible escriba código fácil de
entender.
int mes; //mes del año (1-12)
SANGRIAS
Conviene usar espacios en blanco o separadores para
delimitar el ámbito de las estructuras de control.
LINEAS EN BLANCO
Para delimitar los diferentes segmentos de código.
IDENTIFICADORES
Deben ser descriptivos (reflejar su significado).
double precio, suma, total; //correcto
double p, s, t; //incorrecto
ESTILO Y DOCUMENTACIÓN
DEL CÓDIGO
DECLARACIONES
Usualmente se declara una variable por línea.
No mezclar en una línea variables de
diferentes tipos o que se utilicen para
diferentes fines.
CONSTANTES
No es buena costumbre incluir literales de
tipo numérico en medio del código, se
debería definir constantes simbólicas
(declaraciones con final).
ESTILO Y DOCUMENTACIÓN
DEL CÓDIGO
ERRORES DE PROGRAMACIÓN
Errores Sintácticos: detectados por el
compilador en tiempo de compilación.
Errores Semánticos: Sólo se detectan en
tiempo de ejecución: causan que el
programa finalice inesperadamente su
ejecución (división para cero) o que el
programa proporcione resultados
incorrectos.
TAREA
Para la próxima clase pasar 5 algoritmos a
lenguaje java.