Download - SlideBoom

Document related concepts

Scala (lenguaje de programación) wikipedia , lookup

Objeto inmutable wikipedia , lookup

Transcript
Introducción a la
Programación en Java
Algoritmos y Desarrollo de Programas I
Autor: Geovanny Vega
¿Qué es Java?


En nuestro curso utilizaremos un lenguaje
de programación moderno conocido como
Java.
Java puede usarse para crear dos tipos de
programas:


Aplicaciones – programas tradicionales que
se ejecutan en la computadora
Applets – pequeños programas que se
ejecutan dentro de una página Web. Para
verlos hace falta un browser como Internet
Explorer o Firefox
2
Historia de Java



Java surge de un equipo de trabajo
de Sun Microsystems en 1991.
La idea original era crear un
lenguaje universal para que con un
mismo aparato de control remoto se
pudieran manejar diferentes
equipos de entretenimiento.
El lenguaje original, creado por
James Gosling, se llamaba Oak,
por un árbol que Gosling veía desde
su oficina.
3
Historia de Java (cont.)



Lo novedoso de HotJava es que se
podían correr applets escritos en
Java que permitían animaciones e
interacción con el usuario.
El browser fue demostrado en una
conferencia mundial de Sun que se
ofreció en 1995.
Este es el año en que surge la
primera versión pública, Java 1.0.
4
Ediciones de Java (cont.)


Para ejecutar un programa en Java,
lo mínimo que se necesita es que la
computadora contenga el
Ambiente de Ejecución de Java
(JRE, Java Runtime Environment).
El JRE se instala de forma
automática la primera vez que se
accede a una página Web que
contiene un applet.
5
Ediciones de Java (cont.)



Los programadores necesitamos
además un conjunto de programas
que nos permita crear aplicaciones
y applets en Java.
Éste se conoce como el Kit para
Desarrollo de Java (JDK, Java
Development Kit).
Existen diferentes ediciones del JDK
que se pueden obtener, totalmente
gratis, de Sun Microsystems: Java
SE, Java EE y Java ME.
6
Ediciones de Java (cont.)

Java SE (Java Standard Edition)


Java EE (Java Enterprise Edition)


Provee todo lo necesario para la creación
de aplicaciones y applets.
Permite crear aplicaciones para
empresas que proveen servicios por el
Web.
Java ME (Java Micro Edition)

Permite crear aplicaciones para
productos como teléfonos celulares y
enseres eléctricos.
7
Un programa en Java

El siguiente es un programa simple que
muestra el mensaje “Hello, world!”:
public class compra {
public static void main(String[] args) {
8
Creación del programa



Para escribir el programa se usa un
editor de texto y se guarda en un
archivo.
El programa se conoce como
código fuente (source code) y el
archivo es el archivo fuente
(source file).
La extensión .java se usa para los
archivos fuente en Java.
9
Creación del programa (cont.)

La siguiente ventana muestra el
código fuente del programa escrito
usando Notepad:
10
Creación del programa (cont.)

La siguiente ventana muestra el código
fuente del programa escrito usando el
editor de Eclipse:
11
Compilación y ejecución del programa



Para poder ejecutar (correr) un
programa es necesario traducir el
código fuente a lenguaje de máquina.
Un compilador es un programa que
traduce el código fuente a un código
ejecutable en lenguaje de máquina.
La extensión .exe se utiliza
normalmente para indicar que un
archivo es ejecutable, pero no en
Java.
12
Compilación y ejecución del programa
(cont.)



A diferencia de la mayoría de los
compiladores, el compilador de Java
traduce las instrucciones a un código
intermedio que se conoce como byte
code.
La extensión .class es usada para
identificar el archivo que contiene la
versión en byte code del archivo fuente.
Este código intermedio es luego
interpretado y ejecutado por otro
programa que se conoce como Java
Virtual Machine (JVM).
13
Compilación y ejecución del programa
(cont.)
Step 1
Text Editor
HelloWorldApp.java
(Source File)
Step 2
Java Complier
HelloWorldApp.class
(Byte Code File)
Step 3
Java
Virtual Machine
14
Compilación y ejecución del programa
(cont.)

Existen varias alternativas para
compilar y ejecutar un programa en
Java:


Puede hacerse mediante comandos
desde el command prompt del sistema
operativo.
Puede hacerse desde un ambiente
integrado de desarrollo (IDE,
Integrated Development Enviroment).
15
Compilación y ejecución del programa
(cont.)


En un IDE se integran un editor de
texto, compilador, depurador y
otras herramientas a las cuales se
accede por un conjunto de menús.
Los IDE que más se utilizan para
Java son Eclipse y NetBeans, los
cuales estudiaremos en éste y el
próximo curso.
16
Compilación y ejecución del programa
(cont.)

Para compilar y ejecutar un programa
desde el command prompt es
necesario hacer tres cosas:
1.
Indicarle al sistema operativo dónde está
el compilador y el JVM:
set path=C:\Program Files\Java\jdk1.6.0_07\bin
2.
Compilar el programa:
javac HelloWorldApp.java
3.
Invocar el JVM para ejecutar el
programa:
java HelloWorldApp
17
Compilación y ejecución del programa
(cont.)

La siguiente ventana muestra cómo
se compila y ejecuta el programa
desde el command prompt:
18
Compilación y ejecución del programa
(cont.)

La siguiente ventana muestra cómo se
compila y ejecuta el programa desde
Eclipse:
19
Elementos comunes en los lenguajes
de programación

Los lenguajes de programación,
incluyendo Java, incluyen una serie
de elementos comunes:





Palabras reservadas
Identificadores
Signos de puntuación
Operadores
Reglas de Sintaxis
20
Elementos comunes en los lenguajes
de programación (cont.)

Usaremos el siguiente programa
para identificar estos elementos:
public class PayrollApp {
public static void main(String[] args) {
int hours = 40;
double payRate = 25.0, grossPay;
grossPay = hours * payRate;
System.out.print(″Gross Pay: $″);
System.out.println(grossPay);
}
}
21
Elementos comunes en los lenguajes
de programación (cont.)

Las palabras reservadas
(keywords) tienen un significado
especial en el lenguaje.



En el programa aparecen: public,
class, static, void, int y double.
No pueden ser utilizadas para
ninguna otra cosa que no sea para
lo que fueron definidas.
En Java las palabras reservadas se
escriben usando sólo letras
minúsculas.
22
Elementos comunes en los lenguajes
de programación (cont.)

Los identificadores son palabras
que el programador utiliza para
nombrar cosas tales como
programas, clases, variables y
rutinas (métodos), entre otros.

En el programa aparecen:
PayRollApp, String y System para el
programa y otras clases
 args, hours, payRate, grossPay y out
para las variables
 main y println para los métodos

23
Elementos comunes en los lenguajes
de programación (cont.)


En Java los identificadores que
corresponden a las clases
comienzan con letra mayúscula.
Los identificadores que
corresponden a las variables y a los
métodos se escriben comenzando
con letra minúscula y usando una
letra mayúscula al comienzo de
cada nueva “palabra”.
24
Elementos comunes en los lenguajes
de programación (cont.)


Java es un lenguaje sensitivo a
mayúsculas y minúsculas (case
sensitive).
Esto quiere decir que todos los
identificadores tienen que escribirse
tal como fueron definidos.

Por ejemplo, grossPay y GrossPay
serían dos identificadores distintos.
25
Elementos comunes en los lenguajes
de programación (cont.)

Los signos de puntuación sirven
propósitos específicos, tales como marcar
el final de una instrucción o indicar el
comienzo y el fin de un conjunto de
instrucciones.



En Java las instrucciones terminan con punto y
coma (‘;’).
En Java las cadenas de caracteres (strings) se
colocan dentro de comillas dobles (‘″’).
En el programa aparecen otros signos de
puntuación tales como las llaves (‘{’ y ‘}’), los
paréntesis (‘(’ y ‘)’), los corchetes (‘[’ y ‘]’) y
el punto (‘.’).
26
Elementos comunes en los lenguajes
de programación (cont.)


Los operadores son símbolos o
que llevan a alguna operación con
datos, también conocidos como
operandos.
Algunos ejemplos de operadores
aritméticos son:




+
*
/
para
para
para
para
sumar dos números
restar dos números
multiplicar dos números
dividir dos números
27
Elementos comunes en los lenguajes
de programación (cont.)


Algunos operadores pueden
utilizarse para varias cosas.
Por ejemplo, el operador + puede
ser utilizado para:




Sumar dos números
Indicar que un número es positivo
Concatenar (unir) dos cadenas de
caracteres
A estos operadores se les llama
operadores sobrecargados.
28
Elementos comunes en los lenguajes
de programación (cont.)

Un operador importante es el =,
que requiere una variable a la
izquierda y una expresión a la
derecha:
grossPay = hours * payRate;

Este operador, llamado operador
de asignación, evalúa la expresión
de la derecha y asigna el resultado
a la variable de la izquierda.
29
Elementos comunes en los lenguajes
de programación (cont.)



Las reglas de sintaxis indican
cómo escribir correctamente los
programas.
Estas reglas indican cómo se
pueden utilizar las palabras
reservadas y los operadores y cómo
los signos de puntuación deben
aparecer.
Un programa con errores de sintaxis
no puede compilarse ni ejecutarse.
30
Elementos fundamentales de un
programa en Java

Consideremos de nuevo este
programa:
public class PayrollApp {
public static void main(String[] args) {
int hours = 40;
double payRate = 25.0, grossPay;
grossPay = hours * payRate;
System.out.print(″Gross Pay: $″);
System.out.println(grossPay);
}
}
31
Elementos fundamentales de un
programa en Java (cont.)



Todo programa en Java debe tener
por lo menos una clase.
Una clase (class) es un contenedor
de rutinas (llamadas métodos en
Java).
En un archivo fuente se puede tener
más de una clase pero sólo una
puede tener el atributo public.
32
Elementos fundamentales de un
programa en Java (cont.)



Cuando un archivo fuente en Java
contiene una clase pública, el
nombre de la clase pública tiene
que ser el mismo del archivo.
En el ejemplo, la clase pública que
representa el programa se llama
PayrollApp.
Por lo tanto, el archivo fuente se
tiene que llamar PayrollApp.java
33
Elementos fundamentales de un
programa en Java (cont.)



La definición de una clase comienza
con un encabezado que contiene la
palabra class.
Todas las definiciones e instrucciones
que pertenecen a una clase están
encerrados entre llaves: { }
Estas definiciones e instrucciones son
conocidas como el cuerpo de la
clase (class body).
34
Elementos fundamentales de un
programa en Java (cont.)

En el programa de ejemplo se
definió esta clase:
public class PayrollApp {
cuerpo de la clase PayrollApp
}
35
Elementos fundamentales de un
programa en Java (cont.)



Como se indicó anteriormente, una
clase es un contenedor de métodos.
Un método (method) es un
contenedor de instrucciones que
llevan a cabo una tarea.
Toda aplicación tiene que tener un
método principal de nombre main
que es el punto de comienzo de la
aplicación.
36
Elementos fundamentales de un
programa en Java (cont.)

En el programa de ejemplo se definió
el método main:
public class PayrollApp {
public static void main(String[] args) {
cuerpo del método main
}
}


El método main siempre lleva el
mismo encabezado.
Durante el curso se explicarán los
componentes de este encabezado.
37
Elementos fundamentales de un
programa en Java (cont.)



Los métodos también llevan un
encabezado y el cuerpo del método
(method body) se coloca dentro de llaves.
Los métodos contienen enunciados
(statements) que son las instrucciones
que se le dan a la computadora.
Existen dos tipos principales de
enunciados:


Enunciados de declaración
Enunciados ejecutables
38
Elementos fundamentales de un
programa en Java (cont.)

Los enunciados de declaración
(declaration statements) permiten
indicar el tipo de datos, nombre y,
posiblemente, un valor inicial para
cada variable.
39
Elementos fundamentales de un
programa en Java (cont.)

Nuestro programa contiene los
siguientes enunciados de declaración
(resaltados):
public class PayrollApp {
public static void main(String[] args) {
int hours = 40;
double payRate = 25.0, grossPay;
grossPay = hours * payRate;
System.out.print(″Gross Pay: $″);
System.out.println(grossPay);
}
}
40
Elementos fundamentales de un
programa en Java (cont.)

Los enunciados ejecutable
(executable statements) permiten
que la computadora lleva a cabo
instrucciones tales como:



Obtener un valor del usuario (input)
Asignarle a una variable el resultado de
una expresión (process)
Mostrar un valor en la pantalla
(output)
41
Elementos fundamentales de un
programa en Java (cont.)

Nuestro programa contiene los
siguientes enunciados ejecutables
(resaltados):
public class PayrollApp {
public static void main(String[] args) {
int hours = 40;
double payRate = 25.0, grossPay;
grossPay = hours * payRate;
// Process
System.out.print(″Gross Pay: $″); // Output
System.out.println(grossPay);
// Output
}
}
42