tema 1.3 iniciando con java 2015

68
Ing. Marco Aedo López EPIS UNSA 2015 [email protected] Fundamentos de Programación 1

Upload: daniel-evanz

Post on 20-Dec-2015

8 views

Category:

Documents


1 download

DESCRIPTION

asfdsfdsfsd

TRANSCRIPT

Page 1: Tema 1.3 Iniciando Con Java 2015

Ing. Marco Aedo López

EPIS UNSA – 2015 [email protected]

Fundamentos de

Programación 1

Page 2: Tema 1.3 Iniciando Con Java 2015

Iniciando con Java:

Componentes de un Programa

Capítulo 1

EPIS UNSA – 2015 [email protected]

Page 3: Tema 1.3 Iniciando Con Java 2015

Objetivos

Representar la lógica del programa como

programas codificados en Java

Describir la entrada/salida estándar

Conocer un esquema guía de todo

programa en Java

Solucionar problemas

Page 4: Tema 1.3 Iniciando Con Java 2015

Contenido

Definición de Programa

Declaración y uso de variables

Tipos de Dato

Expresiones

Asignaciones

Entrada/Salida Estándar

Primer programa en Java

Componentes de un programa

Page 5: Tema 1.3 Iniciando Con Java 2015

PASOS PARA LA CREACIÓN DE

UN PROGRAMA

1º ENTENDER EL PROBLEMA

2º PLANTEAR LA LÓGICA

3º CODIFICAR EL PROGRAMA

4º TRADUCIR EL PROGRAMA A

LENGUAJE MÁQUINA

5º PROBAR EL PROGRAMA

6º DESPLEGAR EL PROGRAMA

3º CODIFICAR EL PROGRAMA

Page 6: Tema 1.3 Iniciando Con Java 2015

1. Definición de Programa

Un programa es una secuencia de

sentencias

Una sentencia representa una instrucción

bien definida que es ejecutada por el

computador

En Java, cada línea del código

(generalmente) representa una sentencia

Generalmente acaba en ;

Page 7: Tema 1.3 Iniciando Con Java 2015

1. Definición de Programa

Las sentencias simples son ejecutadas

secuencialmente, una después de la otra

Todas las sentencias siguen ciertas

reglas acerca de cómo deben ser

escritas. Si no son seguidas dichas reglas,

el programa está incorrecto y no se

ejecutará

A este conjunto de reglas se le denomina

SINTAXIS

Page 8: Tema 1.3 Iniciando Con Java 2015

Ejercicio:

Crear un programa que me muestre el mensaje en

pantalla: "Bienvenidos a FP1"

Page 9: Tema 1.3 Iniciando Con Java 2015

BIENVENIDO

escribir “Bienvenidos a FP1”

INICIO

"Bienvenidos a

FP1"

FIN

Page 10: Tema 1.3 Iniciando Con Java 2015

Código en Java:

Page 11: Tema 1.3 Iniciando Con Java 2015

Ejercicio:

Crear un programa que me muestre la suma de

dos números enteros

Page 12: Tema 1.3 Iniciando Con Java 2015

ADICIÓN

num1,num2,suma: ENTEROS

leer num1, num2

suma=num1+num2

escribir suma

INICIO

num1,num2

suma=num1+num2

suma

FIN

Page 13: Tema 1.3 Iniciando Con Java 2015

Código en Java:

Page 14: Tema 1.3 Iniciando Con Java 2015

2. Valores

Un valor es una porción de data

5 15 -13 “Jose Diaz” 18.99

Page 15: Tema 1.3 Iniciando Con Java 2015

2. Valores y Tipos de Datos Todo valor pertenece a algún tipo de dato

Enteros 5, 15, -13 int

Reales 18.99 3.1415 double

Carácter ‘a’ char

Booleano true boolean

Cadena ”avatar” String

Page 16: Tema 1.3 Iniciando Con Java 2015

2. Declaración y uso de variables

Variable: Localización de almacenamiento

en memoria. Tiene un nombre, un tipo y un

valor cambiable

SINTAXIS: <tipoDato> <lista variables separada x comas>;

Ejemplos:

int num;

int fila, columna;

double peso;

String nombre;

int num1, num2, num3;

Page 17: Tema 1.3 Iniciando Con Java 2015

2. Declaración y uso de variables El nombre de una variable puede consistir de

letras, dígitos, signo dólar ($) y guión bajo (_)

El primer caracter no debe ser un dígito

Java es case-sensitive (a es diferente de A)

Son las reglas que cualquier identificador en

Java debe cumplir para:

Nombre de clase

Nombre de método

Nombre de variable

Page 18: Tema 1.3 Iniciando Con Java 2015

3. Definición de Tipo de Dato

Un tipo de dato es una colección de

valores

Contiene operaciones y funciones para

operar sobre sus valores

Page 19: Tema 1.3 Iniciando Con Java 2015

Tipo Entero: int

Valores

5 34 -3 234

Operadores Aritméticos

+ * - / %

Operadores de Igualdad

== !=

Operadores Relacionales

> >= <= <

Page 20: Tema 1.3 Iniciando Con Java 2015

Tipo Real: double Valores

3.4 5.678 - 12.30003

Operadores Aritméticos

+ * - / %

Operadores de Igualdad

== !=

Operadores Relacionales

> >= <= <

Page 21: Tema 1.3 Iniciando Con Java 2015

4. Expresión

Es la combinación de valores y

operadores sobre dichos valores

Page 22: Tema 1.3 Iniciando Con Java 2015

Evaluación de Expresiones

La evaluación de una expresión nos

retorna un valor

Ejemplo: 2 + 3

Page 23: Tema 1.3 Iniciando Con Java 2015

4. Expresión

Una expresión es una combinación de

valores y operaciones que son evaluados

durante la ejecución del algoritmo para

obtener un resultado

2 + 3 es una expresión aritmética que, al

ser evaluada, siempre entrega el valor 5

como resultado

En esta expresión, 2 y 3 son valores

literales y + es el operador de adición

Page 24: Tema 1.3 Iniciando Con Java 2015

Otras expresiones

Page 25: Tema 1.3 Iniciando Con Java 2015

5. Asignaciones Las variables nos permiten guardar valores

Una asignación es una sentencia que asocia

un nombre al resultado de una expresión. El

nombre asociado al valor se llama variable

La sintaxis de una asignación es la siguiente:

variable = expresión;

Page 26: Tema 1.3 Iniciando Con Java 2015

Asignaciones No Validas

variable = expresión;

Page 27: Tema 1.3 Iniciando Con Java 2015

5. Asignaciones

Inicializando:

int num=5;

int fila=2, columna=3;

double peso=3.1416;

String nombre="juancito";

Page 28: Tema 1.3 Iniciando Con Java 2015

5. Asignaciones

Verificar las Asignaciones:

int x;

x=5/2; x=2 división entera

double x;

x=5/2; x=2.0 división entera

double x;

x=5/2.0; x=2.5 división real

double x;

x=(double) 5/2; x=2.5 división real

Page 29: Tema 1.3 Iniciando Con Java 2015

Viendo el contenido de una

Variable

Código

Consola

Page 30: Tema 1.3 Iniciando Con Java 2015

Asignando Expresiones a una

Variable

+

?

Page 31: Tema 1.3 Iniciando Con Java 2015

Variables como valores

+

Page 32: Tema 1.3 Iniciando Con Java 2015

Variables y Expresiones

En el programa aparece la expresión:

num1 + num2

Cuyo resultado depende de cuál es el valor

de las variables num1, num2 al momento de

la evaluación

A diferencia de los valores literales, num1,

num2 son variables que tienen un valor

específico que puede ser distinto cada vez

que la expresión es evaluada

Page 33: Tema 1.3 Iniciando Con Java 2015

Sobreescribiendo Variables

Cuando se sobreescribe una variable el

valor previo se pierde

Page 34: Tema 1.3 Iniciando Con Java 2015

Precedencia y asociatividad de

los operadores vistos

Page 35: Tema 1.3 Iniciando Con Java 2015

6. Entrada y Salida Estándar

SUMANUMEROS

num1,num2,suma: ENTEROS

leer num1,num2

suma=num1+num2

escribir suma

INICIO

num1, num2

suma=num1+num2

suma

FIN

Page 36: Tema 1.3 Iniciando Con Java 2015

Salida Estándar (Output o Escribir)

Utilizando System.out, podemos mostrar

múltiples líneas de texto en la ventana de

salida standard

Page 37: Tema 1.3 Iniciando Con Java 2015

Salida Estándar (Output o Escribir) Ventana simple para salida estandard para

mostrar multiples líneas de texto

Page 38: Tema 1.3 Iniciando Con Java 2015

El Método print

Utilizamos el método print para imprimir un valor en la ventana de salida standard

El método print continuará imprimiendo desde el final del mensaje actualmente mostrado

Ejemplo:

System.out.print( “Hello, Dr. Caffeine.” );

Page 39: Tema 1.3 Iniciando Con Java 2015

El método println Utilizamos println en lugar de print para saltar una

línea.

int x = 123, y = x + x;

System.out.println( "Hello, Dr. Caffeine.");

System.out.print( " x = " );

System.out.println( x );

System.out.print( " x + x = " );

System.out.println( y );

System.out.println( " THE END" );

Page 40: Tema 1.3 Iniciando Con Java 2015

El método println

Incluso podemos operar en print() y println()

Imprime el resultado de la expresión

El operador + cuando un operando es una cadena, lo que hace es concatenar!!!

int x = 123, y = 235;

System.out.println(x+y);

System.out.println("x+y = "+x+y);

System.out.println("x+y = "+(x+y));

Page 41: Tema 1.3 Iniciando Con Java 2015

Entrada Estandar (Input o Leer)

La técnica de utilizar System.in para el

ingreso de datos es llamada standard input

Solo podemos ingresar caracteres utilizando

System.in directamente

Para ingresar datos primitivos, utilizamos la

clase Scanner (desde Java 5.0).

Scanner scan;

scan = new Scanner(System.in);

int num = scan.nextInt();

Scanner scan = new Scanner(System.in);

int num = scan.nextInt();

Page 42: Tema 1.3 Iniciando Con Java 2015

Métodos Scanner Comunes

Method Example

nextByte( ) byte b = scan.nextByte( );

nextDouble( ) double d = scan.nextDouble( );

nextFloat( ) float f = scan.nextFloat( );

nextInt( ) int i = scan.nextInt( );

nextLong( ) long l = scan.nextLong( );

nextShort( ) short s = scan.nextShort( );

next() String str = scan.next();

nextLine() String str = scan.nextLine();

Vea especificaciones API para mayor detalle.

Page 43: Tema 1.3 Iniciando Con Java 2015

Ejercicio:

Programa que sume 2 números reales.

Considerar la interacción con el usuario

Page 44: Tema 1.3 Iniciando Con Java 2015
Page 45: Tema 1.3 Iniciando Con Java 2015

7. El Primer programa en Java

El concepto fundamental de la POO ilustrado por el programa:

Un programa object-oriented utiliza clases y objetos

Este programa muestra un mensaje que

solicita su nombre y presenta un saludo de

bienvenida

Page 46: Tema 1.3 Iniciando Con Java 2015

Bienvenido.java // Autor: Eveling Castro

// Propósito: Pregunte por el nombre del usuario y muestre un

mensaje de bienvenida.

import java.util.*;

public class Bienvenido

{

public static void main(String[] args)

{

Scanner scan = new Scanner(System.in);

System.out.print("Cual es su nombre? ");

String nombre = scan.next();

System.out.println("Hola " + nombre + ".");

System.out.println("Bienvenido a FP1!\n");

}

}

Page 47: Tema 1.3 Iniciando Con Java 2015

Programas en el libro

Todos los programas en el libro pueden ser

descargados del website del autor Thomas

Wu.

Page 48: Tema 1.3 Iniciando Con Java 2015

Convención Estándar para

Nombres Letras mayúsculas para la primera letra de los nombres

de clases y palabras subsecuentes

Ejemplo: String, JFrame, SimpleDateFormat, Cliente

Letras minúsculas para la primera letra del nombre de

las variables. Letras mayúsculas para la primera letra de

palabras subsecuentes

Ejemplo: nombreAlumno, miVentana, cliente

Referir a Tabla 2.2 en la página 74.

Referirse al documento “Estilo de Programación, Diseño

y Guia de Evaluacion”

Page 49: Tema 1.3 Iniciando Con Java 2015

8. Componentes de un Programa

Un programa Java esta compuesto de

comentarios,

sentencias import, y

declaraciones de clases

Page 50: Tema 1.3 Iniciando Con Java 2015

Componentes de Programa : Comentario

/*

Ejemplo: Primer Programa en Java

Autor: Eveling Castro

*/

import java.util.*;

public class Programa1

{

public static void main(String[ ] args)

{

Scanner scan = new Scanner(System.in);

System.out.print("Cual es su nombre? ");

String nombre = scan.next();

System.out.println("Hola " + nombre + ".");

System.out.println("Bienvenido a FP1!\n");

}

}

Comentario

Page 51: Tema 1.3 Iniciando Con Java 2015

Tres tipos de Comentarios

/*

Este es un 1 comentario

con tres lineas

de texto.

*/

Comentario Multilinea

Comentario linea

simple

// Este es un comentario

// Este es otro comentario

// Este es un tercer comentario

/**

* Esta clase provee funciones basicas de reloj Ademas

* de mostrar la fecha y hora actual,puede utilizar esta

* clase como cronometro.

*/ Comentarios javadoc

Page 52: Tema 1.3 Iniciando Con Java 2015

Emparejando Simbolos de

Comentario /* Este es un comentario en una linea */

/*

Comentario numero 1

*/

/*

Commentario numero 2

*/

/*

/*

/*

Este es un comentario

*/

*/

Error: No hay un

simbolo de inicio

Esto es parte del

comentario.

Page 53: Tema 1.3 Iniciando Con Java 2015

Sentencia Import (1/3) /*

Ejemplo: Primer Programa en Java

Autor: Elizabeth Vidal

*/

import java.util.*;

public class Programa1

{

public static void main(String[ ] args)

{

Scanner scan = new Scanner(System.in);

System.out.print(“Cual es su nombre? ");

String nombre= scan.next();

System.out.println("Hola " + nombre + ".");

System.out.println(“Bienvenido a FP1!\n"); }

}

Sentencia

Import

Page 54: Tema 1.3 Iniciando Con Java 2015

Sentencia Import(2/3)

Java contiene un conjunto de librerias, llamadas

Java Programming Interface (API).

Las clases de Java API estan agrupadas en

paquetes (packages.)

Un paquete es un elemento de Java para

agrupar clases relacionadas bajo un nombre

común

Page 55: Tema 1.3 Iniciando Con Java 2015

Algunos paquetes:

java.applet: utilizado para desarrollar applets

java.awt: utilizado para graficos

java.io: para operaciones de input y output

java.util: contiene una serie de clases de proposito

general

java.lang: contiene diferentes clases que soportan

temas primarios del lenguaje tales como métodos

matemáticos

Page 56: Tema 1.3 Iniciando Con Java 2015

Sentencia Import(3/3)

import identifica los paquetes y clases que son utilizados

en el programa.

import package.class

o

import package.*

Ejemplo: import java.util.*;

el cual incluye

import java.util.ArrayList;

import java.util.Date; import java.util.Scanner;

y otras clases en el paquete.

Page 57: Tema 1.3 Iniciando Con Java 2015

Import : Sintaxis y Semantica

<nombrePaquete> . <nombreClase> ;

e.j. dorm. Resident;

Mas Ejemplos

import javax.swing.JFrame;

import java.util.*;

import com.drcaffeine.simplegui.*;

Nombre de Clase

El nombre de la clase que

queremos importar. Use

asterisco para importar todas

las clases.

Nombre Paquete

Nombre del

paquete que contiene las

clases que queremos usar.

Page 58: Tema 1.3 Iniciando Con Java 2015

Declaración de Clase /*

Ejemplo: Primer Programa en Java

Autor: Eveling Castro

*/

import java.util.*;

public class Programa1

{

public static void main(String[ ] args)

{

Scanner scan = new Scanner(System.in);

System.out.print(“Cual es su nombre? ");

String nombre = scan.next();

System.out.println("Hola " + nombre + ".");

System.out.println(“Bienvenido a FP1!\n");

}

}

Declaración

de Clase

Page 59: Tema 1.3 Iniciando Con Java 2015

Declaración de Método /*

Ejemplo: Primer Programa en Java

Autor: Eveling Castro

*/

import java.util.*;

public class Programa1

{

public static void main(String[ ] args)

{

Scanner scan = new Scanner(System.in);

System.out.print(“Cual es su nombre? ");

String nombre = scan.next();

System.out.println("Hola " + nombre + ".");

System.out.println(“Bienvenido a FP1!\n");

}

}

Declaración

de Método

Page 60: Tema 1.3 Iniciando Con Java 2015

Elementos Declaración de Método

public static void main( String[ ] args )

{

Scanner scan = new Scanner(System.in);

System.out.print(“Cual es su nombre? ");

String nombre = scan.next();

System.out.println("Hola " + nombre + ".");

System.out.println(“Bienvenido a FP1!\n");

}

Cuerpo del

Método

Modificador Modificador Tipo Retorno Nombre Método Parámetro

Page 61: Tema 1.3 Iniciando Con Java 2015

Método main

public static void main( String[ ] args )

Modificador Modificador Tipo Retorno Nombre Método Parámetro

Estudiaremos los modificadores, tipo de retorno y los parámetros más adelante

Page 62: Tema 1.3 Iniciando Con Java 2015

Plantilla para Programas Java simples /*

Chapter 2 Sample Program: Displaying a Window

File: Ch2Sample2.java

*/

import javax.swing.*;

public class Ch2Sample1

{

public static void main(String[ ] args)

{

JFrame myWindow;

myWindow = new JFrame( );

myWindow.setSize(300, 200);

myWindow.setTitle(“My First Java Program”);

}

}

Sentencias

Import

Nombre de

Clase

Comentarios

Cuerpo

Método

Page 63: Tema 1.3 Iniciando Con Java 2015

Ejercicio: mostrar el doble del producto de

2 enteros siguiendo la plantilla

Page 64: Tema 1.3 Iniciando Con Java 2015

1.64

EJERCICIOS Elaborar los programas en Java

1. Programa que me muestre el producto de la suma por la

diferencia de 2 números enteros

2. Programa que me muestre el área de un triángulo

3. Conversor de unidades (pulgadas a cms)

(2,54 cms x pulgada)

4. Programa que muestre el promedio de 5 notas

5. Suponga que un individuo desea invertir su capital en un

banco y desea saber cuanto dinero ganará de interés y

cuánto tendrá en total después de un mes si el banco

paga a razón de 2% mensual

6. Un vendedor recibe un sueldo base mas un 10% extra

por comisión de sus ventas, él desea saber cuanto

dinero obtendrá por concepto de comisiones por las tres

ventas que ha realizado este mes y el total que recibirá

en el mes tomando en cuenta sueldo base y comisiones

Page 65: Tema 1.3 Iniciando Con Java 2015

1.65

EJERCICIOS

Elaborar los programas en Java

7. Programa que me muestre un número

redondeado a 2 decimales

8. Programa que me muestre un número de 3

dígitos alrevez

Page 66: Tema 1.3 Iniciando Con Java 2015

Ejercicios 1. El Índice de Masa Corporal (IMC),

determina, a partir de la estatura y el peso,

el peso más saludable que puede tener

una persona

2. Un alumno desea saber cual será su calificación final en la

materia de Metodología de la Programación. Dicha

calificación se compone de los siguientes porcentajes:

50% del examen final en máquina

35% de la carpeta de trabajo

15% del promedio de tres trabajos o informes

3. Un analista desea saber que porcentaje de hombres y que

porcentaje de mujeres hay en un grupo de estudiantes.

4. Dada una cantidad en soles, obtener la equivalencia en

dólares, asumiendo que el precio de cambio es un dato

desconocido

Page 67: Tema 1.3 Iniciando Con Java 2015

Ejercicios 5. En un hospital existen tres áreas: Ginecología, Pediatría,

Traumatología. El presupuesto anual del hospital se

reparte conforme a la sig. tabla:

Área Porcentaje del presupuesto

Ginecología 45%

Traumatología 30%

Pediatría 25%

Obtener la cantidad de dinero que recibirá cada área, para

cualquier monto presupuestal

Page 68: Tema 1.3 Iniciando Con Java 2015

Ejercicios 6. Un alumno desea saber cual será su promedio ponderado

y cual será el promedio que obtendrá en cada una de ellas.

Estas materias se evalúan como se muestra a

continuación:

7. Ingresar un entero de 4 dígitos y mostrarme el número

invertido. Sin usar cadenas

8. Programa que me muestre un número redondeado a 3

decimales. Sin usar métodos