Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Diferença entre '&' e '&&'

Estou fazendo o seguindo programa. Minha dúvida é, qual é a diferença em se usar '&' e '&&' nas condições? Pois fiz os testes aqui, e o comportamento, me parece ser igual.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Votando
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int idade = 16;
            bool brasileira = false;

            // Uma pessoa só pode votar em eleições brasileiras se ela for maior ou igual a 16 anos
            // e for cidadã brasileira

            if ( idade >= 16 & brasileira == true)
            {
                MessageBox.Show("Pode votar");
            } else
            {
                MessageBox.Show("Não Pode votar!");
            }


        }
    }
}

insira seu código aqui


1 resposta
solução!

Olá, Andre, Tudo bem?

A diferença é que "&" tem sentido de operação binária.

int a = 60; // Em binário, 60 é 0011 1100
int b = 13; // Em binário, 13 é 0000 1101
int c = a & b; // Complicado, mas quando os dois dígitos forem 1, o resultado será 1, se não será 0. Ou seja, "c" dará 0000 1100, que é 12.

Já o sinal "&&" tem o significado de "também" ou "e", ou seja, é uma comparação.

if (10 == 10 && 6 > 9) {
    // Se 10 seja igual a 10 E 6 for maior que 9, execute uma ação dentro do bloco de código.
}

Logo, utilize o "&&" pois tem o sentido de "também".

Saiba mais em: https://pt.stackoverflow.com/questions/61296/qual-a-diferença-e-para-que-servem-os-operadores-e-e-e-em-java

Caso minha resposta tenha tirado a sua dúvida, não esquece de marcar como solução!

Atenciosamente,

Maximiliano Veiga.