Anda di halaman 1dari 8

La declaración de

La fordeclaración proporciona una forma compacta de iterar sobre un rango de


valores. Los programadores a menudo se refieren a él como el "bucle for"
debido a la forma en que se repite repetidamente hasta que se cumple una
condición particular. La forma general de la fordeclaración se puede expresar
de la siguiente manera:

para ( inicialización ; terminación ;


incremento ) {
enunciado (s)
}

Cuando use esta versión de la fordeclaración, tenga en cuenta que:

 La inicialización expresión inicializa el bucle; Se ejecuta una vez,


como comienza el bucle.
 Cuando la expresión de terminación se evalúa como false, el bucle
termina.
 La expresión de incremento se invoca después de cada iteración a
través del bucle; es perfectamente aceptable que esta expresión
incremente o disminuya un valor.

El siguiente programa ForDemo,, utiliza la forma general de la fordeclaración


para imprimir los números del 1 al 10 en la salida estándar:

clase ForDemo {
public static void main (String [] args) {
para (int i = 1; i <11; i ++) {
System.out.println ("Count is:" + i);
}
}
}

La salida de este programa es:

Cuenta es: 1
Cuenta es: 2
Cuenta es: 3
Cuenta es: 4
Cuenta es: 5
Cuenta es: 6
Cuenta es: 7
Cuenta es: 8
Cuenta es: 9
Cuenta es: 10

Observe cómo el código declara una variable dentro de la expresión de


inicialización. El alcance de esta variable se extiende desde su declaración
hasta el final del bloque gobernado por la fordeclaración, por lo que también se
puede usar en las expresiones de terminación e incremento. Si la variable que
controla una fordeclaración no es necesaria fuera del bucle, es mejor declarar
la variable en la expresión de inicialización. Los nombres i, jy kse utilizan a
menudo para controlar los forbucles; declararlos dentro de la expresión de
inicialización limita su vida útil y reduce los errores.

Las tres expresiones del forbucle son opcionales; Un bucle infinito se puede
crear de la siguiente manera:

// Bucle infinito
para ( ; ; ) {

// tu código va aquí
}

La fordeclaración también tiene otra forma diseñada para la iteración a través


de colecciones y matrices. A esta forma a veces se la conoce como
la declaración mejorada , y se puede usar para hacer que sus bucles sean más
compactos y fáciles de leer. Para demostrarlo, considere la siguiente matriz,
que contiene los números del 1 al 10:

int [] números = {1,2,3,4,5,6,7,8,9,10}};

El siguiente programa EnhancedForDemo,, utiliza el mejorado forpara recorrer la


matriz:

clase EnhancedForDemo {
public static void main (String [] args) {
int [] numbers =
{1,2,3,4,5,6,7,8,9,10};
para (artículo int: números) {
System.out.println ("Count is:" + item);
}
}
}

En este ejemplo, la variable itemmantiene el valor actual de la matriz de


números. La salida de este programa es la misma que antes:

Cuenta es: 1
Cuenta es: 2
Cuenta es: 3
Cuenta es: 4
Cuenta es: 5
Cuenta es: 6
Cuenta es: 7
Cuenta es: 8
Cuenta es: 9
Cuenta es: 10

Recomendamos utilizar este formulario de la fordeclaración en lugar del


formulario general siempre que sea posible.

Bifurcaciones
La breakdeclaracion

La breakdeclaración tiene dos formas: etiquetada y sin etiqueta. Usted vio la


forma sin etiqueta en la discusión anterior de la switchdeclaración. También
puede utilizar un sin etiqueta breakpara terminar una for, whileo do-
whilebucle, como se muestra en el siguiente BreakDemoprograma:

clase BreakDemo {
public static void main (String [] args) {

int [] arrayOfInts =
{32, 87, 3, 589,
12, 1076, 2000,
8, 622, 127};
int searchfor = 12;

int i;
boolean foundIt = falso;

para (i = 0; i <arrayOfInts.length; i ++) {


if (arrayOfInts [i] == searchfor) {
foundIt = true;
descanso;
}
}

if (foundIt) {
System.out.println ("Found" + searchfor + "at index" + i);
} else {
System.out.println (searchfor + "no está en la matriz");
}
}
}

Este programa busca el número 12 en una matriz. La breakdeclaración, que se


muestra en negrita, termina el forbucle cuando se encuentra ese valor. El flujo
de control luego se transfiere a la instrucción después del forbucle. La salida
de este programa es:

12 encontrados en el índice 4

Un no marcado breakdeclaración termina la más interior switch, for, while,


o do-whiledeclaración, pero una etiqueta breaktermina una instrucción
externa. El siguiente programaBreakWithLabelDemo,, es similar al programa
anterior, pero utiliza forbucles anidados para buscar un valor en una matriz
bidimensional. Cuando se encuentra el valor, una etiqueta breaktermina
el forbucle externo (etiquetado "buscar"):

clase BreakWithLabelDemo {
public static void main (String [] args) {

int [] [] arrayOfInts = {
{32, 87, 3, 589},
{12, 1076, 2000, 8},
{622, 127, 77, 955}
};
int searchfor = 12;

int i;
int j = 0;
boolean foundIt = falso;

buscar:
para (i = 0; i <arrayOfInts.length; i ++) {
para (j = 0; j <arrayOfInts [i] .length;
j ++) {
if (arrayOfInts [i] [j] == searchfor) {
foundIt = true;
búsqueda de rupturas
}
}
}

if (foundIt) {
System.out.println ("Found" + searchfor + "at" + i + "," +
j);
} else {
System.out.println (searchfor + "no está en la matriz");
}
}
}

Esta es la salida del programa.

Encontrado 12 a 1, 0

La breakdeclaración termina la declaración etiquetada; No transfiere el flujo de


control a la etiqueta. El flujo de control se transfiere a la declaración
inmediatamente después de la declaración etiquetada (terminada).

La continuedeclaracion

La continuedeclaración se salta la iteración actual de una for, whileo do-


whilebucle. La forma sin etiqueta salta al final del cuerpo del bucle más interno
y evalúa la booleanexpresión que controla el bucle. El siguiente
programa, ContinueDemopaso a través de a String, contando las ocurrencias de
la letra "p". Si el carácter actual no es ap, la continueinstrucción omite el resto
del bucle y continúa con el siguiente carácter. Si es una "p", el programa
incrementa el número de letras.

clase ContinueDemo {
public static void main (String [] args) {

String searchMe = "peter piper escogió un" + "picoteo de


pimientos en escabeche";
int max = searchMe.length ();
int numPs = 0;

para (int i = 0; i <max; i ++) {


// interesado solo en p's
si (searchMe.charAt (i)! = 'p')
continuar;

// procesar p
numPs ++;
}
System.out.println ("Found" + numPs + "p's en la cadena.");
}
}

Aquí está la salida de este programa:

Encontrado 9 p en la cadena.

Para ver este efecto con mayor claridad, intente eliminar


la continuedeclaración y volver a compilar. Cuando vuelva a ejecutar el
programa, el conteo será incorrecto, diciendo que encontró 35 p en lugar de 9.

Una continuedeclaración etiquetada omite la iteración actual de un bucle


externo marcado con la etiqueta dada. El siguiente programa de
ejemplo ContinueWithLabelDemo,, utiliza bucles anidados para buscar una
subcadena dentro de otra cadena. Se requieren dos bucles anidados: uno para
iterar sobre la subcadena y otro para iterar sobre la cadena que se está
buscando. El siguiente programaContinueWithLabelDemo,, utiliza la forma
etiquetada de continuar para omitir una iteración en el bucle externo.

clase ContinueWithLabelDemo {
public static void main (String [] args) {

String searchMe = "Busca una subcadena en mí";


String subcadena = "sub";
boolean foundIt = falso;

int max = searchMe.length () -


substring.length ();

prueba:
para (int i = 0; i <= max; i ++) {
int n = substring.length ();
int j = i;
int k = 0;
mientras que (n--! = 0) {
if (searchMe.charAt (j ++)! = substring.charAt (k ++))
{
continuar la prueba
}
}
foundIt = true;
prueba de rotura
}
System.out.println (foundIt? "Found it": "No lo encontré");
}
}

Aquí está la salida de este programa.

Lo encontré
La returndeclaracion

La última de las declaraciones de ramificación es


la returndeclaración. La returninstrucción sale del método actual y el flujo de
control vuelve a donde se invocó el método. La returndeclaración tiene dos
formas: una que devuelve un valor y otra que no. Para devolver un valor,
simplemente coloque el valor (o una expresión que calcule el valor) después de
la returnpalabra clave.

return ++ cuenta;

El tipo de datos del valor devuelto debe coincidir con el tipo del valor de retorno
declarado del método. Cuando se declara un método void, use la forma
de returnque no devuelve un valor.

regreso;

La lección Clases y objetos cubrirá todo lo que necesita saber sobre los
métodos de escritura.

«Anterior • Sendero • Siguiente»

Acerca de Oracle | Contactanos | Avisos legales | Términos de uso | Sus derechos de privacidad

Copyright © 1995, 2017 Oracle y / o sus afiliados. Todos los derechos reservados.

Anidados para bucles. Todo tipo de bucles pueden ser


anidados. Cuando usamos una instrucción break o continue
con un bucle anidado, solo se ve afectado el bucle más
interno.
Sin embargo:una declaración de retorno saldrá de todos los
bucles en el método actual. A veces se necesitan variables de
bandera de tipo booleano.
Programa Java que usa bucles for anidados.

programa público de clase {


public static void main (String [] args) {

// Usar bucles forados anidados.


para (int i = 0; i <3; i ++) {
para (int y = 0; y <3; y ++) {
System.out.println (i + "," + y);
}
}
}
}

Salida

0,0
0,1
0,2
1,0
1,1
1,2
2,0
2,1
2,2

Programa Java que reutiliza la variable de iteración.

programa público de clase {


public static void main (String [] args) {

int x = 0;
// Se pueden omitir partes del for-loop.
// ... Aquí no usamos ninguna declaración de
variable en la declaración for.
para (; x <3; x ++) {
System.out.println (x);
}
System.out.println ( "¡x aún es accesible!" );
System.out.println (x);
}
}

Salida
0
1
2
x sigue siendo accesible!
3

https://www.dotnetperls.com/for-java

https://www.youtube.com/watch?v=nM4RppH5SI4

Anda mungkin juga menyukai