SlideShare una empresa de Scribd logo
MÉTODOS PROCEDIMIENTO (VOID) Y FUNCIÓN (RETURN)
Podemos clasificarlos de la siguiente manera:
a) Métodos tipo función: son métodos que nos devuelven algo. Un método es tipo función si comienza con
un tipo (no consideramos ahora la palabra clave public). Por ejemplo String getDistrito() comienza con el tipo
String lo que significa que nos devuelve una cadena de caracteres, mientras que int getTipoMotor() comienza
con el tipo int lo que significa que nosdevuelve un entero. Teneren cuentaque un método tipo función devuelve
solo un dato u objeto como resultado, no varios. La devolución del resultado se expresa con la palabra clave
return seguida del dato u objeto a devolver, por ejemplo return tipoMotor;. La sentencia return implica que
termina la ejecución delcódigo en el método y estarátípicamente en la línea final. De existir una línea por detrás
de una sentenciareturn, nuncallegaría a ejecutarse (tendremosque matizar esto porque eluso de condicionales
nos permitirá tener más de un return en un método). De forma genérica:
//Comentario descriptivo de qué hace el método
public tipoValorDevuelto nombreDelMétodo (tipo parámetro1, tipo parámetro2…) {
Código del método
return ResultadoQueDevuelveElMétodo;
}
b) Métodos tipo procedimiento: son métodos que realizan ciertas operaciones sin devolver un valor u objeto
concreto. Un método es tipo procedimiento si comienza con la palabra clave void (que traducido del inglés viene
siendo “vacío” o “nulo”). En estos casos podemos decir que el tipo de retorno es void. De forma genérica:
//Comentario descriptivo de qué hace el método
public void nombreDelMétodo (tipo parámetro1, tipo parámetro2…) {
Código del método
}
En general un método con tipo de retorno void no llevará sentencia return, aunque en Java se permite que un
método de este tipo incluya la sentencia return;. Si ocurre esto, la sentencia da lugar a que el método finalice
en ese punto sin ejecutar ninguna línea más de código.
Métodos que solicitan parámetros: son métodosque nospiden algo (uno o varios datosu objetos). Esdecir,
el método para ejecutarse necesita que se le envíe un parámetro de un tipo concreto. Los métodos que solicitan
parámetros se identifican porque en los paréntesis finales incluyen uno o varios términos, por ejemplo (String
valorMatricula) nos indica que el método requiere un parámetro de tipo String. Fíjate que en este caso el
parámetro es un objeto tipo String. En cambio la expresión (int valorTipoMotor) nos indica que el parámetro es
un tipo primitivo int. Un método podría requerir varios parámetros para lo cual se indican separados por comas.
Por ejemplo public int costoivienda (int superficiem2, String zonaCiudad, int calidadesMedias).
Métodos sin parámetros: son métodos que no piden ningún dato u objeto para ejecutarse. Un método sin
parámetros se identifica porque sus paréntesis finales están vacíos. Estos métodos no necesitan recibir
información para ejecutarse.
MÉTODOS CONSULTORES (GET) Y MODIFICADORES (SET)
a) Métodos modificadores: llamamos métodos modificadores a aquellos métodos que dan lugar a un cambio
en el valor de uno o varios de los atributos del objeto.
b) Métodos consultores u observadores: son métodos que devuelven información sobre el contenido de los
atributos del objeto sin modificar los valores de estos atributos.
Cuando se crea una clase es frecuente que lo primero que se haga sea establecer métodos para consultar (de
ahí su denominación de consultores) sus atributos y estos métodos suelen ir prece didos del prefijo
get (getMatricula, getDistrito, etc.) por lo que muchas veces se alude coloquialmente a ellos como “métodos
get” o “getters”.
Se suele proceder de igual forma con métodos que permitan establecer los valores de los atributos. Estos
métodos suelen ir precedidos del prefijo set (setMatricula, setDistrito, etc.) por lo que muchas veces se alude
coloquialmente a ellos como “métodos set” o “setters”. Los métodos set son un tipo de métodos modificadores,
porque cambian el valor de los atributos de un objeto.
OPERADORES LÓGICOS PRINCIPALES EN JAVA
En Java disponemos de los operadores lógicos habituales en lenguajes de programación 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
símbolos como veremos a continuación y cabe destacar que hay que prestar atención a no confundir == con =
porque implican distintas cosas.
El operador || se obtiene en la mayoría de los teclados pulsando ALT GR + 1, es decir, la tecla ALT GR y el
número 1 simultáneamente.
Los operadores && y || se llaman operadores en cortocircuito porque si no se cumple la condición de un
término no se evalúa el resto de la operación. Porejemplo:(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 condición, el resultado de la expresión
es falso y no se evalúan las otras dos condiciones posteriores.
En un caso como ( a < b || c != d || h <= k) se evalúa si a es menor que b. Si se cumple esta condición el
resultado de la expresión es verdadero y no se evalúan las otras dos condiciones posteriores.
El operador ! recomendamos no usarlo hasta que se tenga una cierta destreza en programación. Una expresión
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.
ESTRUCTURA O ESQUEMA DE DECISIÓN EN JAVA. IF ELSE , IF ELSE IF.
La instrucción if … else permite controlar qué procesos tienen lugar, típicamente en función del valor de una o
varias variables, de un valor de cálculo o booleano, o de las decisiones del usuario. La sintaxis a emplear es:
/* Ejemplo Estructura IF - aprenderaprogramar.com */
if (condición) {
instrucciones
} else {
instrucciones
}
Esquemáticamente en forma de diagrama de flujo:
La cláusula else (no obligatoria) sirve para indicar instrucciones a realizar en caso de no cumplirse la condición.
Java admite escribir un else y dejarlo vacío: else { }. El else vacío se interpreta como que contemplamos
el caso pero no hacemos nada en respuesta a él. Un else vacío no tiene ningún efecto y en principio carece de
utilidad, no obstante a veces es usado para remarcar que no se ejecuta ninguna acción cuando se alcanza esa
situación.
Cuando se quieren evaluar distintas condiciones una detrás de otra, se usa la expresión else if { }. En este caso
no se admite elseif todo junto como en otros lenguajes. De este modo, la evaluación que se produce es: si se
cumple la primera condición, se ejecutan ciertas instrucciones; si no se cumple, comprobamos la segunda,
tercera, cuarta… n condición. Si no se cumple ninguna de las condiciones, se ejecuta el else final en caso de
existir.
//if sencillo
if ( admitido == true) { System.out.println ("Se ha admitido el valor"); }
//if else sencillo
if ( admitido == true) {
System.out.println ("Se ha admitido el valor");
} else {
System.out.println ("No se ha admitido el valor");
}
//if con else if y cláusula final else
if (DesplazamientoX == 0 && DesplazamientoY == 1) {
System.out.println ("Se procede a bajar el personaje 1 posición");
}
else if (DesplazamientoX == 1 && DesplazamientoY == 0) {
System.out.println ("Se procede a mover el personaje 1 posición a la derecha"); }
else if (DesplazamientoX == -1 && DesplazamientoY == 0) {
System.out.println ("Se procede a mover el personaje 1 posición a la izquierda");
}
else {
System.out.println ("Los valores no son válidos");
}
Intenta compilar este código en una clase. Para ello declara la clase, declara las variables que intervienen,
inicialízalas en un constructor, e incorpora tres métodos que se correspondan con los tres ejemplos de uso de if
que hemos visto.
La expresión dentro de paréntesis es una expresión booleana. Llamamos expresión booleana a una
expresión que solo tiene dos valores posibles: verdadero (true) o falso (false).
Es importante distinguir la comparación que realizamos con el operador == de la asignación que realizamos con
el operador =. Confundirlos nos generará errores de compilación o problemas de lógica en el código. Recuerda
que siempre que tengas que comparar con un operador, has de usar == en lugar de =.
CONDICIONAL DE SELECCIÓN SWITCH EN JAVA. EJEMPLO DE APLICACIÓN.
La instrucción switch es una forma de expresión de un anidamiento múltiple de instrucciones if ... else. Su uso
no puede considerarse, por tanto, estrictamente necesario, puesto que siempre podrá ser sustituida por el uso
de if. No obstante, a veces nos resultará útil al introducir mayor claridad en el código.
La sintaxis será:
switch (expresión) {
case valor1:
instrucciones;
break;
case valor2:
instrucciones;
break;
.
.
.
default:
sentencias;
break;
}
switch (expresión) {
case valor1:
case valor2:
case valor3:
instrucciones;
break;
case valor4:
instrucciones;
break;
.
.
.
default:
sentencias;
break;
}
La cláusula default es opcional y representa las instrucciones que se ejecutarán en caso de que no se verifique
ninguno de los casos evaluados. El último break dentro de un switch (en default si existe esta cláusula, o en el
último caso evaluado si no existe default) también es opcional, pero lo incluiremos siempre para ser metódicos.
Switch solo se puede utilizar para evaluar ordinales (por ordinal entenderemos en general valores
numéricos enteros o datos que se puedan asimilar a valores numéricos enteros). Por tanto no podemos evaluar
cadenas (String) usando switch porque el compilador nos devolverá un error de tipo “found java.lang.String but
expected int”. Sí se permite evaluar caracteres y lo que se denominan tipos enumerados, que veremos más
adelante. Switch solo permite evaluar valores concretos de la expresión: no permite evaluar intervalos
(pertenencia de la expresión a un intervalo o rango) ni expresiones compuestas. Código de ejemplo:
public void dimeSiEdadEsCritica() {
switch (edad) {
case 0:
System.out.println ("Acaba de nacer hace poco. No ha cumplido el año");
break;
case 18: System.out.println ("Está justo en la mayoría de edad"); break;
case 65: System.out.println ("Está en la edad de jubilación"); break;
default: System.out.println ("La edad no es crítica"); break;
}
}

Más contenido relacionado

PPT
Estructuras de control en Java
PPTX
Sentencias de repetición en Java
PPT
Curso Java Inicial 3 Sentencias De Control De Flujo
PPT
Estructuras De Control
 
PPTX
Estructuras De Control
PDF
Tema 3 sentencias de control de java por gio
PPT
Estructuras de Control
PDF
Estructura de control repetitiva
Estructuras de control en Java
Sentencias de repetición en Java
Curso Java Inicial 3 Sentencias De Control De Flujo
Estructuras De Control
 
Estructuras De Control
Tema 3 sentencias de control de java por gio
Estructuras de Control
Estructura de control repetitiva

La actualidad más candente (20)

PPTX
Estructuras de control
PDF
15 Curso de POO en java - estructuras repetitivas
DOCX
Estructuras repetitivas
PPTX
Estructuras de control
PPT
Estructuras Selectivas y Repetitivas en C++
PPT
ESTRUCTURAS REPETITIVAS
PPT
Diagramas De Flujo
PPT
Estructuras de control
PPTX
4. estructuras selectivas
PPT
Estructuras repetitivas - pseudocodigo
PDF
Estructuras de control
PPSX
Estructura repetitiva
PDF
Lenguaje c
PPT
Scjp Jug Section 2 Flow Control
PDF
Estructuras repetitivas
DOCX
Estructura de control for
PDF
Sentencias de control
PPTX
Estructuras repetitivas for y while
PPT
Instrucciones de control
PPT
Iv unidad estructuras de control
Estructuras de control
15 Curso de POO en java - estructuras repetitivas
Estructuras repetitivas
Estructuras de control
Estructuras Selectivas y Repetitivas en C++
ESTRUCTURAS REPETITIVAS
Diagramas De Flujo
Estructuras de control
4. estructuras selectivas
Estructuras repetitivas - pseudocodigo
Estructuras de control
Estructura repetitiva
Lenguaje c
Scjp Jug Section 2 Flow Control
Estructuras repetitivas
Estructura de control for
Sentencias de control
Estructuras repetitivas for y while
Instrucciones de control
Iv unidad estructuras de control
Publicidad

Destacado (8)

DOC
SeúDocodigo
PPTX
Introducción a Java 2
PPTX
MéTodos En Java
PPTX
MéTodos Java
PPT
5. Metodos Y Parametros
PPTX
Clases en Java y todo lo relacionado
PPT
Constructor Y Destructor
PPTX
Metodos en java
SeúDocodigo
Introducción a Java 2
MéTodos En Java
MéTodos Java
5. Metodos Y Parametros
Clases en Java y todo lo relacionado
Constructor Y Destructor
Metodos en java
Publicidad

Similar a métodos procedimimientos estructuras de control java (20)

PPTX
Estructuras de control de flujo
PDF
Workshop iOS 4: Closures, generics & operators
PPT
Arreglos Expresiones y Control de Flujo
PPTX
Taller algoritmos2
PPT
Sentencia if else
 
DOCX
Http estructa
PPTX
Presentación introducción a Matlab y su estructura
PPTX
Elementos de una programación
PPT
Semana9b Vbr
DOCX
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
PPT
PPT 1er diagrams de flujo 2 unasms ddd.ppt
DOCX
TEMA Nº 8: CONTROL DE EJECUCIÓN Y MANTENIMIENTO DE SESIÓN
PPTX
Comenzando a programar
PDF
Que son los Algoritmo, clasificacion y tipos
DOCX
1.1 palabras reservadas para hacer un pseudocódigo
PPTX
Programación básica
PPTX
Programacion en java_inicio apeuntes para ems
DOC
Taller completo
PPT
Introduccion Java
PDF
Clase No CONCEPTOS DE POO PARA JAVA.04.pdf
Estructuras de control de flujo
Workshop iOS 4: Closures, generics & operators
Arreglos Expresiones y Control de Flujo
Taller algoritmos2
Sentencia if else
 
Http estructa
Presentación introducción a Matlab y su estructura
Elementos de una programación
Semana9b Vbr
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
PPT 1er diagrams de flujo 2 unasms ddd.ppt
TEMA Nº 8: CONTROL DE EJECUCIÓN Y MANTENIMIENTO DE SESIÓN
Comenzando a programar
Que son los Algoritmo, clasificacion y tipos
1.1 palabras reservadas para hacer un pseudocódigo
Programación básica
Programacion en java_inicio apeuntes para ems
Taller completo
Introduccion Java
Clase No CONCEPTOS DE POO PARA JAVA.04.pdf

Más de Henry Upla (20)

PPTX
Técnicas Virtuales ⒽⓈⒽ
PPT
ELEMENTOS BÁSICOS DE LA EXPRESIÓN PLÁSTICA ⒽⓈⒽ
PPTX
Maquinas Virtuales ⒽⓈⒽ
PPT
Sensación y percepción ⒽⓈⒽ
PPT
Procesos cognitivos superiores ⒽⓈⒽ
PPT
Maquina virtual ⒽⓈⒽ
PPT
Inteligencias múltiples ⒽⓈⒽ
PPT
Bases biológicas ⒽⓈⒽ
PPT
Personalidad ⒽⓈⒽ
PPT
Sesión de aprendizaje ⒽⓈⒽ
PPT
Maquinas virtuales ⒽⓈⒽ
DOC
Lectura n° 03 Psicologia ⒽⓈⒽ
DOC
Lectura n° 02 Psicologia ⒽⓈⒽ
DOC
Lectura n° 01 Psicologia ⒽⓈⒽ
PPTX
Filosofía medieval y moderna ⒽⓈⒽ
PPTX
Etapas desarrollo de los 6 a los 12 años ⒽⓈⒽ
PPT
Psicología General ⒽⓈⒽ
PPTX
Caractersticas de niños entre 8 y 10 años
PPT
Bases biologicas
DOCX
Oratoria
Técnicas Virtuales ⒽⓈⒽ
ELEMENTOS BÁSICOS DE LA EXPRESIÓN PLÁSTICA ⒽⓈⒽ
Maquinas Virtuales ⒽⓈⒽ
Sensación y percepción ⒽⓈⒽ
Procesos cognitivos superiores ⒽⓈⒽ
Maquina virtual ⒽⓈⒽ
Inteligencias múltiples ⒽⓈⒽ
Bases biológicas ⒽⓈⒽ
Personalidad ⒽⓈⒽ
Sesión de aprendizaje ⒽⓈⒽ
Maquinas virtuales ⒽⓈⒽ
Lectura n° 03 Psicologia ⒽⓈⒽ
Lectura n° 02 Psicologia ⒽⓈⒽ
Lectura n° 01 Psicologia ⒽⓈⒽ
Filosofía medieval y moderna ⒽⓈⒽ
Etapas desarrollo de los 6 a los 12 años ⒽⓈⒽ
Psicología General ⒽⓈⒽ
Caractersticas de niños entre 8 y 10 años
Bases biologicas
Oratoria

Último (20)

PDF
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
DOCX
Tarea De El Colegio Coding For Kids 1 y 2
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PDF
biología es un libro sobre casi todo el tema de biología
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
V UNIDAD - SEGUNDO GRADO. del mes de agosto
Tarea De El Colegio Coding For Kids 1 y 2
V UNIDAD - PRIMER GRADO. del mes de agosto
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
biología es un libro sobre casi todo el tema de biología
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
Híper Mega Repaso Histológico Bloque 3.pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
Fundamentos_Educacion_a_Distancia_ABC.pdf
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf

métodos procedimimientos estructuras de control java

  • 1. MÉTODOS PROCEDIMIENTO (VOID) Y FUNCIÓN (RETURN) Podemos clasificarlos de la siguiente manera: a) Métodos tipo función: son métodos que nos devuelven algo. Un método es tipo función si comienza con un tipo (no consideramos ahora la palabra clave public). Por ejemplo String getDistrito() comienza con el tipo String lo que significa que nos devuelve una cadena de caracteres, mientras que int getTipoMotor() comienza con el tipo int lo que significa que nosdevuelve un entero. Teneren cuentaque un método tipo función devuelve solo un dato u objeto como resultado, no varios. La devolución del resultado se expresa con la palabra clave return seguida del dato u objeto a devolver, por ejemplo return tipoMotor;. La sentencia return implica que termina la ejecución delcódigo en el método y estarátípicamente en la línea final. De existir una línea por detrás de una sentenciareturn, nuncallegaría a ejecutarse (tendremosque matizar esto porque eluso de condicionales nos permitirá tener más de un return en un método). De forma genérica: //Comentario descriptivo de qué hace el método public tipoValorDevuelto nombreDelMétodo (tipo parámetro1, tipo parámetro2…) { Código del método return ResultadoQueDevuelveElMétodo; } b) Métodos tipo procedimiento: son métodos que realizan ciertas operaciones sin devolver un valor u objeto concreto. Un método es tipo procedimiento si comienza con la palabra clave void (que traducido del inglés viene siendo “vacío” o “nulo”). En estos casos podemos decir que el tipo de retorno es void. De forma genérica: //Comentario descriptivo de qué hace el método public void nombreDelMétodo (tipo parámetro1, tipo parámetro2…) { Código del método } En general un método con tipo de retorno void no llevará sentencia return, aunque en Java se permite que un método de este tipo incluya la sentencia return;. Si ocurre esto, la sentencia da lugar a que el método finalice en ese punto sin ejecutar ninguna línea más de código.
  • 2. Métodos que solicitan parámetros: son métodosque nospiden algo (uno o varios datosu objetos). Esdecir, el método para ejecutarse necesita que se le envíe un parámetro de un tipo concreto. Los métodos que solicitan parámetros se identifican porque en los paréntesis finales incluyen uno o varios términos, por ejemplo (String valorMatricula) nos indica que el método requiere un parámetro de tipo String. Fíjate que en este caso el parámetro es un objeto tipo String. En cambio la expresión (int valorTipoMotor) nos indica que el parámetro es un tipo primitivo int. Un método podría requerir varios parámetros para lo cual se indican separados por comas. Por ejemplo public int costoivienda (int superficiem2, String zonaCiudad, int calidadesMedias). Métodos sin parámetros: son métodos que no piden ningún dato u objeto para ejecutarse. Un método sin parámetros se identifica porque sus paréntesis finales están vacíos. Estos métodos no necesitan recibir información para ejecutarse. MÉTODOS CONSULTORES (GET) Y MODIFICADORES (SET) a) Métodos modificadores: llamamos métodos modificadores a aquellos métodos que dan lugar a un cambio en el valor de uno o varios de los atributos del objeto. b) Métodos consultores u observadores: son métodos que devuelven información sobre el contenido de los atributos del objeto sin modificar los valores de estos atributos. Cuando se crea una clase es frecuente que lo primero que se haga sea establecer métodos para consultar (de ahí su denominación de consultores) sus atributos y estos métodos suelen ir prece didos del prefijo get (getMatricula, getDistrito, etc.) por lo que muchas veces se alude coloquialmente a ellos como “métodos get” o “getters”. Se suele proceder de igual forma con métodos que permitan establecer los valores de los atributos. Estos métodos suelen ir precedidos del prefijo set (setMatricula, setDistrito, etc.) por lo que muchas veces se alude coloquialmente a ellos como “métodos set” o “setters”. Los métodos set son un tipo de métodos modificadores, porque cambian el valor de los atributos de un objeto.
  • 3. OPERADORES LÓGICOS PRINCIPALES EN JAVA En Java disponemos de los operadores lógicos habituales en lenguajes de programación 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 símbolos como veremos a continuación y cabe destacar que hay que prestar atención a no confundir == con = porque implican distintas cosas. El operador || se obtiene en la mayoría de los teclados pulsando ALT GR + 1, es decir, la tecla ALT GR y el número 1 simultáneamente. Los operadores && y || se llaman operadores en cortocircuito porque si no se cumple la condición de un término no se evalúa el resto de la operación. Porejemplo:(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 condición, el resultado de la expresión es falso y no se evalúan las otras dos condiciones posteriores. En un caso como ( a < b || c != d || h <= k) se evalúa si a es menor que b. Si se cumple esta condición el resultado de la expresión es verdadero y no se evalúan las otras dos condiciones posteriores.
  • 4. El operador ! recomendamos no usarlo hasta que se tenga una cierta destreza en programación. Una expresión 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. ESTRUCTURA O ESQUEMA DE DECISIÓN EN JAVA. IF ELSE , IF ELSE IF. La instrucción if … else permite controlar qué procesos tienen lugar, típicamente en función del valor de una o varias variables, de un valor de cálculo o booleano, o de las decisiones del usuario. La sintaxis a emplear es: /* Ejemplo Estructura IF - aprenderaprogramar.com */ if (condición) { instrucciones } else { instrucciones } Esquemáticamente en forma de diagrama de flujo:
  • 5. La cláusula else (no obligatoria) sirve para indicar instrucciones a realizar en caso de no cumplirse la condición. Java admite escribir un else y dejarlo vacío: else { }. El else vacío se interpreta como que contemplamos el caso pero no hacemos nada en respuesta a él. Un else vacío no tiene ningún efecto y en principio carece de utilidad, no obstante a veces es usado para remarcar que no se ejecuta ninguna acción cuando se alcanza esa situación. Cuando se quieren evaluar distintas condiciones una detrás de otra, se usa la expresión else if { }. En este caso no se admite elseif todo junto como en otros lenguajes. De este modo, la evaluación que se produce es: si se cumple la primera condición, se ejecutan ciertas instrucciones; si no se cumple, comprobamos la segunda, tercera, cuarta… n condición. Si no se cumple ninguna de las condiciones, se ejecuta el else final en caso de existir. //if sencillo if ( admitido == true) { System.out.println ("Se ha admitido el valor"); } //if else sencillo if ( admitido == true) { System.out.println ("Se ha admitido el valor"); } else { System.out.println ("No se ha admitido el valor"); } //if con else if y cláusula final else
  • 6. if (DesplazamientoX == 0 && DesplazamientoY == 1) { System.out.println ("Se procede a bajar el personaje 1 posición"); } else if (DesplazamientoX == 1 && DesplazamientoY == 0) { System.out.println ("Se procede a mover el personaje 1 posición a la derecha"); } else if (DesplazamientoX == -1 && DesplazamientoY == 0) { System.out.println ("Se procede a mover el personaje 1 posición a la izquierda"); } else { System.out.println ("Los valores no son válidos"); } Intenta compilar este código en una clase. Para ello declara la clase, declara las variables que intervienen, inicialízalas en un constructor, e incorpora tres métodos que se correspondan con los tres ejemplos de uso de if que hemos visto. La expresión dentro de paréntesis es una expresión booleana. Llamamos expresión booleana a una expresión que solo tiene dos valores posibles: verdadero (true) o falso (false). Es importante distinguir la comparación que realizamos con el operador == de la asignación que realizamos con el operador =. Confundirlos nos generará errores de compilación o problemas de lógica en el código. Recuerda que siempre que tengas que comparar con un operador, has de usar == en lugar de =. CONDICIONAL DE SELECCIÓN SWITCH EN JAVA. EJEMPLO DE APLICACIÓN. La instrucción switch es una forma de expresión de un anidamiento múltiple de instrucciones if ... else. Su uso no puede considerarse, por tanto, estrictamente necesario, puesto que siempre podrá ser sustituida por el uso de if. No obstante, a veces nos resultará útil al introducir mayor claridad en el código. La sintaxis será: switch (expresión) { case valor1:
  • 7. instrucciones; break; case valor2: instrucciones; break; . . . default: sentencias; break; } switch (expresión) { case valor1: case valor2: case valor3: instrucciones; break; case valor4: instrucciones; break; . . . default:
  • 8. sentencias; break; } La cláusula default es opcional y representa las instrucciones que se ejecutarán en caso de que no se verifique ninguno de los casos evaluados. El último break dentro de un switch (en default si existe esta cláusula, o en el último caso evaluado si no existe default) también es opcional, pero lo incluiremos siempre para ser metódicos. Switch solo se puede utilizar para evaluar ordinales (por ordinal entenderemos en general valores numéricos enteros o datos que se puedan asimilar a valores numéricos enteros). Por tanto no podemos evaluar cadenas (String) usando switch porque el compilador nos devolverá un error de tipo “found java.lang.String but expected int”. Sí se permite evaluar caracteres y lo que se denominan tipos enumerados, que veremos más adelante. Switch solo permite evaluar valores concretos de la expresión: no permite evaluar intervalos (pertenencia de la expresión a un intervalo o rango) ni expresiones compuestas. Código de ejemplo: public void dimeSiEdadEsCritica() {
  • 9. switch (edad) { case 0: System.out.println ("Acaba de nacer hace poco. No ha cumplido el año"); break; case 18: System.out.println ("Está justo en la mayoría de edad"); break; case 65: System.out.println ("Está en la edad de jubilación"); break; default: System.out.println ("La edad no es crítica"); break; } }