Вы находитесь на странице: 1из 32

Lenguaje Java

Basico II

Programacin Java Wrappers


Los tipos primitivos disponen de wrappers
para conseguir comportamientos de objetos
Los wrappers no soportan cast
A cambio proporcionan mtodos
Existe un constructor inmediato desde su
tipo equivalente
byte x = 5;
Integer i = (int) x;
byte x = 5;
Double d = (Double) (double) x;
Byte n1 = 7;
Double m1 = (double) (byte) n1

Programacin Java Arrays


Arrays
grupo de variables de tipos similares que se
conocen con un nombrecomn.
seacceden a ellos utilizando su ndice
los ndices arrancan en 0.
pueden sermultidimensionales
Definicion
Tipo variable nombreArray[ ]=new tipo
Variable[logArray];
Tipo Variable[ ] nombreArray=new
tipovariable[longArray];

Inicializacion
int[] diaMes={31,28,31,30,31,30,31,31,30,31,30,31};

Programacin Java Arrays


Arrays multidimensionales
son realmente arrays de arrays.
int dosD[ ] [ ] new int[4][5];

Sintaxis alternativa de declaracin de arrays


Tipo[ ] nombre_var

Las siguientes declaraciones son equivalentes


int a1[ ]=new[int3];
int [ ] a20newint[3];

Las siguientes dos declaraciones son tambin


equivalentes
char mod1[][]=new chat[3][4],
char [][]mod2=new char[3][4]

Programacin Java Arrays


Arrays
Todos los arrays tienen una variable de instancia
denominadalenght
int[] diaMes={31,28,31,30,31,30,31,31,30,31,30,31};
int a = diaMes.lenght;
La variable a tomar el valor de 12

Programacin Java Operadores (1)


Operadores Aritmticos:
Suma + .
Resta - .
Multiplicacin * .
Divisin / .
Resto de la Divisin % .

Programacin Java Operadores (2)


Operadores de asignacion:
= : op1=23
'+=, '-=' , '*=' , '/=, '%= : op1 ?= op2 op1 = op1 ?
Op2

Operadores Unarios:
(+) y (-). Para cambiar el signo del operando.

Operador Instanceof:
NombreObjeto instanceof NombreClase
Nos permite saber si un objeto pertenece a una clase o no.

Programacin Java Operadores (3)


Operadores Incrementales:
'++ y
Delante de la variable, modifica antes de utilizar ++a
Detrras de la variable, modifica despus de utilizar a++

Operadores Relacionales:
>Mayor que
'<': Menor que
'==': Iguales
'=': Distintos
'>=': Mayor o igual que
'<=': Menor o igual que

Programacin Java Operadores (4)


Operadores Lgicos:
&&' : devuelve true si ambos operandos son true.
'||' : devuelve true si alguno de los operandos son true.
'!' : Niega el operando que se le pasa.
'&' : devuelve true si ambos operandos son true, evalundolos ambos.
'|' : devuelve true uno de los operandos es true, evalundolos ambos.
^: Exclusive or (XOR)

Operador de concatenacin con cadena de caracteres


'+'

Programacin Java Operadores (5)


Operadores a nivel de bits:
'>>': desplazamiento a la derecha de los bits del operando
'<<': desplazamiento a la izquierda de los bits de operando
'&': operador and a nivel de bit.
'|': operador or a nivel de bit

Operador ternario Condicional


expresion-boleana ? expresin-1 : expresin-2

Programacin Java Operadores (6)


Reglas de prioridad
ordenador de mayor a menor prioridad.(se ejecutan primero los de
mayor prioridad).
Operadores unitarios: ++, , !,unitarios +,tipo forma
Multiplicacin y divisin: *, /, %
Suma y resta : +,
Operadores relacionales: <, >, <=, >=
Igual y desigual: ==, !=
Boleano y: &&
Boleano o: ||
Operador condicional: ?:
Operadores de asignacin: = += -= *= /= %=

Programacin Java Operadores y (7)


Ejercicios Java (2) Sintaxis
Ejercicios Java (3) Datos, variables y
constantes
Ejercicios Java (4) Operadores

Programacin Java Bucles y saltos


Bloque
agrupar varias instrucciones como si fuera una sola instruccin
secuencia de instrucciones encerradas entre dos llaves
{ instrucciones }

elbloquepuede emplearse all donde se pueda utilizar una


instruccin.

Que tiene de especial la variable temp ???

Programacin Java Bucles y saltos


If (condicin) bloque1 else bloque2
If (expresin boleana)

instruccin a ejecutar si cierto


else

instruccin a ejecutar si falso

Instruccin bloque

Programacin Java Bucles y saltos


Switch Simplificacion de
cadenas de IF
switch (variable)
case <valor variable>
<bloque>
break;

default se cumple si ninguno cumple


Cuando entra en un case no sale si
no encuentra break

Programacin Java Bucles y saltos


for (inicializacin;condicin;incremento/decremento) bloque
Realiza la inicializacin
Permanece ejecutando un bloque hasta que se cumpla la condicin
Realiza la operacin de incremento o decremento
for (int a=1; a<10; a++) {
System.out.println(valor = + a);
}
Presentara en consola los nmeros
del 1 al 9

Realmente se trata de cuatro bloques,


el
El
El
El

primero (inicializacin) se ejecuta solo una vez, al empezar


segundo (condicin), se ejecuta antes de cada pasada, y su resultado ha de ser booleano
tercero (incremento/decremento), se realiza al final de cada pasada.
cuarto, el bloque de cdigo, se ira ejecutando en cada pasada

Programacin Java Bucles y saltos


for (variable : coleccin o Array) bloque
Ejecuta el bloque de instrucciones tantas veces como
elementos tenga la coleccin; en cada iteracin,
variable contendr un elemento distinto de la coleccin
List<String> lenguajes = Arrays.asList("Java", "Python",
"Ruby", "C#");
for (String lenguaje : lenguajes)
System.out.println("Me gusta " + lenguaje);

Y de colecciones, ya hablaremos

int[] test = new int[]


{1,4,5,7};
for (int intValue : test) {
// do some work here on
intValue
}

Programacin Java Bucles y saltos


Bucle forEachen Java 8
List<String> items = new
ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");
//Output : C
items.forEach(item->{
if("C".equals(item)){
System.out.println(item);
}
});

//lambda
//Output : A,B,C,D,E
items.forEach(item>System.out.println(item));
//method reference
//Output : A,B,C,D,E
items.forEach(System.out::println
);

Programacin Java Bucles y saltos


while(condicin) bloque
Las instrucciones contenidas en el bloque, se ejecutan
mientras que condicin sea true.
Si cuando llega la primera vez, condicin es false, el
bucle no se ejecuta

do { bloque } while (condicin)


En este caso, la condicin no se comprueba hasta
finalizar la iteracin, eso hace que como minimo, se
pase siempre una vez por el bloque

Programacin Java Bucles y saltos


first:
for (int i = 0; i < 4; ++i)
{
Continue
second:
Salta la iteracin en curso y pasa a la siguiente iteracin for (int j = 0; j < 4; ++j)
{
Break
third:
for (int k = 0; k < 4; ++k)
Sale del bucle en el que se encuentra
{
System.out.println ("inner start: i+j+k "
for (i = 0; i < arrayOfInts.length;
+ (i + j + k));
i++) {
if (i + j + k == 5)
if (arrayOfInts[i] ==
continue third;
if (i + j + k == 7)
searchfor) {
continue second;
foundIt = true;
if (i + j + k == 8)
break;
break second;
}
if (i + j + k == 9)
break first;
}
System.out.println ("inner stop: i+j+k "
+ (i + j + k));
La funcin se ejecuta sobre el bucle etiquetado
}
}
}

Interrupcin de bucles

Si indicamos label

Viendo los bucles


Para practicar la utilizacion de las
instrucciones while y switch, propongo
que me sigais en el siguiente ejercicio:
Se trata de recoger una frase desde la linea
de comando, y darle la vuelta. Para ello
vamos a realizar distintas implementaciones.

public class vuelta {


public static void main(String[] args) {
Si nos entran una frase en linea de comando sin comillas, cada palabra de la frase, ira a
parar a un argumento distinto, por lo que lo primero que tendremos que hacer es unirlas en
una sola variable, creamos la variable entrada, y concatenamos todos los elementos del
array args con una separacion de un espacio.

String entrada=;
int lg=args.length;
for(int a=0;a<lg;a++){
entrada+=args[a]+ ;
}
System.out.println(fase-1-+entrada);
int longitud = entrada.length();
int a;
for(a=longitud-1;a>=0;a)
System.out.print(entrada.charAt(a));

Viendo los bucles


Sobre el ejercicio anterior, hacer lo mismo, pero va dejando los caracteres
en una strig, volcandola al final. (Asumimos la ineficacia del sistema por
trabajar con string, pero de momento, ya nos vale).
Para complicar un poco las cosas, os propongo que durante la inversion,
cambies las vocales por nmeros, utilizando switch
ax4,ex3,ix1,ox0,ux9

Otra propuesta mas, Ahora se me ocurre que la cadena de entrada la podria


recibir delimitada con cualquier caracter, y no vamos a utilizar el atributo
length, si no que vamos a calcular la longitud, buscando el caracter del final.
Y nuestra ultima implementacion, basada en esta que acabamos de hacer,
pero ahora vamos a trabajar sin calcular la longitud de la string

Programacion Java - String


String es un objeto.
s1.equals.(s2)true si s1 contiene exactamente la misma secuencia de caracteres que s2.
s1.equalsIgnoreCase(s2)true si s1 es igual a s2, considerando iguales maysculas y
minsculas. s1.compareTo(s2)compara dos Strings. Si ambas son iguales. se devuelve 0;
si s1 es menor que s2 se devuelve -1, y si s1 es mayor que s2 se devuelve 1.
s1.charAt(N), (N -> int) devuelve (char) el carcter que esta en la posicin N de la
cadena. Tenga en cuenta que las posiciones empiezan en 0, esto quiere decir que
s1.charAt(0) es el primer carcter de la cadena, s1.charAt(1) es el segundo y as
sucesivamente.
s1.length(),devuelve el numero de caracteres contenidos en la cadena.
s1.toUpperCase()devuelve un valor string con todas las minsculas que contena
transformadas a maysculas. El mtodo inverso ess1.toLowerCase()
s1.trim()es una funcin que devuelve un valor string . El contenido devuelto es el de s1
una vez se le ha quitado todos los caracteres no imprimibles tales como espacios,
tabuladores,

Practicas
Ejercicios java (5) Bucles y saltos
Ejercicios java (6) Trabajando con cade
nas

Programacion Java La funcin main()

Punto de entrada a la aplicacin.


La clase que lo tiene, es la que inicia la ejecucin
public static void main(String [] args) { }
public ha de ser visto desde fuera
static es el iniciador, nadie ha podido crear instancias.
void cuando finalice, retorna a la JVM, luego no puede
devolver nada
String[] args recibe lo que se haya escrito en la lnea de
comando

Programacion java Firma de un mtodo

Un mtodo se identifica por:


El
El
El
El

nombre
numero de parmetros
tipo de parmetros
orden de los parmetros

Programacion java - mtodos


Llamar a un mtodo
Desde la misma clase
Indicando el nombre del mtodo y los parmetros necesarios
Imprime(nombre,Constantes);

Si devuelve valor,asignando el mtodo a una variable


numero = sumar(oper1,oper);

Desde otra clase


Si es esttico
nombreClase.nombreMtodo(param1,param2, paramM);

Si no es esttico
Se debe instanciar la clase, y luego utilizar la instancia para llamar
Persona miguel = new Persona();
Miguel.imprimirDatos():

Programacin Java - Parmetros


Pasa informacin aun mtodo
La informacin se pasa por valor
Si se pasa un objeto, como el valor es la referencia, se
tiene acceso al objeto superior
Si se cambia el contenido del parmetro, solo afecta al
mtodo

Programacin Java - Parmetros


Veamos este ejemplo

Valor de v1 fuera del


mtodo->25
Variable1 al principio->25
Variable1 despues->32
Valor de v1 fuera del
mtodo->25

Programacin Java Retornar valor


Los mtodos pueden retornar valor
La variable para recibirlo debe ser compatible con el
tipo declarado

Adios

Вам также может понравиться