Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Recordando...
JAVA y su historia
Modelo de Traduccin
Variables y Constantes
Declarar variables tipoDato nombreVariable; tipoDato nombreVariable = valor_inicial; float promedio_curso = 0.0;
Operaciones matemticas
Math.sin(x) Seno x Math.pow(x,n) xn Math.round(6.6) 7 Math.random() Math.abs( x ) Math.sqrt(x) Math.max( a,b ) Math.min( a,b ) Math.PI devuelve un double para int, long, float y double ... para int, long, float y double para int, long, float y double contiene el valor del nmero PI
Algunos operadores pueden utilizarse para varias cosas. Por ejemplo, el operador + puede ser utilizado para:
o Sumar dos nmeros o Indicar que un nmero es positivo o Concatenar (unir) dos cadenas de caracteres
Un operador importante es el =, que requiere una variable a la izquierda y una expresin a la derecha:
grossPay = hours * payRate;
Este operador, llamado operador de asignacin, evala la expresin de la derecha y asigna el resultado a la variable de la izquierda. Recordar su equivalencia con el operador usado en PSeInt.
Las reglas de sintaxis indican cmo escribir correctamente los programas. Estas reglas indican cmo se pueden utilizar las palabras reservadas y los operadores y cmo los signos de puntuacin deben aparecer. Un programa con errores de sintaxis no puede compilarse ni ejecutarse. Errores de sintaxis --> corregir!!!
public class PayrollApp { public static void main(String[] args) { int hours = 40; double payRate = 2500, grossPay; grossPay = hours * payRate; System.out.print(Gross Pay: $); System.out.println(grossPay); } }
8
8
Todo programa en Java debe tener por lo menos una clase. Una clase (class) es un contenedor de rutinas (llamadas mtodos en Java). En un archivo fuente se puede tener ms de una clase pero slo una puede tener el atributo public.
Cuando un archivo fuente en Java contiene una clase pblica, el nombre de la clase pblica tiene que ser el mismo del archivo. En el ejemplo, la clase pblica que representa el programa se llama PayrollApp. Por lo tanto, el archivo fuente se tiene que llamar PayrollApp.java
10
10
La definicin de una clase comienza con un encabezado que contiene la palabra class. Todas las definiciones e instrucciones que pertenecen a una clase estn encerrados entre llaves: { } Estas definiciones e instrucciones son conocidas como el cuerpo de la clase (class body).
11
11
12
12
Como se indic anteriormente, una clase es un contenedor de mtodos. Un mtodo (method) es un contenedor de instrucciones que llevan a cabo una tarea. Toda aplicacin tiene que tener un mtodo principal de nombre main que es el punto de comienzo de la aplicacin.
13
13
14
14
Los mtodos tambin llevan un encabezado y el cuerpo del mtodo (method body) se coloca dentro de llaves { }. Los mtodos contienen enunciados (statements) que son las instrucciones que se le dan al computador. Existen dos tipos principales de enunciados:
Enunciados de declaracin Enunciados ejecutables
15
15
Los enunciados de declaracin (declaration statements) permiten indicar el tipo de datos, nombre y, posiblemente, un valor inicial para cada variable. Declaramos TODAS las variables que se usarn!!!
16
16
public class PayrollApp { public static void main(String[] args) { int hours = 40; double payRate = 2500, grossPay; grossPay = hours * payRate; System.out.print(Gross Pay: $); System.out.println(grossPay); } }
17
17
Los enunciados ejecutable (executable statements) permiten que la computadora lleve a cabo instrucciones tales como:
Obtener un valor del usuario (input) Asignarle a una variable el resultado de una expresin
(process) Mostrar un valor en la pantalla (output) Encuentra una similitud con los contenidos anteriores?
18
18
19
19
Java provee la clase System que contiene una referencia a la pantalla, llamada out. La variable out reconoce los mtodos print y println que se utilizan para mostrar valores en la pantalla (una operacin de output). La clase System es un contenedor de definiciones y mtodos pero no es una aplicacin ya que no contiene el mtodo main. Para el uso de los mtodos de E/S se requiere usar el paquete Java (ubicado en java.io), mediante la instruccin: import java.io.*;
20
20
lang para funciones del lenguaje; util para utilidades adicionales; io para entrada y salida; text para formateo especializado; awt para grficos e interfaz grfica de usuario
Para acceder a cualquiera de estos paquetes, excepto lang que est siempre disponible, usamos el siguiente modelo:
import java.nombrepaquete.*;
Los clase System y los mtodos print y println pertenecen a lo que se denomina como la Interfaz de Programacin de Aplicaciones (Java API, Application Programming Interface). Un API es una biblioteca (library) que contiene una serie de clases para llevar a cabo ciertas operaciones. Las clases y los mtodos en el Java API estn disponibles para todos los programas en Java.
Hay que saber de que API's disponemos y que servcios nos prestan...
22
22
Como el mensaje es una cadena de caracteres, ste debe colocarse entre comillas dobles ().
23
23
El mtodo println muestra un valor en la pantalla y mueve el cursor al inicio de la prxima lnea. El mtodo print muestra un valor en la pantalla pero no mueve el cursor. Por ejemplo, otra forma de mostrar el mensaje Programar es divertido! es:
System.out.print( Programar ); System.out.println(es divertido!);
24
24
El mtodo println es una forma especial del mtodo print. Por ejemplo, el siguiente enunciado
System.out.println( Programar es divertido!);
es equivalente a
System.out.print( Programar es divertido!\n);
El segundo enunciado utiliza la secuencia de escape \n (newline) para indicar que se debe mover el cursor al inicio de la prxima lnea.
25
25
Existen varias secuencias de escape (escape sequences) que controlan cmo se muestran los valores en la pantalla pero las veremos cuando las necesitemos. La secuencia \n se puede colocar en cualquier lugar de una cadena de caracteres. Por ejemplo,
System.out.println( Programar\n es divertido!);
muestra lo siguiente:
Programar es divertido!
26
26
En el programa del ejemplo se calcula el salario de un empleado asumiendo que trabaj 40 horas, a $2500 por hora:
grossPay = hours * payRate; System.out.print(Salario: $); System.out.println(grossPay);
27
27
Otra forma de mostrar varios valores en una sola lnea es usar el operador +, como muestra este ejemplo:
System.out.println(Salario: $ + grossPay);
Cuando uno de los valores es un caracter o una cadena de caracteres, al operador + se le llama concatenacin. Este operador simplemente une los dos valores. El resultado saldr as en la pantalla:
Salario: $100000
28
28
Entrada
Al igual que Java nos ofrece System.out para escribir en pantalla, tenemos System.in para leer de ella. System.in es un objeto de una clase de java que se llama InputStream. Para Java, un InputStream es cualquier cosa de la que se leen bytes. Puede ser el teclado, un archivo, un socket, o cualquier otro dispositivo de entrada. Esto, por un lado es una ventaja. Si todas esas cosas son InputStream, podemos hacer cdigo que lea de ellas sin saber qu estamos leyendo.
29
Para Java, una clase Reader es una clase que lee caracteres. Un Reader tiene mtodos para leer caracteres. Con esta clase ya podriamos trabajar. Pero seguimos teniendo System.in, que es un InputStream y no un Reader. Cmo convertimos el System.in en Reader?
Hay una clase en java, la InputStreamReader, que nos hace esta conversin. Para obtener un Reader, nicamente tenemos que instanciar un InputStreamReader pasndole en el constructor un InputStream. El cdigo es el siguiente InputStreamReader isr = new InputStreamReader(System.in);
Estamos declarando una variable "isr" de tipo InputStreamReader. Creamos un objeto de esta clase haciendo new InputStreamReader(...) Entre parntesis le pasamos el InputStream que queremos convertir a Reader, en este caso, el System.in
30
BufferedReader br = new BufferedReader (isr); El funcionamiento de esta clase es igual que el InputStreamReader. Cuando le pedimos una lnea completa de caracteres (un String), ella se lo pide al Reader que tenga dentro, los convierte en String y nos lo devuelve. Para pedirle un String, se usa el mtodo readLine(). Este mtodo lee todos los caracteres tecleados (recibidos si fuera otro dispositivo de entrada) hasta que encuentra la pulsacin de la tecla <INTRO>, <RETURN>.
String texto = br.readLine();
Esto lee del teclado un String completo y lo guarda en una variable llamada texto.
31
String str01, str02 = new String(); while((str01 = in.readLine())!= null) str02 += str01 + "\n"; in.close(); // 1b. Se lee una lnea por teclado
BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in));
32
33
Excepciones
Cuando en Java puede fallar algo, por ejemplo, la conversin de la cadena en int, suele avisarnos. Esto lo hace "lanzando excepciones". Una excepcin es algo que lanza Java para avisarnos que ha habido un problema. try { // Aqu el cdigo que puede fallar } catch (Exception e) { System.out.println(e); e.printStackTrace(); // Aqu el cdigo para tratar el fallo }
34
Manejo de Excepciones
35
Otra forma de ingresar datos es mediante la clase Scanner que encontramos en el paquete java.util.Scanner; Este paquete permite ingresar datos de distintos tipos mediante los mtodos:
nextBoolean(), permite ingresar datos booleanos nextInt(), permite ingresar datos de tipo entero nextLong(), permite ingresar enteros ms grandes nextFloat(), permite ingresar nmeros reales nextDouble(), permite ingresar nmeros reales ms grandes nextString() or next(), permite ingresar caracteres nextLine(), permite ingresar una lnea de texto
Para ingresar datos, se debe declarar una variable de tipo Scanner, p. ej: Scanner intro = new Scanner(System.in); En este caso la variable intro permitir el ingreso de distintos tipos de datos mediante los mtodos anteriores. Si vamos a leer un nmero entero num = intro.nextInt();
Documentacin interna
El cdigo fuente de todo programa debe estar documentado con comentarios descriptivos y explicativos. Los comentarios son anotaciones que hace el programador para explicar lneas o secciones de cdigo. Son para las personas que van a ver el cdigo ya que el compilador los ignora.
38
38
Documentacin interna
39
39
Documentacin interna
Para escribir un comentario de una sola lnea se usan los smbolos //:
// Esto es un comentario.
Para escribir un comentario de varias lneas se comienzan con /* y se finaliza con */:
/* * Esto es un comentario * de dos lneas. */
40
40
Resumiendo...
Aspectos bsicos de sintaxis Java Principales secciones de un programa Java Elementos bsicos para manejo de E/S Prximas clases