Você está na página 1de 22

Los Arrays

Un array es un medio de guardar un conjunto de objetos de la misma clase. Se accede a


cada elemento individual del array mediante un nmero entero denominado ndice. 0 es el
ndice del primer elemento y n-1 es el ndice del ltimo elemento, siendo n, la dimensin
del array. Los arrays son objetos en Java y como tales vamos a ver los pasos que hemos de
seguir para usarlos convenientemente

Declarar el array

Crear el array

Inicializar los elementos del array

Usar el array

Declarar y crear un array


Para declarar un array se escribe
tipo_de_dato[] nombre_del_array;

Para declarar un array de enteros escribimos


int[] numeros;

Para crear un array de 4 nmero enteros escribimos


numeros=new int[4];

La declaracin y la creacin del array se puede hacer en una misma lnea.


int[] numeros =new int[4];

Inicializar y usar los elementos del array


Para inicializar el array de 4 enteros escribimos
numeros[0]=2;
numeros[1]=-4;
numeros[2]=15;
numeros[3]=-25;

Se pueden inicializar en un bucle for como resultado de alguna operacin


for(int i=0; i<4; i++){
numeros[i]=i*i+4;
}

LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

No necesitamos recordar el nmero de elementos del array, su miembro dato length nos
proporciona la dimensin del array. Escribimos de forma equivalente
for(int i=0; i<numeros.length; i++){
numeros[i]=i*i+4;
}

Los arrays se pueden declarar, crear e inicializar en una misma lnea, del siguiente modo
int[] numeros={2, -4, 15, -25};
String[] nombres={"Juan", "Jos", "Miguel", "Antonio"};

Para imprimir a los elementos de array nombres se escribe


for(int i=0; i<nombres.length; i++){
System.out.println(nombres[i]);
}

Java verifica que el ndice no sea mayor o igual que la dimensin del array, lo que facilita
mucho el trabajo al programador.
Para crear un array de tres objetos de la clase Rectangulo se escribe

Declarar
Rectangulo[] rectangulos;

Crear el array
rectangulos=new Rectangulo[3];

Inicializar los elementos del array


rectangulos[0]=new Rectangulo(10, 20, 30, 40);
rectangulos[1]=new Rectangulo(30, 40);
rectangulos[2]=new Rectangulo(50, 80);

O bien, en una sola lnea


Rectangulo[] rectangulos={new Rectangulo(10, 20, 30, 40),
new Rectangulo(30, 40), new Rectangulo(50, 80)};

Usar el array

Para calcular y mostrar el rea de los rectngulos escribimos


for(int i=0; i<rectangulos.length; i++){
System.out.println(rectangulos[i].calcularArea());
}

LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

Arrays multidimensionales
Una matriz bidimensional puede tener varias filas, y en cada fila no tiene por qu haber el
mismo nmero de elementos o columnas. Por ejemplo, podemos declarar e inicializar la
siguiente matriz bidimensional
double[][] matriz={{1,2,3,4},{5,6},{7,8,9,10,11,12},{13}};

La primer fila tiene cuatro elementos {1,2,3,4}

La segunda fila tiene dos elementos {5,6}

La tercera fila tiene seis elementos {7,8,9,10,11,12}

La cuarta fila tiene un elemento {13}

Para mostrar los elementos de este array bidimensional escribimos el siguiente cdigo
for (int i=0; i < matriz.length; i++) {
for (int j=0; j < matriz[i].length; j++) {
System.out.print(matriz[i][j]+"\t");
}
System.out.println("");
}

Como podemos apreciar, matriz.length nos proporciona el nmero de filas (cuatro), y


matriz[i].length, nos proporciona el nmero de elementos en cada fila.
Mostramos los elementos de una fila separados por un tabulador usando la funcin print.
Una vez completada una fila se pasa a la siguiente mediante println.
Los arrays bidimensionales nos permiten guardar los elementos de una matriz. Queremos
crear y mostrar una matriz cuadrada unidad de dimensin 4. Recordaremos que una matriz
unidad es aquella cuyos elementos son ceros excepto los de la diagonal principal i==j, que
son unos. Mediante un doble bucle for recorremos los elementos de la matriz especificando
su fila i y su columna j. En el siguiente programa

Se crea una matriz cuadrada de dimensin cuatro

Se inicializa los elementos de la matriz (matriz unidad)

Se muestra la matriz una fila debajo de la otra separando los elementos


de una fila por tabuladores.

public class MatrizUnidadApp {


public static void main (String[] args) {
double[][] mUnidad= new double[4][4];
for (int i=0; i < mUnidad.length; i++) {

LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

for (int j=0; j < mUnidad[i].length; j++) {


if (i == j) {
mUnidad[i][j]=1.0;
}else {
mUnidad[i][j] = 0.0;
}
}

for (int i=0; i < mUnidad.length; i++) {


for (int j=0; j < mUnidad[i].length; j++) {
System.out.print(mUnidad[i][j]+"\t");
}
System.out.println("");
}

Un ejemplo del uso de break con etiqueta y arrays multidimensionales


int[][] matriz={

{32, 87, 3, 589},


{12, -30, 190, 0},
{622, 127, 981, -3, -5}};

int numero=12;
int i=0, j=0;
buscado:
for(i=0; i<matriz.length; i++){
for(j=0; j<matriz[i].length; j++){
if(matriz[i][j]==numero){
break buscado;
}
}
}
System.out.println("buscado: matriz("+ i+", "+j+")="+matriz[i]
[j]);

Repaso arrays o arreglos unidimensionales en Java. Tipos de


inicializacin. Ejemplos de cdigo (CU00903C)
Escrito por Manuel Sierra y Jos Luis Cuenca
Resumen: Entrega n3 del curso Lenguaje de programacin Java Nivel Avanzado I.
Codificacin aprenderaprogramar.com: CU00903C

LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

VARIABLES CON NDICE O LOCALIZADOR. ARRAYS (ARREGLOS).

Vamos a repasar algunos conceptos que ya deberamos conocer. Un array (arreglo) en Java
es una estructura de datos que nos permite almacenar un conjunto de datos de un mismo
tipo. El tamao de los arrays se declara en un primer momento y no puede cambiar luego
durante la ejecucin del programa, como s puede hacerse en otros lenguajes. Veremos
ahora cmo declarar arrays estticos de una dimensin.

ARRAYS UNIDIMENSIONALES
La sintaxis para declarar e inicializar un array ser:

Tipo_de_variable[ ] Nombre_del_array = new


Tipo_de_variable[dimensin];

Tambin podemos alternativamente usar esta declaracin:

Tipo_de_variable[ ] Nombre_del_array;
Nombre_del_array = new Tipo_de_variable[dimensin];

El tipo de variable puede ser cualquiera de los admitidos por Java y que ya hemos
explicado. Ejemplos de declaracin e inicializacin con valores por defecto de arrays
usando todos los tipos de variables Java, seran:
LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

byte[ ] edad = new byte[4];

short[ ] edad = new short[4];

int[ ] edad = new int[4];

long[ ] edad = new long[4];

float[ ] estatura = new float[3];

double[ ] estatura = new double[3];

boolean[ ] estado = new boolean[5];

char[ ] sexo = new char[2];

String[ ] nombre = new String[2];

Aclarar que los valores por defecto son los siguientes:


a)

Para nmeros el valor cero 0.

b)

Para cadenas y letras el valor vaco.

c)

Para booleanos el valor false.

En caso de que queramos inicializarlos con valores propios, haremos esto:

Para nmeros enteros


int[ ] edad = {45, 23, 11, 9}; //Array de 4 elementos
De la misma forma procederamos para los otros tipos de enteros : byte, short, long.

Para nmeros reales


LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

double[ ] estatura = {1.73, 1.67, 1.56}; //Array de 3 elementos


De la misma forma procederamos para el tipo float, pero teniendo en cuenta que los
nmeros debern llevar al final la letra f o F. Por ejemplo 1.73f o 1.73F.

Para cadenas
String[ ] nombre = {"Mara", "Gerson"}; //Array de 2 elementos

Para caracterers
char[ ] sexo = {'m', 'f'}; //Array de 2 elementos

Para booleanos
boolean[ ] = {true,false};

//Array de 2 elementos

Cuando creamos un array de nombre a y de dimensin n (int[ ] a = new int[n]) estamos


creando n variables que son a[0], a[1], a[2], ..., a[n-1]. Los arrays se numeran desde el
elemento cero, que sera el primer elemento, hasta el n-1 que sera el ltimo elemento. Es
decir, si tenemos un array de 5 elementos, el primer elemento sera el cero y el ltimo
elemento sera el 4. Esto conviene tenerlo en cuenta porque puede dar lugar a alguna
confusin. Disponer de un valor con ndice cero puede ser de utilidad en situaciones como
considerar cada variable asociada a una hora del da, empezando a contar desde la hora cero
hasta la 23 (total de 24 horas), cosa que es habitual en algunos pases. En lugar de 1, 2,
3, ..., 24 estaramos usando 0, 1, 2, ..., 23.
Vamos a trabajarlo sobre el ordenador en un programa y ver qu pasara si declaramos un
array de tamao n y vamos asignando un valor a cada variable del array desde la posicin
cero hasta la posicin n-1. Adicionalmente vamos a comprobar qu ocurre si tratamos de
asignarle valor a la variable de posicin n.
El cdigo fuente del programa (escrbelo en BlueJ) es el siguiente:

LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

/* Ejemplo uso Arrays aprenderaprogramar.com */


public class ArrayDeNombres {
public static void main(String arg[ ]) {
String[ ] nombre = new String[4];
nombre[0] = "Luis";
nombre[1] = "Mara";
nombre[2] = "Carlos";
nombre[3] = "Jose";
nombre[4] = "Ismael"; //Error:No existe esta variable array de
ndice 4
}
}

Procedemos a la compilacin del programa pulsando en el botn de Compile y despus a su


ejecucin:

LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

Obtenemos una respuesta (interpretacin) que es la siguiente:

Una vez escrito el programa, cuando compilamos observamos que no hay ningn error de
sintaxis, es decir, no faltan puntos y comas, las llaves estn bien equilibradas, las palabras
reservadas del lenguaje son las correctas, etc. Por tanto, aparentemente el programa debera
ejecutarse y darnos un resultado. Sin embargo cuando cuando interpretamos el programa
observamos un error ArrayIndexOutBoundsException. Este mensaje de error significa
desbordamiento de array, es decir, que tratamos de acceder a una posicin del array que
LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

no existe. En nuestro caso, hemos tratado de acceder a la posicin 4, que no est definida
(slo se ha definido hasta la posicin 3). En esto Java es muy estricto y no admite este tipo
de error lgico del programador. Siguiendo el anlisis del error que nos aparece en la
ventana leemos lo siguiente ArrayDeNombres.java:12, que nos est indicando que el
error est en el archivo que contiene el programa de nombre ArrayDeNombres.java, y
ms concretamente en la lnea 12.
Ahora ampliaremos conocimientos con respecto a la instruccin public static void
main(String arg[ ]). Esta instruccin es un estndar en Java, es decir, es la forma habitual
de encabezar un programa que se ejecuta en consola. Ahora trataremos de entender un poco
mejor el significado de este encabezado. Vamos a analizar el significado de (String arg[ ]).
En esta instruccin el mtodo main admite que se le pase un array de Strings cuando se
proceda a la ejecucin del programa si as lo deseamos. String arg[] significa un array de
Strings cuyo nombre es arg. Dicho de otra manera, al ejecutar el programa podemos
indicar parmetros de entrada de forma opcional. Si especificamos parmetros de
entrada, stos parmetros quedan asignados al array arg tomando el orden arg[0], arg[1].
Lo dicho podemos aclararlo mejor con el siguiente ejemplo:
El cdigo fuente del programa es el siguiente. Escrbelo en el editor de BlueJ:

/* Ejemplo uso parmetros de entrada aprenderaprogramar.com


*/
public class ParametrosDeEntrada {
public static void main(String arg[ ]) {
System.out.println(Cantidad de parmetros : + arg.length);
System.out.println(arg[0]);
System.out.println(arg[1]);
}
}

Damos por entendido que ya hemos compilado el programa y no hay errores de sintaxis.
Nos centramos por tanto en la ejecucin del programa (interpretacin).
LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

Si hacemos click derecho sobre ParametrosDeEntrada y seleccionamos la opcin void


main(String arg[ ]) pasaremos a ejecutar el programa. En la ventana emergente pondremos
lo siguiente: { "Pepe", "Luis", "Juan"} incluidos las llaves y las comillas dobles, los
parmetros de entrada son Pepe, Luis y Juan. Cuando ejecutamos el programa se nos
mostrar que la cantidad de parmetros son tres, y adems nos mostrar el primer y
segundo elementos del array, es decir, Pepe y Luis.
Si al ejecutar el mtodo main de ParamentrosDeEntrada le pasaramos solo el parmetro
Pepe, como solo hay un solo parmetro de entrada, el array arg tiene un solo elemento.
En este caso el programa nos va a dar un error porque la nica variable que existe es arg
[0], y al tratar de llamar a arg[1] nos va a dar error.
Veamos ahora qu ocurre al ejecutar ParametrosDeEntrada con los parmetros "Hola"
"Java":

Estos dos parmetros son las cadenas "Hola" y "Java", las cuales son capturadas en las
variables del array de cadenas arg[0] y arg[1]. Estas variables se usan para imprimir los
parmetros en pantalla. Esto se puede ver en el cdigo fuente del programa. Por otro lado,
con el atributo arg.length podemos saber cuntos parmetros se le han pasado a nuestro
programa. Tambin decir que hacemos uso de un nuevo smbolo: +, que significa
concatenar la cadena Cantidad de parmetros con el valor del atributo arg.length (que
es 2 en este caso). El resultado es la cadena Cantidad de parmetros : 2 , que se imprime
en la ventana como parte de la salida de nuestro programa.
El introducir parmetros al mismo tiempo que se invoca la ejecucin de un programa es una
posibilidad que admite Java. En otros lenguajes no es posible pasar parmetros de entrada a
un programa.

LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

EJERCICIO 1
Crea un array numrico con 5 elementos. Los nmeros de cada elemento deben ser valores
pedidos por teclado al usuario. Muestra por consola el ndice y el valor al que corresponde.
Debes utiliza bucles tanto para pedir los valores de los elementos del array como para
mostrar su contenido por pantalla.
Ejemplo: Introducimos los valores 2, 4, 5, 8 y 10 .Lo que se tiene que mostrar por consola
sera:
En el indice 0 esta el valor 2
En el indice 1 esta el valor 4
En el indice 2 esta el valor 5
En el indice 3 esta el valor 8
En el indice 4 esta el valor 10
Para comprobar si es correcta tu solucin puedes consultar en los foros
aprenderaprogramar.com

EJERCICIO 2
Crea un programa en el que se pida por consola el nombre de 2 alumnos y la nota de cada
uno de ellos como valor numrico. El resultado que debe mostrarse es el nombre de cada
alumno, su nota y su calificacion como texto (Sobresaliente, Notable, Bien o Suspenso).
Para ello crea un array numrico y otro de String (ambos unidimensionales). En el array
numrico se insertarn las calificaciones facilitadas por el usuario entre 0 y 10 (debemos
controlar que inserte una nota valida), pudiendo ser decimal. En el array de Strings se
insertarn los nombres de los alumnos.
Crea tambin un array de String donde insertaremos el resultado de la nota con palabras
admitindose estos valores: Sobresaliente, Notable, Bien o Suspenso.
El programa debe comprobar la nota de cada alumno teniendo en cuenta esta equivalencia:
Si la nota est entre 0 y 4,99 ser un Suspenso.
LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

Si la nota est entre 5 y 6,99 ser un Bien.


Si la nota est entre 7 y 8,99 ser un Notable.
Si la nota est entre 9 y 10 ser un Sobresaliente.

Muestra por pantalla, el alumno su nota y su resultado en palabras utilizando bucles. Crea
los mtodos que creas convenientes. Puedes comprobar si tu cdigo es correcto consultando
en los foros aprenderaprogramar.com.

Ejercicios propuestos y resueltos arrays de Java

Hola a todos, hoy os dejo una serie de ejercicios de Java para practicar todo aquello que
hemos explicado en anteriores posts, haciendo hincapi en los arrays de Java.
Todos los ejercicios que proponemos estn resueltos en este mismo post, intenta hacerlo por
ti mismo y si te quedas atascado puedes mirar la solucin. Recuerda, que no tiene por que
estar igual tu solucin con la del post, el objetivo es que aprendas no que me copies la
solucin.
El nombre de la aplicacin es de tu eleccin. Crea un proyecto en Java por ejercicio.
Colocare en las soluciones algunos comentarios para que sean ms fcilmente entendible.
Te recomiendo que uses mensajes de trazas, donde te sean necesarios. Si tienes problemas
tambin puedes usar el depurador.
Aqu tienes todos los posts relacionados con Java:

Introduccion

Convencin de nombres

Comentarios

Variables primitivas

Constantes

Operadores

Entrada y salida de datos


LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

mbito de una variable

String

Mtodos String

Casting

Mtodos Math

Generar un nmero aleatorio con Math.random

Estructura condicional

Estructura repetitiva

Mensajes de traza

Pasar de String a distintos tipos de datos en Java

Caracteres de Escape

API Java

Mtodos Java

Arrays en Java

Bucles anidados

Arrays en mtodos en Java

Referencias en Java

Arrays multidimensionales

Mtodos java.util.Arrays Java

Formas de ordenar un array en Java

Tambin incluyo los posts relacionados con eclipse.

Como usar Eclipse Juno

Instalar y desinstalar plugins en Eclipse

Como traducir Eclipse a Espaol


LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

Si tienes alguna duda, recuerda que puedes consultarnos escribiendo un comentario en este
post o envindonos un e-mail a administrador@discoduroderoer.es
1) Crea un array de 10 posiciones de nmeros con valores pedidos por teclado. Muestra por
consola el indice y el valor al que corresponde. Haz dos mtodos, uno para rellenar valores
y otro para mostrar.
Mostrar
2) Crea un array de nmeros donde le indicamos por teclado el tamao del array,
rellenaremos el array con nmeros aleatorios entre 0 y 9, al final muestra por pantalla el
valor de cada posicin y la suma de todos los valores. Haz un mtodo para rellenar el array
(que tenga como parmetros los nmeros entre los que tenga que generar), para mostrar el
contenido y la suma del array y un mtodo privado para generar nmero aleatorio (lo
puedes usar para otros ejercicios).
Mostrar
3) Crea un array de nmeros de un tamao pasado por teclado, el array contendr nmeros
aleatorios primos entre los nmeros deseados, por ltimo nos indica cual es el mayor de
todos.
Haz un mtodo para comprobar que el nmero aleatorio es primo, puedes hacer todos lo
mtodos que necesites.
Mostrar
4) Crea un array de nmeros de 100 posiciones, que contendr los nmeros del 1 al 100.
Obtn la suma de todos ellos y la media.
Mostrar
5) Crea un array de caracteres que contenga de la A a la Z (solo las maysculas).
Despus, ve pidiendo posiciones del array por teclado y si la posicion es correcta, se
aadira a una cadena que se mostrara al final, se dejar de insertar cuando se introduzca un
-1.
Por ejemplo, si escribo los siguientes numeros
0 //Aadira la A
5 //Aadira la F
25 //Aadira la Z
50 //Error, inserte otro numero
-1 //fin

LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

Cadena resultante: AFZ


Mostrar
6) Pide al usuario por teclado una frase y pasa sus caracteres a un array de caracteres.
Puedes hacer con o sin mtodos de String.
Mostrar
7) Crea dos arrays de nmeros con una posicin pasado por teclado.
Uno de ellos estar rellenado con nmeros aleatorios y el otro apuntara al array anterior,
despus crea un nuevo array con el primer array (usa de nuevo new con el primer array)
con el mismo tamao que se ha pasado por teclado, rellenalo de nuevo con nmeros
aleatorios.
Despus, crea un mtodo que tenga como parmetros, los dos arrays y devuelva uno nuevo
con la multiplicacin de la posicin 0 del array1 con el del array2 y as sucesivamente. Por
ltimo, muestra el contenido de cada array.
Llama al final al recolector de basura.
Mostrar
8) Crea un array de nmeros de un tamao pasado por teclado, el array contendr nmeros
aleatorios entre 1 y 300 y mostrar aquellos nmeros que acaben en un dgito que nosotros le
indiquemos por teclado (debes controlar que se introduce un numero correcto), estos deben
guardarse en un nuevo array.
Por ejemplo, en un array de 10 posiciones e indicamos mostrar los nmeros acabados en 5,
podra salir 155, 25, etc.
Mostrar
9) Calcula la letra de un DNI, pediremos el DNI por teclado y nos devolver el DNI
completo.
Para calcular la letra, cogeremos el resto de dividir nuestro dni entre 23, el resultado debe
estar entre 0 y 22. Haz un mtodo donde segn el resultado de la anterior formula busque
en un array de caracteres la posicin que corresponda a la letra. Esta es la tabla de
caracteres:
Posicion

Letra

T
LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

Posicion

Letra

10

11

12

13

14

15

16

17

18

19

20

21

22

Por ejemplo, si introduzco 70588387, el resultado sera de 7 que corresponde a


F.

Mostrar
10) Crea un array de nmeros y otro de String de 10 posiciones donde insertaremos notas
entre 0 y 10 (debemos controlar que inserte una nota valida), pudiendo ser decimal la nota
en el array de nmeros, en el de Strings se insertaran los nombres de los alumnos.
LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

Despus, crearemos un array de String donde insertaremos el resultado de la nota con


palabras.

Si la nota esta entre 0 y 4,99 , sera un suspenso

Si esta entre 5 y 6,99 , sera un bien.

Si esta entre 7 y 8,99 sera un notable.

Si esta entre 9 y 10 sera un sobresaliente.

Muestra por pantalla, el alumno su nota y su resultado en palabras. Crea los mtodos que
creas conveniente.
Mostrar
10) Crea una aplicacin que pida un numero por teclado y despus comprobaremos si el
numero introducido es capicua, es decir, que se lee igual sin importar la direccin. Por
ejemplo, si introducimos 30303 es capicua, si introducimos 30430 no es capicua. Piensa
como puedes dar la vuelta al nmero. Una forma de pasar un nmero a un array es esta
Character.getNumericValue(cadena.charAt(posicion)).
Mostrar
12) Crea dos arrays multidimensionales de 23 y rellenalos como quieras (nmeros
aleatorios, por teclado o definido al crear el array).
Haz un mtodo que sume los arrays multidimensionales, es decir, la posicin 0, 0 del array1
con la posicin del array2 y as sucesivamente, este metodo no debe devolver nada,
haciendo que deba pasarse el array multidimensional de suma como parmetro. Muestra el
contenido de cada array multidimensional.
Mostrar
13) Dado un array de nmeros de 5 posiciones con los siguiente valores {1,2,3,4,5},
guardar los valores de este array en otro array distinto pero con los valores invertidos, es
decir, que el segundo array debera tener los valores {5,4,3,2,1}.
Mostrar
14) Queremos realizar una encuesta a 10 personas, en esta encuesta indicaremos el sexo
(1=masculino, 2=femenino), si trabaja (1=si trabaja, 2= no trabaja) y su sueldo (si tiene un
trabajo, sino sera un cero) estar entre 600 y 2000 (valor entero). Los valores pueden ser
generados aleatoriamente. Calcula y muestra lo siguiente:
LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

Porcentaje de hombres (tengan o no trabajo).

Porcentaje de mujeres (tengan o no trabajo).

Porcentaje de hombres que trabajan.

Porcentaje de mujeres que trabajan.

El sueldo promedio de las hombres que trabajan.

EL sueldo promedio de las mujeres que trabajan.

Usa todos los mtodos que veas necesarios, piensa que es aquello que se repite o que puede
ser mejor tenerlo por separado.
Mostrar
Espero que os sea de ayuda. Si tenis dudas, preguntad. Estamos para ayudarte.

peradores lgicos en Java. Igual, distinto, and, or, not, mayor,


menor. Cortocircuito. Prioridades (CU00634B)
Escrito por Alex Rodrguez
Resumen: Entrega n34 del curso "Aprender programacin Java desde cero".
Codificacin aprenderaprogramar.com: CU00634B

OPERADORES LGICOS PRINCIPALES EN JAVA


En Java disponemos de los operadores lgicos habituales en lenguajes de programacin
como son es igual, es distinto, menor, menor o igual, mayor, mayor o igual, and (y), or
(o) y not (no). La sintaxis se basa en smbolos como veremos a continuacin y cabe
destacar que hay que prestar atencin a no confundir == con = porque implican distintas
cosas.

LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

OPERADOR

DESCRIPCIN

==

Es igual

!=

Es distinto

<, <=, >, >=

Menor, menor o igual, mayor, mayor o igual

&&

Operador and (y)

||

Operador or (o)

Operador not (no)


Operadores lgicos principales en Java

El operador || se obtiene en la mayora de los teclados pulsando ALT GR + 1, es decir, la


tecla ALT GR y el nmero 1 simultneamente.
Los operadores && y || se llaman operadores en cortocircuito porque si no se cumple la
condicin de un trmino no se evala el resto de la operacin. Por ejemplo: (a == b && c !
= d && h >= k) tiene tres evaluaciones: la primera comprueba si la variable a es igual a b.
Si no se cumple esta condicin, el resultado de la expresin es falso y no se evalan las
otras dos condiciones posteriores.

LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

En un caso como ( a < b || c != d || h <= k) se evala si a es menor que b. Si se cumple esta


condicin el resultado de la expresin es verdadero y no se evalan las otras dos
condiciones posteriores.
El operador ! recomendamos no usarlo hasta que se tenga una cierta destreza en
programacin. Una expresin como (!esVisible) devuelve false si (esVisible == true), o true
si (esVisible == false). En general existen expresiones equivalentes que permiten evitar el
uso de este operador cuando se desea.

ORDEN DE PRIORIDAD, PRELACIN O PRECEDENCIA


Los operadores lgicos y matemticos tienen un orden de prioridad o precedencia. Este es
un esquema general que indica el orden en que deben evaluarse en la mayora de los
lenguajes de programacin:

LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

Una expresin como A+B == 8 && A-B == 1 siendo A = 3 y B = 5 supondr que se evala
primero A+B que vale 8, luego se evala A-B que vale -2. Luego se evala si se cumple
que la primera operacin es cierta y luego si la segunda tambin es cierta, resultando que
no, por lo que la expresin es falsa.

EJERCICIO
Dadas las variables de tipo int con valores A = 5, B = 3, C = -12 indicar si la evaluacin de
estas expresiones dara como resultado verdadero o falso:
a) A > 3

b) A > C

c) A < C

d) B < C
== 3

e) B != C

f) A

g) A * B == 15
B<A

h) A * B == -30

i) C /

j) C / B == -10
B + C == 5

k) C / B == -4

l) A +

m) (A+B == 8) && (A-B == 2)

n) (A+B == 8) || (A-B == 6)

o) A > 3 && B > 3 && C < 3

p) A > 3 && B >= 3 && C < -3

Para comprobar si es correcta tu solucin puedes consultar en los foros


aprenderaprogramar.com.

LUZ ROJAS VILLALOBOS

COMPUTACION E
INFORMATICA III

Você também pode gostar