Anda di halaman 1dari 34

Programación Estructurada en JAVA

Jorge Pérez

Introducción a la Computación

Jorge Pérez – Programación Estructurada en JAVA 1 / 34


Programación...

Recordando de la introducción:
I Queremos resolver un problema usando el computador.
I Nos interesan cierto tipo de problemas (INPUT/OUTPUT).
I Solución como una secuencia de pasos a seguir (Algoritmo).
I Por la magnitud del problema, el computador resulta muy útil.
I Necesitamos darle instrucciones al computador.

JAVA = Lenguaje para darle instrucciones al computador.

Jorge Pérez – Programación Estructurada en JAVA 2 / 34


Lenguaje JAVA

I Como cualquier lenguaje está compuesto por oraciones.


I En nuestro caso, más bien instrucciones.
I Cada oración/instrucción del lenguaje tiene un significado
(para el computador).

Jorge Pérez – Programación Estructurada en JAVA 3 / 34


Oraciones...

Ojo con las oraciones/instrucciones

“Ponte las zapatillas para salir a jugar”


es una oración totalmente entendible por una persona.

“para a Ponte jugar las salir zapatillas”


??????

Debemos aprender a hablar de manera correcta en JAVA, para que


el computador nos entienda...

Jorge Pérez – Programación Estructurada en JAVA 4 / 34


Significado...

Queremos que un niño se lave los dientes. Si decimos

“Anda a comer galletas y tomar jugo”


el niño nos entiende pero no realiza lo que queremos.

A pesar de que la oración está correctamente escrita, su significado


no es el que necesitamos para lograr nuestro objetivo.

No solo debemos hablar de manera correcta en JAVA, también


debemos tener cuidado en que el significado de las instrucciones
sea el correcto para lograr nuestro objetivo.

Jorge Pérez – Programación Estructurada en JAVA 5 / 34


Programando en JAVA

I Un programa en JAVA es un conjunto de oraciones escritas en


lenguaje JAVA.
I Sabremos programar cuando
I Sepamos escribir oraciones correctamente en JAVA
I Sepamos combinar las oraciones JAVA con el significado
preciso para lograr nuestros objetivos

Jorge Pérez – Programación Estructurada en JAVA 6 / 34


Programando en JAVA

El proceso de programar en JAVA consta entonces de dos partes


esenciales:
I Primero combinamos las instrucciones JAVA y verificamos que
el computador nos entienda
I Como cuando le decimos a un niño “¿entendiste?”
I Luego le pedimos al computador que realize las instrucciones
I Como cuando le decimos a un niño “ya, entonces hazlo!”

I “¿entendiste?”: técnicamente parte de lo que se conoce como


compilación del programa
I “ya, entonces hazlo!”: técnicamente lo que se conoce como
ejecución del programa

Jorge Pérez – Programación Estructurada en JAVA 7 / 34


Programando en .....
Queremos que el niño se lave los dientes.
Primer intento:
“lava, ya los te dientes”
“¿entendiste?” NO ⇒ no compila.
Segundo intento:

“cómete las galletas y después toma jugo.”


“¿entendiste?” SI ⇒ si compila, “ya, entonces hazlo!” y el niño no
se lava los dientes ⇒ error en la ejecución
Tercer intento:
“lávate los dientes.”
“¿entendiste?” SI ⇒ si compila, “ya, entonces hazlo!” y el niño
efectivamente se se lava los dientes ⇒ programa correcto
Jorge Pérez – Programación Estructurada en JAVA 8 / 34
Programando en JAVA

I Primero debemos compilar nuestro programa


I Luego debemos ejecutarlo en el computador
I Por suerte, el computador seguirá exactamente cada una de
las instrucciones JAVA que nosotros le entreguemos

Pasemos ahora a ver como escribir correctamente oraciones y


programas simples en lenguaje JAVA.

Jorge Pérez – Programación Estructurada en JAVA 9 / 34


Mi primer programa en JAVA

class Hola
{
public static void main(String[] args)
{ System.out.println("Hola Mundo!"); }
}
Instrucción JAVA para mostrar un mensaje en una lı́nea de la
pantalla.
El mensaje a mostrar es lo que se encierra entre comillas, en este
caso Hola Mundo!.
Toda instrucción debe terminar con un punto y coma (ası́ como en
castellano las oraciones deben terminar con un punto).
Un grupo de instrucciones debe estar delimitado por llaves.
Lamentablemente esto no es suficiente para que el computador nos
entienda (lo de arriba no compila).
JAVA es sumamente verboso, se necesita mucho más que lo
Jorge Pérez – Programación Estructurada en JAVA 10 / 34
Cómo ejecutar un programa en JAVA

Primero, hay que guardar el contenido del programa en un archivo:


I El nombre del archivo debe ser el nombre del programa,
seguido de la extensión .java
I En el ejemplo, el nombre del archivo debe ser Hola.java
I Luego, compilar (usar el comando javac).
I Finalmente, ejecutar (usar el comando java).

Jorge Pérez – Programación Estructurada en JAVA 11 / 34


Varias instrucciones

En un programa JAVA pueden haber varias instrucciones:


class Hola {
public static void main(String[] args)
{
System.out.println("Hola Don Pepito!");
System.out.println("Hola Don Jose!");
System.out.println("Paso usted por mi casa?");
System.out.println("Por su casa yo pase!");
}
}

Aquı́ estamos imprimiendo cuatro lı́neas con mensajes distintos, el


resultado es
Hola Don Pepito!
Hola Don Jose!
Paso usted por mi casa?
Por su casa yo pase!

Jorge Pérez – Programación Estructurada en JAVA 12 / 34


Orden de ejecución

Algo muy importante es que las instrucciones en un programa


siempre se ejecutan en el orden en el que aparecen escritas desde
arriba hacia abajo (y de izquierda a derecha).

En el anterior programa es imposible obtener como resultado


Hola Don Jose!
Por su casa yo pase!
Hola Don Pepito!
Paso usted por mi casa?

Jorge Pérez – Programación Estructurada en JAVA 13 / 34


Mostrando en pantalla

La instruccion
System.out.print("...")

muestra los que está entre comillas pero no en una lı́nea


independiente en la pantalla, por ejemplo , las instrucciones

System.out.print("Hola");
System.out.print("Chao");

tiene como resultado


HolaChao
De todas maneras existen formas de forzar un cambio de lı́nea, por
ejemplo escribiendo la secuencia
\n

dentro de lo que se está imprimiendo.


Jorge Pérez – Programación Estructurada en JAVA 14 / 34
Mostrando en pantalla

System.out.print(" Estimado Ayudante, \n\n\n me dirijo a Ud.");


System.out.print(" para pedirle mas plazo. \n\n");
System.out.print(" Atentamente \n\n\n Alumno.");

En este caso el resultado es


Estimado Ayudante,

me dirijo a Ud. para pedirle mas plazo.

Atentamente

Alumno.

Jorge Pérez – Programación Estructurada en JAVA 15 / 34


Variables

I Los programas que hemos hecho hasta ahora sólo imprimen


mensajes en pantalla.
I Pero cuando programamos queremos ser capaces de
almacenar datos, manipular datos, etc.
I Por este motivo necesitamos variables.

I En matemáticas una variable es un sı́mbolo para el cual


desconocemos su valor, o puede tomar un valor arbitrario
dentro de un conjunto de valores.
I En nuestro contexto (programación) el término tiene un uso
similar.

Jorge Pérez – Programación Estructurada en JAVA 16 / 34


Variables en el computador

I Una variable está fisicamente representada por un espacio


dentro de la memoria del computador que se reserva para
almacenar un valor que puede ir variando en el tiempo.
I La idea es que durante la ejecución de un programa, este
puede almacenar valores en ese espacio de memoria para ser
usados posteriormente.
I Para que el programa sepa donde está el espacio de memoria,
debe ponerle un nombre.
I Al nombre de una variable (espacio de memoria) se le conoce
como identificador.
X x y var var1 var12 x3 MiPrimeraVariable

son todos nombre válidos para variables dentro de un


programa.

Jorge Pérez – Programación Estructurada en JAVA 17 / 34


Variables: declaración

I Dado que una variable ocupará un espacio en la memoria,


para cada variable debemos decirle al computador que reserve
ese espacio.
I Esto se llama declaración de una variable y debe hacerse antes
de cualquier mención a ella en el programa.
I Adicionalmente debemos decirle al computador qué clase de
valor se almacenará en la variable: número entero, número
entero positivo, número real, otros.
I A esto se le llama tipo de variable.
I Sabiendo el tipo, el computador sabrá cuanto espacio en la
memoria debe reservar para la variable.

Jorge Pérez – Programación Estructurada en JAVA 18 / 34


Variables: asignación

I Dentro de un programa podemos almacenar un valor en una


variable usando el sı́mbolo de igualdad.
I La siguiente instrucción le asigna el valor 38 a una variable
identificada por x
x = 38;

I El lado izquierdo de la igualdad es siempre un identificador de


variable, el lado derecho una expresión que debe ser
compatible con el tipo de la variable.
I Después de que se ejecuta una asignación, la variable
identificada en el lado izquierdo de la igualdad almacenará el
valor resultado de evaluar la expresión del lado derecho.
I Importante: para que la asignación anterior funcione en un
programa debemos declarar antes la variable x.

Jorge Pérez – Programación Estructurada en JAVA 19 / 34


Uso de variables

Considere el siguiente bloque de instrucciones en JAVA

int x;
int y;
int z;

x = 3;
y = 4 + 1;
z = 2 * y;
x = x + z;

I La primera parte es la declaración de las variables x, y, z.


Primero se escribe el tipo y luego el nombre/identificador.
I Las tres variables son de tipo int, que significa que pueden
almacenar un número entero.
I Luego se ejecutan cuatro asignaciones.
I Luego de la primera, x almacenará el valor 3.
I Luego de la segunda, y almacenará el valor 5.
Jorge Pérez
I– Luego de Estructurada
Programación la tercera, z almacenará el valor 10 (dos veces el
en JAVA 20 / 34
Mas sobre tipos de variables

I Enteros:
I int (32 bits): -2,147,483,648 a 2,147,483,647
I short (16 bits): -32,768 a 32,767
I long (64 bits): muy grande
I Reales:
I float: punto flotante.
I double: Mayor precisión.
I Caracteres:
I char: ’a’, ’b’, ’Z’, ’?’, ’7’, . . .
I Booleano:
I boolean: true o false (verdadero o falso).

Jorge Pérez – Programación Estructurada en JAVA 21 / 34


Mas sobre declaración de variables
I Ejemplos de declaraciones de variables:
int numero;
char inicial;

I Ejemplos de declaraciones de variables asociadas a un dato:


int numero = 10;
char inicial = ’G’;

Aquı́ la variable se declara y automáticamente se le entrega un


valor
I Crea las variables enteras num alumnos y num salas
simultaneamente.
int num alumnos, num salas;

I Crea las mismas variables y asigna valores


int num alumnos = 55, num salas = 20;

Jorge Pérez – Programación Estructurada en JAVA 22 / 34


Mostrando el valor de una variable

Podemos mostrar el valor de una variable usando las mismas


instrucciones que para el texto
int x = 14;
System.out.println(x);

muestra 14
¿Cómo podemos combinar valores de variables y texto? Si por
ejemplo queremos que en la pantalla aparezca
El valor de x es 14 en este momento.

Una posibilidad es usar varios print, por ejemplo:


int x = 14;
System.out.print(" El valor de x es ");
System.out.print(x);
System.out.println(" en este momento.");

Jorge Pérez – Programación Estructurada en JAVA 23 / 34


Mostrando el valor de una variable

Puede resultar un poco engorroso usar muchas instrucciones


cuando sólo queremos mostrar un mensaje en una lı́nea.
JAVA nos permite usar el sı́mbolo + para combinar mensajes y
valores de variables en una sola instrucción.
int x = 14;
System.out.println(" El valor de x es " + x + " en este momento.");

El sı́mbolo + sirve para concatenar secuencias de caracteres y


valores de variables.

Jorge Pérez – Programación Estructurada en JAVA 24 / 34


Ejemplo

{
int numero = 9;
int cuadrado;

System.out.println(" El valor del numero es " + numero + ".");

cuadrado = numero * numero;

System.out.println(" Su cuadrado es " + cuadrado + ".");


}

Luego de la ejecución se obtiene en pantalla


El valor del numero es 9.
Su cuadrado es 81.

Jorge Pérez – Programación Estructurada en JAVA 25 / 34


Otro ejemplo

{
int edad, peso;
double estatura;

edad = 27;
peso = 78;
estatura = 1.83;

System.out.println(" Datos personales: ");


System.out.println(" Edad: " + edad + " agnos.");
System.out.println(" Peso: " + peso + " kg.");
System.out.println(" Estatura: " + estatura + " mts.");

Jorge Pérez – Programación Estructurada en JAVA 26 / 34


Más sobre identificadores

I Se pueden construir usando


I Letras mayúsculas y minúsculas, dı́gitos (0, 1, . . . , 9),
subrayado ( ), peso ($).
I Importante: el primer caracter NO puede ser un dı́gito.
I Importante: JAVA distingue mayúsculas de minúsculas.
I No es lo mismo MiVariable que mivariable.
I Importante: JAVA tiene palabras reservadas que no se pueden
usar como identificador.
I Por ejemplo, no se puede usar int, double, char (otros que
iremos viendo).

Jorge Pérez – Programación Estructurada en JAVA 27 / 34


Más sobre expresiones

I Dijimos que a una variable puedo asignarle el resultado de una


expresion.
I Una expresión puede estar compuesta por valores constantes,
variables y los operadores:
I + Suma
I - Resta
I * Multiplicación
I / División
I También se pueden usar + y - para asignar signos positivo o
negativo a ciertos valores.
I Paréntesis sirven para agrupar y forzar presedencia
I La siguiente es una expresión válida

- 32 * x + ( 7.58 / y ) * ( 34 - z )
I Como es usual ciertos operadores tienen prioridad sobre otros.
Jorge Pérez – Programación Estructurada en JAVA 28 / 34
Cuidado con las expresiones

I JAVA realiza las operaciones según los tipos de datos de los


operandos con ciertas suposiciones:
I Si un número no tiene punto decimal, JAVA supone que es
entero.
I Operaciones entre enteros tienen como resultado un entero:

7 / 2
tiene como resultado 3, división entera.
I Si se realiza una operación entre reales (con punto decimal) y
enteros JAVA calcula el resultado como si todos fueran valores
reales
7 / 2.0
tiene como resultado 3.5.

Jorge Pérez – Programación Estructurada en JAVA 29 / 34


Más cuidado con las expresiones

I Para expresiones más largas JAVA realiza las conversiones


paso a paso:

3/2 + 4.0*(5 - 4.3)


????
I De todas maneras podemos convertir el resultado de una
expresión forzando el tipo de datos, anteponiendo el tipo que
queremos entre paréntesis:

(int) (3.0/2.0)
fuerza el resultado a ser un entero, en este caso el resultado es
1.
I A esto se le llama cast y se puede usar (int), (double),
(char), ...

Jorge Pérez – Programación Estructurada en JAVA 30 / 34


Más cuidado con las expresiones

I Importante: El cast tiene mayor precedencia que cualquier


operador:

(int) 3.0/2.0
resulta en 1.5.
I El cast también se puede usar al momento de asignar valores
a variables para evitar errores:

int MiVariableEntera;
MiVariableEntera = 3.0/2.0;
resulta en un error (problema de precisión).
I Lo siguinete funciona sin problemas

int MiVariableEntera;
MiVariableEntera = (int) (3.0/2.0);

Jorge Pérez – Programación Estructurada en JAVA 31 / 34


El operador %

I Módulo m %n
I Es el resto de la división de m divido por n.
I Útil para cuando queremos saber si un número es divisible por
otro, pues el resto es cero.
I Tiene la misma precedencia que *, /
I Si m o n son negativos entonces se calcula tomando los valores
enteros y se conserva el signo de m.
I Ejemplos:
I 7 %3 → 1
I 4 %2 → 0
I -13 %7 → -6
I 13 %-7 → 6

Jorge Pérez – Programación Estructurada en JAVA 32 / 34


Documentación de código

I Es ideal que la idea de lo que hace un programa quede lo más


claro posible para la persona que lo lee como texto.
I Una buena práctica es usar nombres de variables
auto–explicativos (en la medida de lo posible)
I Adicionalmente se puede documentar el código usando
comentarios
I Los comentarios son parte del código que no tiene un
significado para el computador, el computador no lo ejecuta.
I En JAVA los comentarios pueden escribirse de dos formas:
I Usando // al inicio de una lı́nea, todo lo que sigue a //
será ignorado por el computador
I Se pueden usar comentarios de varias lı́neas, el comentario se
inicia con /* y se termina con */.

Jorge Pérez – Programación Estructurada en JAVA 33 / 34


Comentarios en el código

{
int numero = 9; // almacena un valor inicial
int cuadrado; // para almacenar el cuadrado

System.out.println(" El valor del numero es " + numero + ".");

cuadrado = numero * numero;

/* Ahora la variable almacena


el cuadrado del numero inicial */

System.out.println(" Su cuadrado es " + cuadrado + ".");


}

Luego de la ejecución se obtiene en pantalla


El valor del numero es 9.
Su cuadrado es 81.

Jorge Pérez – Programación Estructurada en JAVA 34 / 34

Anda mungkin juga menyukai