Pipe (|) de l'opérateur en Java

J'ai cette déclaration en Java:

System.out.println(3|4); 

Pourquoi la sortie 7?

  • De quoi vous attendiez-vous? Et pourquoi?
  • Le but de l'opérateur de la notation dans les langages de programmation est de rendre possible l'utilisation de la même notation dans nos programmes que nous utilisons dans le reste de notre vie. La barre verticale signifie généralement est divisible par, alors que je ne peux pas parler pour l'OP, j'ai moi-même attendez à ce que le résultat de 3|4 être false et pas 7 et je soupçonne que c'est à peu près tout le monde qui a pris des mathématiques à l'école secondaire m'attends à la même chose.
  • Ici dans les etats-unis, où de Java, a été spec'd, une barre verticale n'a rien à voir avec la division. Nous utilisons des barres horizontales (parfois avec des points ci-dessus et ci-dessous) et sur les rares occasions une barre oblique. Jamais une ligne verticale.
  • Je pensais que c'est un peu l'allemand idiosyncrasie, mais en regardant de plus près, peut-être pas: en.wikipedia.org/wiki/Vertical_bar#Mathematics (cherchez "divisibilité"). Mais ce n'est certainement pas un profane du symbole mathématique soit. 🙂
  • Le but de l'opérateur | est ce que la spécification du langage dit qu'il est. Ne pas répondre à vos attentes.
  • merci pour le lien. Intéressant article de wikipédia. J'ai oublié de tuyaux pour les valeurs absolues. Environ la moitié des trucs listés mais qui est totalement faux pour l'usage commun (au moins dans le moyen-orient partie des etats-unis)! 🙂

InformationsquelleAutor bentham | 2010-07-22