Explication booléens
Fermé
Trust_28
Messages postés
8
Date d'inscription
jeudi 22 août 2019
Statut
Membre
Dernière intervention
24 janvier 2021
-
Modifié le 16 sept. 2019 à 11:11
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 16 sept. 2019 à 04:40
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 16 sept. 2019 à 04:40
A voir également:
- Explication booléens
- Foyer netflix explication - Accueil - Guide streaming
- Another earth explication fin - Forum Cinéma / Télé
- Paris multiple 2/6 explication - Forum Excel
- The descent 2 explication fin - Forum Cinéma / Télé
- The farm explication fin ✓ - Forum Cinéma / Télé
3 réponses
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
15 sept. 2019 à 08:37
15 sept. 2019 à 08:37
Bonjour,
c'est aussi une façon de s'assurer que la variable ne contienne que ce que tu attends...
Si ta variable doit contenir "vrai" ou "faux" .. il serait dommage qu'elle contienne autre chose ( NULL, 50 ... )
Autrement dit, si tu demandes à quelqu'un :" Aimes tu le Java" .. tu attends une réponse de type "Oui" ou "Non" .. et pas ... "42"
Et puis c'est aussi (et surtout) une question de mémoire..
Un INT utilise 4 bytes
Un BOOLEEN utilise 1 Bit
https://www.w3schools.com/java/java_data_types.asp
.
c'est aussi une façon de s'assurer que la variable ne contienne que ce que tu attends...
Si ta variable doit contenir "vrai" ou "faux" .. il serait dommage qu'elle contienne autre chose ( NULL, 50 ... )
Autrement dit, si tu demandes à quelqu'un :" Aimes tu le Java" .. tu attends une réponse de type "Oui" ou "Non" .. et pas ... "42"
Et puis c'est aussi (et surtout) une question de mémoire..
Un INT utilise 4 bytes
Un BOOLEEN utilise 1 Bit
- 1 Byte = 1 octet = 8 bits
https://www.w3schools.com/java/java_data_types.asp
.
Utilisateur anonyme
Modifié le 15 sept. 2019 à 11:46
Modifié le 15 sept. 2019 à 11:46
Bonjour
on parle de boolean car cela vient de l'algèbre de Bool, du nom du mathématicien anglais qui a décrit "la logique", c'est à dire les relations mathématiques dans un système à 2 états:
vrai / faux est la généralisation des ces 2 états.
L'algèbre de Bool, comme l'algèbre "classique" se repose sur quelques opérations de bases:
Chaque opération dispose de d'une table de vérité, qui décrit son comportement, comme vrai et faux sont longs à écrire et pas universel (chaque langue est différente), faux est représenté par 0 et vrai par 1.
Dans une table de vérité il y a 1 ou des variables d'entrée (a, b, c etc...) et une sortie (s).
La table du Non est
Ou
Et
Ou Exclusif
On peut ensuite combiner ces opération, Non Ou, Non Et, etc....
Pour écrire des équations on se sert de signes mathématiques. Le Non est symbolisé par une barre horizontale au dessus de la variable, le Ou par le signe +, le Et par la multiplication dans toutes ses formes, le Ou Exclusif par un + dans un cercle:
Par exemple
Cet algèbre est fondateur de l'automatisme puis plus tard de l'électronique numérique et donc de l'informatique.
Il est important de connaitre les bases de cet algèbre quand on développe.
on parle de boolean car cela vient de l'algèbre de Bool, du nom du mathématicien anglais qui a décrit "la logique", c'est à dire les relations mathématiques dans un système à 2 états:
- éteint / allumé
- arrêt / marche
- bas / haut
- etc
vrai / faux est la généralisation des ces 2 états.
L'algèbre de Bool, comme l'algèbre "classique" se repose sur quelques opérations de bases:
- Non qui retourne l'état inverse de la valeur d'entrée
- Ou
- Et
- Ou exclusif
Chaque opération dispose de d'une table de vérité, qui décrit son comportement, comme vrai et faux sont longs à écrire et pas universel (chaque langue est différente), faux est représenté par 0 et vrai par 1.
Dans une table de vérité il y a 1 ou des variables d'entrée (a, b, c etc...) et une sortie (s).
La table du Non est
a | s
0 | 1
1 | 0
Ou
a b | s
0 0 | 0
0 1 | 1
1 0 | 1
1 1 | 1
Et
a b | s
0 0 | 0
0 1 | 0
1 0 | 0
1 1 | 1
Ou Exclusif
a b | s
0 0 | 0
0 1 | 1
1 0 | 1
1 1 | 0
On peut ensuite combiner ces opération, Non Ou, Non Et, etc....
Pour écrire des équations on se sert de signes mathématiques. Le Non est symbolisé par une barre horizontale au dessus de la variable, le Ou par le signe +, le Et par la multiplication dans toutes ses formes, le Ou Exclusif par un + dans un cercle:
Par exemple
_ s = ab + cdsignifie (a et b) ou (non(c) et d)
Cet algèbre est fondateur de l'automatisme puis plus tard de l'électronique numérique et donc de l'informatique.
Il est important de connaitre les bases de cet algèbre quand on développe.
Trust_28
Messages postés
8
Date d'inscription
jeudi 22 août 2019
Statut
Membre
Dernière intervention
24 janvier 2021
15 sept. 2019 à 13:42
15 sept. 2019 à 13:42
Si j'ai bien compris toutes les explications que vous me donnez, pour le programme des explications
Si la fonction "boolean réductionPossible" est "true", ça affichera "Réduction!" si "false", ça n'affichera rien car le résultat de "réductionPossible n'est pas bon, c'est ça?
boolean estSenior = (âge >= 60); boolean estJeune = (âge <= 25) && (age >= 12); boolean réductionPossible = (estSenior || estJeune); if (réductionPossible) { println("Réduction!"); }
Si la fonction "boolean réductionPossible" est "true", ça affichera "Réduction!" si "false", ça n'affichera rien car le résultat de "réductionPossible n'est pas bon, c'est ça?
Utilisateur anonyme
>
Trust_28
Messages postés
8
Date d'inscription
jeudi 22 août 2019
Statut
Membre
Dernière intervention
24 janvier 2021
15 sept. 2019 à 15:07
15 sept. 2019 à 15:07
Au détail près que réductionPossible est une variable du type booléen, ce n’est pas une fonction.
Salut, Java est dit un langage "typé" car toutes les variables ou valeurs ont un type définit.
Comme dit précédemment ça permet d'optimiser la gestion de la mémoire et aussi de s'assurer d'avoir le bon 'type' quand on utilise les valeurs. Le cas des booléen est particulier et aussi le plus proche de la 'pensée' de la machine mais admettons que nous attendions un nombre entier utiliser un type int permet d'interdire une valeur décimale, utiliser un chaîne de caractères (string) permet d'éviter d'avoir un nombre etc...
Cela permet d'optimiser un programme en sécurisant les valeurs qui sont admise par le programme et de mieux gérer les ressources nécessaires.
Pour les histoires de Bool(blague d'informaticien!) c'est aussi un schéma logique(dans le sens mathématique) qui est associé aux algorithmes(structure du programme) et à ses embranchements logique; on parle aussi de test logique:
Vrai Faux évaluant une 'expression' ou sa valeur.
C'est très utile de 'penser' en binaire car la programmation n'a que ce mode là de 'réflexion', un programme ne sait déterminer que vrai ou faux et donc toute l'organisation de celui ci est basé sur ce modèle comme évoqué par Whismerhill.
Comme dit précédemment ça permet d'optimiser la gestion de la mémoire et aussi de s'assurer d'avoir le bon 'type' quand on utilise les valeurs. Le cas des booléen est particulier et aussi le plus proche de la 'pensée' de la machine mais admettons que nous attendions un nombre entier utiliser un type int permet d'interdire une valeur décimale, utiliser un chaîne de caractères (string) permet d'éviter d'avoir un nombre etc...
Cela permet d'optimiser un programme en sécurisant les valeurs qui sont admise par le programme et de mieux gérer les ressources nécessaires.
Pour les histoires de Bool(blague d'informaticien!) c'est aussi un schéma logique(dans le sens mathématique) qui est associé aux algorithmes(structure du programme) et à ses embranchements logique; on parle aussi de test logique:
Vrai Faux évaluant une 'expression' ou sa valeur.
C'est très utile de 'penser' en binaire car la programmation n'a que ce mode là de 'réflexion', un programme ne sait déterminer que vrai ou faux et donc toute l'organisation de celui ci est basé sur ce modèle comme évoqué par Whismerhill.
15 sept. 2019 à 10:45
Du coup, si "true" il sera écrit "J'aime Java", si "false" "Je n'aime pas Java". C'est ça?
Le "true" et "false" ne servent qu'à avoir une réponse "vraie" ou "faux"? Une réponse binaire?
15 sept. 2019 à 11:18
Oui.
Booleen = réponse binaire => 1 ou 0 => true ou false
au passage.. renseigne toi sur l'algèbre de Bool
Modifié le 16 sept. 2019 à 04:42
Une petite précision : "Un INT utilise 4 bytes. Un BOOLEEN utilise 1 Bit".
En théorie on pourrait, mais en pratique la JVM fait une conversion des boolean en int (4 octets)
Il y a cependant une optimisation pour les tableaux de booléens où ils sont convertis en byte (1 octet)
Voir Java Virtual Machine Specification