Qual a lógica

Estou com um prog mais não estou entedendo sua lógica vou deixa ele aki embaixo

public class AED
{
	public static void main(String args[])
	{
		
        boolean c=false,d=true;
        
        c=!!!!!!!d;
        
        if(c==false)
        System.out.print("Falso\n");
        else
        System.out.print("Verdadeiro\n");
        	
		
	}
	
}

porque da falso…??
se !false:true
!true:false

a lógica que eu vejo é são 7 ! pula o primeiro fica assim false,true,false,true,false,true,false vai ficar false
ou tem outra lógica pra isso…?

c=!!!!!!!d;

Esta instrução atribui à variável booleana c o valor false.

if(c==false)

Esta estrutura if…else verifica se c é igual a false, e como c é igual a false, a condição da estrutura é true, logo a instrução abaixo é executada:

System.out.print("Falso\n");

concordo…

Mais tem 7! ai o valor de c vai ser true…!
c=false–inicia com false depois de 7!
já que ! muda false para true…

vai ficar
true,false,true,false,true,false,true vai acabar true certo…???
não false

O Eddy, vc que tah olhando errado.

d = true;
c=!!!!!!!d; 
// olha soh:
c = not (not (not (not (not (not(not(d)))))));

UHhuhu… tah dando false sô…
vc qu tah olhando errado, não tem como explicar…
ehhehe
Abraço

cara faz assim faz 7 vezes !d e vai imprimindo que você vai ver que ele vai dar false!

for(int i=0; i<7; i++) {
  System.out.println(!d);
}

[quote=“edymrex”]Mais tem 7! ai o valor de c vai ser true…!
c=false–inicia com false depois de 7!
já que ! muda false para true…

vai ficar
true,false,true,false,true,false,true vai acabar true certo…???
não false[/quote]
Seu raciocínio está certo, mas ele está negando o d, que começa true.

Se negou um número ímpar de vezes, vai ficar false.

então vai ficar assim…?

d=true // d é verdadeiro
c=d// c recebe d! já que d e verdadeiro
vai ficando
false,true,false,true,false,true,false// d == false

dai d fica igual a false certo…?? e c recebe d…! e c fica igual a false

por isso e igual a false certo…?

então vai ficar assim…?

d=true // d é verdadeiro
c=d// c recebe d! já que d e verdadeiro
vai ficando
false,true,false,true,false,true,false// d == false

dai d fica igual a false certo…?? e c recebe d…! e c fica igual a false

por isso e igual a false certo…?

isso ai velho como d = true cada “!” mudara ele pra false atribuindo a c o valor como existem 7 false,true,false,true,false,true,false