0% encontró este documento útil (0 votos)
26 vistas30 páginas

10 Apunte Intro Lenguaje Java

Guía Java 2

Cargado por

Dany Gasia
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
26 vistas30 páginas

10 Apunte Intro Lenguaje Java

Guía Java 2

Cargado por

Dany Gasia
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 30

Programación 3

Introducción al lenguaje Java


Programación 3
Introducción al lenguaje Java

Empecemos donde dejamos la última vez… el infaltable


¡HolaMundo!
Programación 3
Introducción al lenguaje Java

Para poder escribir y ejecutar nuestro ¡Hola


mundo! primero necesitamos conocer
aspectos básicos del lenguaje...
Programación 3
Introducción al 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

● parámetros, de los métodos definidos en una clase


Programación 3
Introducción al lenguaje Java

Dado que Java es fuertemente tipado, al declarar una variable


es necesario definir su tipo:
tipo_de_dato nombre = valor_inicial;

Existen ocho tipos de datos primitivos:


Nombre Bits Rango de representación Val/defecto
byte 8 bits -128 a 127 0
short 16 bits -32768 a 32767 0
int 32 bits -2³¹ a 2³¹-1 0
long 64 bits -2⁶³ a 2⁶³-1 0L
float 32 bits ver IEEE 754 0.0f
double 64 bits ver IEEE 754 0.0d
boolean 1 bit true o false false
char 16 bits '\u0000' (0) a '\uffff' (65,535 inclusive) '\u0000'
Programación 3
Introducción al lenguaje Java

Dado que Java es fuertemente tipado, al declarar una variable


es necesario definir su tipo:
tipo_de_dato nombre = valor_inicial;

Existen ocho tipos de datos primitivos:


Nombre Bits Rango de representación Val/defecto
byte 8 bits -128 a 127 0
short 16 bits -32768 a 32767 0
int 32 bits -2³¹ a 2³¹-1 0
long 64 bits -2⁶³ a 2⁶³-1 ¡Importante! 0L
Java solo inicializa automáticamente con
float 32 bits ver IEEE 754 0.0f
valores por defecto a variables de
double 64 bits ver IEEE 754 instancia y de clase, no así a0.0d las locales.
boolean 1 bit true o false Intentar utilizar una variable false
local sin
inicializar generará un error de
char 16 bits '\u0000' (0) a '\uffff' (65,535 inclusive) '\u0000'
compilación.
Programación 3
Introducción al lenguaje Java

En cuanto a nombres, se puede utilizar cualquier cadena de


texto que cumpla con las siguientes reglas:
● pueden comenzar con una letra, el signo $ o _ (guión bajo),
aunque no se recomienda usar ninguna de las dos últimas
alternativas
● el resto del nombre puede incluir letras, dígitos, $ y/o _
● por convención, se utiliza camel case: hora, horaDelDia
● por convención, las constantes se definen sólo con
mayúsculas: PORC_DESC
Programación 3
Introducción al lenguaje Java

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;

Creación variable = new numeros = new int[5];


tipo_elemento[cant_elememtos]
Inicialización nombre[indice] = valor numeros[0] = 42;

Acceso variable = nombre[indice] int nro = numeros[0];

También se los puede declarar, crear e inicializar al mismo tiempo:


int[] numeros = {
10, 20, 30, 40, 50, 60, 70, 80, 90, 1000
};
En este caso, el tamaño es inferido por la cantidad de inicializadores
Programación 3
Introducción al lenguaje Java

Ya vimos a las variables, ahora es el turno de


los operadores, para poder hacer algo con
ellas…
Programación 3
Introducción al lenguaje Java

Operadores
Permiten manipular variables. Existen operadores de distintos
tipos:
Asignación =

Aritméticos + - * / %

Unarios + - ++ -- !

Igualdad y relacionales == != < > <= >=

Condicionales && || ? :

Comparación de tipos instanceof

A nivel de bit << >> >>> & ^ | ~


Programación 3
Introducción al lenguaje Java

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.

A continuación, la tabla de precedencia de operadores:


Programación 3
Introducción al lenguaje Java

Postfix expr++ expr--


Unarios ++expr --expr +expr -expr ~ !
Multiplicativos * / %
Aditivos + -
Desplazamiento << >> >>>
Relacionales < > <= >= instanceof
Igualdad == !=
AND a nivel de bit &
OR exclusivo a nivel de bit ^
OR inclusivo a nivel de bit |
AND lógico &&
OR lógico ||
Ternario ? :
= += -= *= /= %= &= ^= |= <<=
Asignación >>= >>>=
Programación 3
Introducción al lenguaje Java

Expresiones, declaraciones y bloques


Una expresión es una construcción a partir de variables,
operadores e invocaciones a métodos, que se evalúan
obteniendo un único valor. Se pueden agrupar utilizando ().

Una declaración conforma una unidad completa de ejecución.


Su terminador es un ;.

Un bloque es un conjunto de cero o más declaraciones entre


llaves {}.

Con las variables y los operadores se construyen expresiones,


que forman parte de declaraciones. Estas declaraciones pueden
estar agrupadas en bloques.
Programación 3
Introducción al lenguaje Java

Control de flujo
Las declaraciones incluídas en un programa se ejecutan
secuencialmente, de arriba hacia abajo.

Las estructuras de control de flujo alteran el flujo de ejecución a


través del uso de condiciones, repeticiones y ramificaciones,
permitiendo al programa la ejecución condicional de ciertos
bloques de código.
Programación 3
Introducción al lenguaje Java

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

Plantea caminos por if (condicion) { if (nro > 0) {


verdadero y por falso // camino por positivo = true;
verdadero
} else {
if-then- } else {
positivo = false;
else // camino por falso
}
}
Programación 3
Introducción al lenguaje Java

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.

Este ciclo ejecuta al do { do {


menos una vez y luego // código a ejecutar cont++;
evalúa la condición. } while(condicion); } while (cont < 10);
do- Mientras sea
while verdadera, la iteración
continuará.
Programación 3
Introducción al lenguaje Java

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

Y finalmente, con toda esta base...


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
}

Tener en cuenta que:


● los modificadores de acceso válidos para clases son public y por
defecto (es decir, no se escribe ningún modificador)
● por convención, el nombre de las clases siempre comienza con
mayúscula, así como también cada palabra que integra su nombre
● una clase puede extender a sólo una superclase
● una clase puede implementar múltiples interfaces, las cuales se
indicarán separadas por coma
● el cuerpo de la clase se delimita con llaves
Programación 3
Introducción al lenguaje Java

Atributos
Un atributo se declara de la siguiente manera:
modif_acceso otros_modif nombreAtributo =
valor_inicial;

Tener en cuenta que:


● los modificadores de acceso aplicables a un atributo son public,
protected, private y default (sin modificador)
● por convención, el nombre comienza con minúscula (camel case)
● pueden ser de un tipo de dato primitivo o ser referencia a algún objeto
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
● 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;
}

Tener en cuenta que:



los métodos de acceso son por definición públicos
● no es obligatorio que sean incluídos en la definición de la clase
● se utilizan para tener un control del acceso al estado interno de un objeto
● permiten agregar lógica de control a dicho acceso
Programación 3
Introducción al lenguaje Java

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);

Tener en cuenta que:


● el operador new retorna una referencia a la instancia recién creada
● si la clase tiene múltiples constructores, el lenguaje seleccionará el que
se ajuste a los parámetros especificados
● a la izquierda se especifica el tipo de referencia, a la derecha el tipo
concreto instanciado
● si la clase no ofrece un constructor, el lenguaje le proveerá el contructor
por defecto, que a su vez invocará al constructor por defecto de su
superclase. En caso de no tener una, se invocará el constructor por
defecto de la clase Object.
● a través del operador . (punto) se podrá acceder a los miembros del
objeto (atributos y métodos), según su nivel de acceso

También podría gustarte