Duvida na seguinte situação do boolean

5 respostas
V

Galera eu estava comecando a estudar, ai cai na parte dos operadores relacionais a seguinte situação:

int valor = 2 boolean t = false t = (valor == 2); // t = true t = (valor != 2); // t = false t = (valor < 2); // t = false t = (valor <= 2); // t = true t = (valor > 2); // t = true t = (valor => 2); // t = true

não entendo uma coisa, o t me retorna se ele e verdadeiro ou falso dependendo da relação o operador, agora, porque declaro o t como false primeiramente?

5 Respostas

fredericomaia10

É apenas uma inicialização da variável.

Normalmente inicializamos com o valor padrão do tipo primitivo, no caso do boolean é false, int é 0 e por aí vai.
Você poderia deixá-lo sem inicializar neste exemplo, não teria problema. Pode ocorrer um erro caso você não inicialize a variável e tente a utilizar sem definir um valor. Por exemplo:

boolean t; System.out.println(t);

charleston10

fredericomaia10:
É apenas uma inicialização da variável.

Normalmente inicializamos com o valor padrão do tipo primitivo, no caso do boolean é false, int é 0 e por aí vai.
Você poderia deixá-lo sem inicializar neste exemplo, não teria problema. Pode ocorrer um erro caso você não inicialize a variável e tente a utilizar sem definir um valor. Por exemplo:

boolean t; System.out.println(t);

Não iria ocorrer nenhum erro nesse caso, “caso nao declarasse um valor inicial”,
por padrão qualquer tipo booleano inicializa com valor False…

Por que o programador quis fazer assim, assim como se vc quisesse iniciar como true vc inicia… valor de inicialização de variável não se discute é o programador que faz…

ViniGodoy
charleston10:
por padrão qualquer tipo booleano inicializa com valor False..

Nem todo, apenas propriedades tem seu valor inicializado automaticamente. Variáveis locais não.

Se você tentar rodar esse programa:
import java.io.IOException;

public class Teste {
    public static void main(String[] args) throws IOException {
        boolean t;
        System.out.println(t);
    }
}
Dará o erro de:
The local variable t may not have been initialized
	at Teste.main(Teste.java:6)
fredericomaia10
ViniGodoy:
charleston10:
por padrão qualquer tipo booleano inicializa com valor False..

Nem todo, apenas propriedades tem seu valor inicializado automaticamente. Variáveis locais não.

Se você tentar rodar esse programa:
import java.io.IOException;

public class Teste {
    public static void main(String[] args) throws IOException {
        boolean t;
        System.out.println(t);
    }
}
Dará o erro de:
The local variable t may not have been initialized
	at Teste.main(Teste.java:6)

Exatamente.

;]

V

Obrigado pessoal, entendi agora :3

Criado 13 de janeiro de 2013
Ultima resposta 19 de jan. de 2013
Respostas 5
Participantes 4