lenguaje de programación java universidad regional del sureste

32
Lenguaje de Lenguaje de programación Java programación Java UNIVERSIDAD REGIONAL UNIVERSIDAD REGIONAL DEL SURESTE DEL SURESTE

Upload: marcial-ocanas

Post on 23-Jan-2016

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Lenguaje de Lenguaje de programación Javaprogramación Java

UNIVERSIDAD REGIONAL UNIVERSIDAD REGIONAL DEL SURESTEDEL SURESTE

Page 2: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Bienvenidos a JavaBienvenidos a Java

Page 3: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

ElementosElementos

• Objetos vs. clases

• Métodos y miembros

• Tipos primitivos

• Variables e instancias de objetos

• Definición de métodos

• Acceso a miembros y métodos

Page 4: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

HolaMundo.javaHolaMundo.java

public class HolaMundo{

public static void main(String[] args){

System.out.println(“Hola Oaxaca”);

}

}

Acceso Nombre de clase Método main Objeto System

Page 5: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Objetos vs ClasesObjetos vs Clases

• Clase es la definición a partir de la cual se pueden crear objetos.

• Las clases consisten en la declaración de los miembros y los métodos.

• Un miembro es una variable que guarda información del estado de un objeto.

• Un método es una forma de interactuar con el objeto.

Page 6: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Estructura general de una claseEstructura general de una clase

acceso class NombreClase{

acceso tipo miembro;

acceso modificador tipo_retorno nombreMetodo(parametros){

cuerpo del método

}

}

Page 7: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Miembros de una claseMiembros de una clase

• Los miembros de una clase pueden ser tipos primitivos o instancias de otros objetos.

• Los tipos primitivos son los tipos de datos básicos como texto, enteros y números de punto flotante.

• Se definen de la misma forma que la declaración de una variable.

Page 8: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Declaración de variablesDeclaración de variables

• Tipo identificador [= valor inicial];

Ejem.: int a = 5; float x; String linea = new String(“Hola\n”);

• Las variables de tipo objeto son solo referencias y no se reserva memoria hasta que el objeto se instancia con new.

• Se recomienda dar valores iniciales a todas las variables.

Page 9: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Tipos primitivosTipos primitivosPalabra Descripción Tam/Formato

Enteros

byte entero de un byte 8-bit complemento a 2

short Entero corto 16-bit complemento a 2

int Entero 32-bit complemento a 2

long Entero largo 64-bit complemento a 2

Ejemplos:

int a = 5;

long x1 = 18000000000L;

byte asciiCode = 64;

Page 10: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Tipos primitivos (cont.)Tipos primitivos (cont.)

Ejemplos:

float pi = 3.14159F;

char respuesta = ‘s’;

boolean ordenado = false;

double velocidadMaxima = 1.544e6;

Numeros de punto flotante

float Precisión simple 32-bit IEEE 754

double Doble precisión 64-bit IEEE 754

Otros tipos

char Un caracter 16-bit Carácter Unicode

boolean Valor lógico (true or false) true or false

Page 11: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Identificadores de variablesIdentificadores de variables

• Los identificadores no pueden iniciar con numero.

• No pueden contener espacios.• No pueden corresponder a palabras

reservadas.• Por convención inician con minúsculas.• Si se componen de dos o mas palabras, a

partir de la segunda inician con mayúscula.

Page 12: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Ejemplo con variablesEjemplo con variables

public class Ejemplo1{ public static void main(String[] args){ int a, b, c; a = 3; b = 5; c = a + b; System.out.println(“La suma de “ + a + “ y “ +

b + “ es “ + c); }}

Page 13: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Definición de métodosDefinición de métodos

• Acceso modificador tipo_retorno nombreMetodo(parametros){ Cuerpo }

• Acceso restringe a los usuarios del método (public, protected, private).

• Modificador da características especiales al método (static, abstract).

• tipo_retorno es el tipo de valor regresado por el método (puede ser de tipo simple o un objeto o sin valor en cuyo caso se usa void).

Page 14: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Definición de métodos (cont.)Definición de métodos (cont.)

• nombreMetodo es un identificador del método y sigue las mismas reglas que los identificadores de variables.

• Parámetros son variables para pasar datos al método, cada una debe definir su tipo. Si no hay parámetros se usan paréntesis vacíos.

• En el cuerpo se definen las operaciones del método, puede contener variables locales y hacer uso de los miembros de la clase.

Page 15: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

ConstructoresConstructores

• Son un tipo especial de métodos cuyo nombre es exactamente el mismo que el nombre de la clase.

• Su objetivo es inicializar los valores de los miembros de la clase, para que tengan un estado consistente al instanciar objetos de dicha clase.

• Pueden estar sobrecargados.• No tienen tipo de retorno, no se permite void.

Page 16: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Manipuladores de los miembrosManipuladores de los miembros

• Existen métodos cuyo objetivo es manipular los miembros de la clase de una manera segura y controlada.

• Se clasifican en métodos para recuperar el valor de un miembro y métodos para alterar dicho valor.

• Tienen la ventaja de poder validar los datos y en su caso rechazarlos indicando el error en los mismos.

Page 17: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Ejemplo de métodosEjemplo de métodospublic class Punto{ int x; int y; public Punto(int a,int b){ x = a; y = b; } public void setX(int a){ x = a;} public void setY(int a){ y = a;} public int getX(){ return x;} public int getY(){ return y;}}

Page 18: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Clase que usa a PuntoClase que usa a Punto

public class Rectangulo{ Punto origen;//esquina inf. Izquierda int altura; int ancho; public Rectangulo(){ origen = new Punto(0,0); altura =

ancho = 0;} public Rectangulo(Punto or, int h, int w){ origen = or; altura = h; ancho = w;} public void mover(Punto nuevo){ origen = nuevo;} public int area(){ return altura*ancho;}}

Page 19: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Acceso a los miembrosAcceso a los miembros

public class Prueba1{ public static void main(String[] args){ Punto lugar1 = new Punto( 0, 0); lugar1.setX(45); lugar1.setY(30); System.out.println(“El punto esta en (“ +

lugar1.getX() +”,”+lugar1.getY()+”)”); }}

Page 20: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Acceso a los miembros (cont.)Acceso a los miembros (cont.)

• public class Prueba2{• public static void main(String[] args){• Punto posicion1 = new Punto(15,15);• Rectangulo figura = new Rectangulo();• figura.mover(posicion1);• System.out.println("El area de la figura es "

+ figura.area());• }• }

Page 21: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Operadores aritméticosOperadores aritméticosOperador Uso Descripción

+op1 + op2 Suma op1 con op2; también concatena cadenas

- op1 - op2 resta op2 de op1

*op1 * op2 Multiplica op1 por op2

/ op1 / op2 Divide op1 entre op2

%op1 % op2 Calcula el residuo de la división de op1 entre op2

++ op++ Incrementa op por 1; evalúa antes de incrementar

++ ++opIncrementa op por 1; evalúa después de incrementar

-- op-- Decrementa op por 1; evalua antes del decremento

-- --opDecrementa op por 1; evalua después del decremento

Page 22: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Operadores relacionalesOperadores relacionales

Operador Uso Descripción

>op1 > op2 Devuelve verdadero si op1 es mayor que op2

>=op1 >= op2 Devuelve verdadero si op1 es mayor o igual que op2

<op1 < op2 Devuelve verdadero si op1 es menor que op2

<=op1 <= op2 Devuelve verdadero si op1 es menor o igual que op2

==op1 == op2 Devuelve verdadero si op1 y op2 son iguales

!=op1 != op2 Devuelve verdadero si op1 y op2 son diferentes

Page 23: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Operadores lógicosOperadores lógicos

Operador Uso Descripción

&&op1 && op2 Operador lógico y, verdadero si ambos verdaderos

|| op1 || op2 Operador lógico o, verdadero si alguno verdadero

! !op Negación, verdadero si op es falso

& op1 & op2Operador lógico y, funciona a nivel de bit o si los operadores son de tipo boolean

| op1 | op2Operador lógico o, funciona a nivel de bit o si los operadores son de tipo boolean

^ op1 ^ op2Operador lógico o exclusivo, funciona a nivel de bit o si los operadores son de tipo boolean

Page 24: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Ciclo whileCiclo while

while(Expresión lógica){

cuerpo del ciclo

}

• Una expresión lógica es aquella que evalúa a falso o verdadero

• Se construye con operadores relacionales y lógicos

• (numero > 100 && numero < 1000)

Page 25: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Ciclo do-whileCiclo do-while

do{

cuerpo del ciclo

}while(expresión lógica);

• A diferencia del ciclo while este se ejecuta al menos una vez

• En el cuerpo del ciclo pueden ir cualquier tipo de sentencias incluyendo otros ciclos

Page 26: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Ciclo forCiclo for

for(inicialización; terminación; incremento){

cuerpo del ciclo

}

• Para situaciones de ciclos controlados por contador

• Java incluye mejoras para cuando se usa con ciertos tipos de datos como arreglos y enumeraciones

Page 27: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Selector if, if-elseSelector if, if-else

if(expresión lógica){ cuerpo de la selección}if(expresión lógica){ sentencias ejecutadas si evalúa verdadero}else{ sentencias ejecutadas si evalúa falso}

Page 28: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Selector multiple switch-caseSelector multiple switch-case

switch(expresion entera o tipo enumerado){ case valor1: sentencias; break; case valorN: sentencias; break; default: sentencias; break;}

Page 29: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Instrucciones de saltoInstrucciones de salto

• break rompe un ciclo o se sale de un bloque de sentencias limitado entre { y }

• continue salta al inicio del ciclo while o do-while; o bien al incremento en un ciclo for

• return provoca que un método regrese al área de código que lo invoco, puede o no devolver un valor

Page 30: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

EjerciciosEjercicios

• Básicos– Calcular el promedio de datos en un arreglo– Ordenar arreglo por burbuja mejorado– Hacer una búsqueda lineal– Hacer una búsqueda binaria

Page 31: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Ejercicios (cont.)Ejercicios (cont.)

• Medios/avanzados– Juego de ahorcados que cargue lista de

palabras de archivo y use Math.random()– Juego de dados con gráficos que use

Math.random()– Juego de gato con gráficos y que capture

eventos del ratón

Page 32: Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE

Soporte para javaSoporte para java

• http://java.sun.com/j2se/1.5.0/docs/api/overview-summary.html

• Thinking in Java, Bruce Eckel

• http://java.sun.com/docs/books/tutorial/index.html