работа типа boolean

Значение переменой типа boolean по умолчанию false, но в консоль выводится "AD", почему так происходит ?

public class Main {
 public static void main (String[] args) {
    boolean x;
    if (x = true) System.out.print("A");
    else
        if (x) System.out.print("B");
     if(!x) System.out.print("C");
     else System.out.print("D");
     }
 }

Ответы (2 шт):

Автор решения: Sergey Gornostaev

Потому что присваивание и сравнение - это разные операции.

→ Ссылка
Автор решения: MZaytsev

Исправьте эту строку: if (x = true) System.out.print("A"); на эту: if (x == true) System.out.print("A");.

== проверяет равна ли переменная x, true. А вот = присваивает переменной x значение true

→ Ссылка