10 Apunte Intro Lenguaje Java
10 Apunte Intro Lenguaje Java
Variables
El lenguaje Java define distintos tipos de variables:
● de clase, son los atributos estáticos de una clase, de los
cuales existen una sola copia para todos los objetos de dicha
clase
● de instancia, de las que existen una copia por cada objeto
instanciado
● locales, definidas en el contexto de un método
Arreglos
Son objetos que contienen valores de un único tipo, compuestos
por elementos que son accedidos a través de su índice
Declaración tipo_elemento[] nombre int[] numeros;
Operadores
Permiten manipular variables. Existen operadores de distintos
tipos:
Asignación =
Aritméticos + - * / %
Unarios + - ++ -- !
Condicionales && || ? :
Precedencia
Todos los operadores tienen una precedencia asignada, es decir
que, dada una expresión compleja con varios operadores
involucrados, éstos serán evaluados en un orden determinado.
Los operadores de mayor precedencia se evalúan antes que los
de menor precedencia.
Cuando se tienen operadores de igual precedencia, los
operadores binarios son evaluados de izquierda a derecha,
excepto la asignación, que se evalúa de derecha a izquierda.
Control de flujo
Las declaraciones incluídas en un programa se ejecutan
secuencialmente, de arriba hacia abajo.
Condicionales
Es el más simple de if (condicion) { if (nro > 0) {
todos, donde se // camino por positivo = true;
verdadero
evalúa una condición y }
}
if-then se plantea qué hacer
en caso de que sea
verdadera
Condicionales
Evalúa el valor de una switch (var) { switch (color) {
variable y plantea por case un_valor: case "rojo":
extensión los posibles // var es igual a rgb = "255,0,0";
un_valor
caminos a seguir. break;
break;
La variable puede ser case "verde":
case otro_valor:
de tipo byte, short, // var es igual a
rgb = "0,255,0";
char e int, de algún otro_valor break;
switch
tipo de enum, instancia break; case "azul":
de la clase String e default: rgb = "0,0,255";
instancia de las clases // var es no igual break;
Character, Byte, ninguno default:
Short e Integer. break; rgb = “”;
} break;
}
Programación 3
Introducción al lenguaje Java
Repeticiones
Primero chequea la while (condicion) { while (cont < 10) {
condición, luego // código a ejecutar cont++;
comienza a iterar. La } }
while iteración continúa
hasta que la condición
se evalúe a falso.
Repeticiones
El inicio se ejecuta una for (ini; fin; inc){ for (int i=0;i<10;
única vez. La // código a ejecutar i++){
repetición continúa } acum += i;
hasta que fin evalúe a }
falso. Si es verdadero,
for
se ejecuta el código for ( ; ; ){
dentro del ciclo y se // ciclo infinito
calcula el incremento. }
Las tres partes son
opcionales.
Se recomienda para for (tipo el: conj){ for (int n: nros){
iterar sobre conjuntos // código a ejecutar acum += n;
de elementos, cuando } }
éstos no necesitan ser
foreach
modificados sino solo
recorridos. Se puede
iterar sobre arreglos y
colecciones.
Programación 3
Introducción al lenguaje Java
Branching statements
Son utilizados para modificar el flujo normal de ejecución
En la construcción switch es utilizado for (int i=0;i<10;i++) {
para delimitar el final de un case: e // termina cuando llega a 5
indicar que no se debe seguir if (i == 5)
break break;
evaluando el resto. En los ciclos de
repetición, sirve para terminar la System.out.println("i:"+i);
iteración. }
En los ciclos de repetición, el for (int i=0;i<10;i++) {
continue interrumpe la iteración // Si es par omitir y continuar
actual para pasar a la siguiente, es if (i%2 == 0)
continue decir, la saltea. continue;
// Si es impar, imprimir
System.out.print(i + " ");
}
El return permite salir del método int incrementar (int num,
actual y devolver el control de int inc) {
return
ejecución a quién invocó dicho return num+inc;
método. Puede o no devolver un valor. }
Programación 3
Introducción al lenguaje Java
Clases
Una clase se declara de la siguiente manera:
modif_acceso otros_modif class NombreClase
extends NombreSuperclase
implements NombreInterfaz {
// atributos, constructores y métodos
}
Atributos
Un atributo se declara de la siguiente manera:
modif_acceso otros_modif nombreAtributo =
valor_inicial;
Métodos
Un método se declara de la siguiente manera:
modif_acceso otros_modif tipo_retorno
nombreMetodo (parametros) throws excepciones {
// código a ejecutar
}
Tener en cuenta que:
● los modificadores de acceso aplicables a un método son public,
protected, private y por defecto (sin modificador)
● si el método no retorna nada, su tipo de retorno es void
● por convención, el nombre comienza con minúscula (camel case) y
usualmente incluye un verbo
● los parámetros se escriben separados por coma, indicando tipo y
nombre; en caso de no tener parámetros los paréntesis quedan vacíos
● la firma del método incluye sólo su nombre y el listado de parámetros
● en caso de no lanzar ninguna excepción, el throws no aplica
● el cuerpo del método se delimita con llaves
Programación 3
Introducción al lenguaje Java
Métodos
Un método se declara de la siguiente manera:
modif_acceso otros_modif tipo_retorno
nombreMetodo (parametros) throws excepciones {
// código a ejecutar
}
Tener en cuenta que:
● los modificadores de acceso aplicables a un método son public,
protected, private y por defecto (sin modificador)
● si el método no retorna nada, su tipo de retorno es void
● por convención, el nombre comienza con minúscula (camel case) y
usualmente incluye un verbo ¡Importante!
El paso de parámetros es siempre por
● los parámetros se escriben separados por coma, indicando tipo y
valor, ya sea de un dato primitivo o de un
nombre; en caso de no tener parámetros
objeto.
los paréntesis quedan vacíos
● la firma del método incluye sólo su nombre y el listado de parámetros
Si te trata de un objeto, éste podrá ser
● en caso de no lanzar ninguna excepción, el throws no aplica
modificado a través de los métodos que
● el cuerpo del método se delimita con llaves
exponga.
Programación 3
Introducción al lenguaje Java
Constructores
Un constructor es un método que permite crear objetos a partir de la clase
en la que está definido. Se declara de la siguiente manera:
modif_acceso NombreClase (parametros) {
// código a ejecutar
}
Tener en cuenta que:
● si un constructor se define como private, ninguna clase externa podrá
instanciar objetos de la clase en la que está definido
● un constructor no tiene valor de retorno
● una clase pueden tener múltiples constructores, cada uno con distintos
parámetros o incluso sin parámetros
● en caso de no proveer un constructor, el lenguaje provee el contructor
por defecto, es decir, aquel que no recibe ningún parámetro
● desde un constructor, una subclase puede invocar a otro método
constructor de su propia clase con la palabra reservada this o uno de
su superclase con la palabra reservada super
Programación 3
Introducción al lenguaje Java
Accessors
Un método de acceso permite acceder al estado interno de un objeto, es
decir, a sus atributos. Son los llamados getters y setters. Se declaran de la
siguiente manera:
public tipo_atributo getNombreAtributo () {
return atributo;
}
y
public void setNombreAtributo(tipo_atributo nuevo_valor) {
atributo = nuevo_valor;
}
Creando objetos
Para crear una instancia de una clase es necesario invocar el constructor de
dicha clase utilizando el operador new:
NombreClase objeto_nuevo = new NombreClase(parametros);