Sie sind auf Seite 1von 32

Lenguaje de

programación Java
UNIVERSIDAD REGIONAL
DEL SURESTE
Bienvenidos a Java
Elementos
• 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
HolaMundo.java
public class HolaMundo{
public static void main(String[] args){
System.out.println(“Hola Oaxaca”);
}
}

Acceso Nombre de clase Método main Objeto System


Objetos 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.
Estructura general de una clase
acceso class NombreClase{
acceso tipo miembro;
acceso modificador tipo_retorno
nombreMetodo(parametros){
cuerpo del método
}
}
Miembros 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.
Declaració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.
Tipos primitivos
Palabra 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;
Tipos primitivos (cont.)
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

Ejemplos:
float pi = 3.14159F;
char respuesta = ‘s’;
boolean ordenado = false;
double velocidadMaxima = 1.544e6;
Identificadores 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.
Ejemplo 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);
}
}
Definició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).
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.
Constructores
• 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.
Manipuladores 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.
Ejemplo de métodos
public 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;}
}
Clase 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;}
}
Acceso 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()+”)”);
}
}
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());
• }
• }
Operadores aritméticos
Operador 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
Incrementa op por 1; evalúa después de
++ ++op incrementar
-- op-- Decrementa op por 1; evalua antes del decremento
Decrementa op por 1; evalua después del
-- --op decremento
Operadores 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
Operadores 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
Operador lógico y, funciona a nivel de bit o si los
& op1 & op2 operadores son de tipo boolean
Operador lógico o, funciona a nivel de bit o si los
| op1 | op2 operadores son de tipo boolean
Operador lógico o exclusivo, funciona a nivel de bit o
^ op1 ^ op2 si los operadores son de tipo boolean
Ciclo 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)
Ciclo 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
Ciclo 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
Selector 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
}
Selector multiple switch-case
switch(expresion entera o tipo enumerado){
case valor1: sentencias;
break;
case valorN: sentencias;
break;
default: sentencias;
break;
}
Instrucciones 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
Ejercicios
• 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
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
Soporte para java
• http://java.sun.com/j2se/1.5.0/docs/api/ove
rview-summary.html
• Thinking in Java, Bruce Eckel
• http://java.sun.com/docs/books/tutorial/ind
ex.html

Das könnte Ihnen auch gefallen