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

Transcript of Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE.

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