Melloras / correccións
Acceso rápido:
Este vídeo mostra Como usar o tipo booleano en Java. Proponse unha comparativa coa sintaxe C.
Uso de O tipo booleano
O tipo booleano é un tipo que define dous estados: o verdadeiro estado eo estado incorrecto. As palabras clave asociadas son, por suposto, boolean
true
(o estado correcto) e false
(o falso estado).
Algúns idiomas de programación, incluído o idioma C, non definiron un tipo booleano e proporcionan, no seu lugar, use o tipo int
ao considerar que 0
está asociado co falso estado e que calquera outro valor estará asociado co verdadeiro estado. Nestas linguas, é común atopar loops infinitos introducidos polo seguinte código: while( 1 ) { /* du code */ }
. Como 1
é certo, o while
(bucle “mentres”) converterase indefinidamente. Por suposto, esta posibilidade non se ofrece en Java e facer un loop infinito, será necesario usar o seguinte código.
1 2 3 4 5 6 7 8 9 10 11 |
public class Demo { public static void main( String args ) { while ( true ) { // Do something } }} |
Un número de operadores Calcula resultados booleanos: é, por exemplo, o caso dos operadores de comparación (==
!=
<
<=
, …) Do mesmo xeito, algunhas instrucións están á espera das expresións booleanas: a instrución if
usa unha condición booleana para executar ou non un tratamento. Este tamén é o caso da instrución while
que executará un ciclo mentres a condición booleana asociada será verdadeira. Aquí hai un pequeno exemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
public class Demo { public static void main( String args ) { boolean debug = true; System.out.println( "Normal display" ); if ( debug ) { System.out.println( "Debug display" ) ; } int i =10; while( i < 0 ) { System.out.println( "i == " + i ); i--; } }} |
operadores de lóxica
Os operadores lóxicos traballan en operandos booleanos. Hai tres operadores lóxicos.
-
O operador
&&
: permite facer unha lóxica “e”. Nótese que se o operando esquerdo é avaliado enfalse
, entón non se avaliará o segundo operando (dereito do operador) e o operador devolveráfalse
. -
O operador
||
: permite facer unha lóxica “ou”. Nótese que se o operando esquerdo é avaliado entrue
, entón non se avaliará o segundo operando (dereito do operador) e o operador devolverátrue
. -
O operador
!
: permite facer unha lóxica “non”.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
public class Demo { public static void main(String args) { boolean state1 = true; System.out.println( "state1 == " + state1 ); boolean state2 = false; System.out.println( "state2 == " + state2 ); // --- Opérateurs booléens : && (and) || (or) ! (not) --- if ( state1 && state2 ) { System.out.println( "Les deux variables sont initialisées à true" ); } if ( state1 || state2 ) { System.out.println( "L'une des deux variables est initialisée à true" ); } if ( state1 == false ) { // if ( state1 == false ) { System.out.println( "state1 est initialisée à false"); } if ( ! state2 ) { // if ( state2 == false ) { System.out.println( "state2 est initialisée à false"); } }} |
Para probar a non puntuación do operando dereito dun &&
ou ||
, propoño que busque este programa.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
public class Demo { public static void main(String args) { String str = null; double randomValue = Math.random(); // valeur aléatoire entre args) { String str = null; double randomValue = Math.random(); // valeur aléatoire entre [0..1[ if ( randomValue > 0.33 ) { if ( randomValue > 0.66 ) { str = "Une chance sur trois"; } else { str = ""; } } if ( str == null || str.trim().equals( "" ) ) { System.out.println( "str cannot be null or empty" ); } else { System.out.println( "Ok" ); } }} |